TLS Features in Oracle Database

TLS secures connections between the Oracle Database client and server. Starting with Oracle Database 19.32, Oracle Database 19c supports both the next-generation cryptographic provider and the legacy provider as cryptographic providers. Though the legacy provider remains the default provider, Oracle recommends that you switch to the next-generation cryptographic provider for TLS 1.3, FIPS 140-3 compliance, post-quantum cryptography (PQC) algorithms, and hybrid key exchange groups. For information on why and how to switch cryptographic providers see Why TLS Modernization Matters and Switching the Cryptographic Provider for Oracle Database 19c.

The database client and server can be configured to use TLS depending on your requirements. There are several options to consider which are mentioned below. Configuring a client-server TLS connection requires the database server to have a wallet. The server wallet includes the private key, the signed user certificate, the root of trust certificate and any intermediate certificates for the database server user certificate.

The TLS wallet on the database server must be stored under the WALLET_ROOT location. Create a directory for TLS under WALLET_ROOT, so it looks like WALLET_ROOT/<PDB GUID>/tls. Each container (including CDB root) will have its own TLS wallet, there’s no configuration to have a single wallet work for more than one or all containers when using WALLET_ROOT.

How TLS Network Encryption Works

When a client initiates a TCPS (Transmission Control Protocol Secured) connection, the client, listener, and database server participate in the TLS path as follows:

  1. The client connects to the listener over tcps.
  2. The TLS handshake starts before database user authentication.
  3. The endpoints negotiate a common TLS version and cipher suite.
  4. The server presents its certificate. The client validates the certificate chain and applies DN matching rules if DN matching is enabled.
  5. If mutual TLS is required, the client also presents its certificate and the server validates it.
  6. After the TLS session is established, Oracle Database performs database user authentication by the configured database method.
  7. Application data then travels inside the negotiated encrypted TLS session.

The key operational point is that TLS certificate authentication and database user authentication are related but separate layers. A correct TLS deployment protects the transport path. Database access still depends on the configured database authentication and authorization model.

Self-Signed Certificate vs. CA-Signed Certificate

Choose the trust model before configuring the listener or client.

One-Way TLS vs. Mutual TLS

Use TLS_CLIENT_AUTHENTICATION to control the behavior.

To allow one-way TLS connections, set TLS_CLIENT_AUTHENTICATION to FALSE or OPTIONAL in both the server sqlnet.ora file and the listener listener.ora file. Use FALSE when you want to permit only one-way TLS.

For mTLS, configure the client to send its certificate and configure the server and listener to require or accept client certificates. If TLS_CLIENT_AUTHENTICATION is set to FALSE on the client, then the client does not send its certificate. If the server requires client authentication, then the connection fails.

TLS With or Without a Client Wallet

A client wallet is required only when the client must present a certificate from an Oracle wallet for mTLS. A client that uses Microsoft Certificate Store (MCS) can present its certificate without an Oracle client wallet. A client wallet can also store a private or self-signed CA root when the system certificate store cannot be used.

A client can use one-way TLS without an Oracle wallet when all of the following apply:

Using the system certificate store reduces wallet distribution and renewal work for large client estates.

Certificate DN Matching

DN matching verifies that a valid certificate belongs to the server the client intended to reach. Without DN matching, a certificate signed by a trusted CA may be accepted even if it identifies a different server.

For partial matching, set TLS_SERVER_DN_MATCH=TRUE in the client sqlnet.ora file or in the connect descriptor in tnsnames.ora:

TLS_SERVER_DN_MATCH=TRUE

The client compares the connect descriptor HOST value with certificate identity fields such as the common name and subject alternative names. For full matching, set the expected DN only in the connect descriptor in tnsnames.ora or the connection string:

(SECURITY=
  (TLS_SERVER_DN_MATCH=TRUE)
  (TLS_SERVER_CERT_DN="CN=db.example.com,O=Example,C=US"))

Full DN matching validates the configured DN against the certificate in the listener wallet and is independent of the certificate in the database server wallet. For partial DN matching, the certificate CN must match the connect descriptor HOST value, and the corresponding certificate configuration must be present in both the listener and database server wallets. Establish basic TLS first, and then enable DN matching.

Post-Quantum Cryptography

Determine if using post-quantum cryptography (PQC) is appropriate for your database configuration.

Post-Quantum Cryptography (PQC), also known as quantum-resistant or quantum-safe cryptography, is a new class of cryptographic algorithms designed to be secure against attacks by future, large-scale quantum computers.

Current widely used asymmetric-key cryptographic methods, such as RSA and Elliptic Curve Cryptography (ECC), rely on mathematical problems that are computationally difficult for classical computers to solve. However, a sufficiently powerful quantum computer, using algorithms like Shor’s algorithm, could easily break these systems, compromising the security of sensitive data.

PQC algorithms are based on different mathematical problems—such as those related to lattices, hash functions, or codes—that are believed to be difficult for both classical and quantum computers to solve. The transition to PQC is a critical, proactive measure to protect long-term data, such as medical records and intellectual property, from being harvested today and decrypted in the future once a quantum computer becomes available.

Oracle Database supports the use of two PQC algorithms standardized by the National Institute of Standards and Technology (NIST): ML-KEM and ML-DSA.

See Configuring Post-Quantum Cryptography and Post-Quantum Cryptography Reference for detailed information about PQC algorithms, configuration, and FIPS mode interaction.