How to use Vaults and Wallets for simple, secure connectivity to Oracle DB in Java, JavaScript, Python, .NET, Go, Helidon, and Micronaut

This is the third in a series of blogs on data-driven microservices design mechanisms and transaction patterns with the Oracle converged database. The illustrated how to connect to an Oracle database in Java, JavaScript, Python, .NET, and Go as succinctly as possible. The second blog illustrated how to use that connection to receive and send messages with Oracle AQ (Advanced Queueing) queues and topics and conduct an update and read from the database using all of these same languages.  The goal of this third blog is to provide details on how to secure connections in these same languages as well as convenience integration features that are provided by microservice frameworks, specifically Helidon and Micronaut.

Oracle Wallet is a container that stores authentication and signing credentials, providing mutual TLS authentication (all communications between the client and the server are encrypted), and is a requirement for connecting to the Oracle Autonomous Databases unless One-way TLS is used.

It is now also possible to connect to ADB (Oracle Autonomous databases) using one-way TLS which does not require a wallet. This is enabled in three steps:

  1. If the instance is configured to operate over the public internet, then one or more Access Control Lists (ACLs) must be defined on the serverside (under Network section of the database details page of the OCI console).