The driver supports Oracle Wallet SSL authentication, which was introduced in Oracle 11.1.0.6. When Oracle Wallet SSL Authentication is enabled, SSL certificates are authenticated against a list of trusted certificates stored in the wallet. Refer to the documentation for your Oracle database for detailed information on the Oracle Wallet feature.

To enable Oracle Wallet SSL authentication:

  • Enable SSL (EncryptionMethod=ssl).
  • Set the Authentication Method connection property:
    • If a user ID or password is not required, set to ssl.
    • If a user ID or password is required, set to sslUIDPassword.
  • Set the KeyStore property to specify the absolute path of the keystore file in your wallet that contains the SSL certificate information.
  • Optionally, if you are using a file in the PKCS#12 format, set the KeyStorePassword property to specify the password if required by your environment.
  • Set the TrustStore property to specify the absolute path of the truststore file in your wallet that contains the SSL certificate information.
  • Optionally, if you are using a file in the PKCS#12 format, set the TrustStorePassword property to specify the password if required by your environment.
  • If a user ID and password is required (AuthenticationMethod=sslUIDPassword), specify the corresponding value for the User and Password properties.

For example, for connections that do not require a user ID and password:

Connection conn = DriverManager.getConnection 
("jdbc:datadirect:oracle://server3:1521;SID=ASC;encryptionMethod=ssl;
authenticationMethod=SSL;keystore=.\wallets\keystore.p12;
keystorePassword=Passw0rd");

For connections that require a user ID and password:

Connection conn = DriverManager.getConnection 
("jdbc:datadirect:oracle://server3:1521;SID=ASC;User=test;
Password=secret;encryptionMethod=ssl;authenticationMethod=sslUIDPassword");
keystore=.\wallets\keystore.p12;keystorePassword=Passw0rd
Note: When Oracle Wallet SSO is used as the keystore or truststore, the KeyStorePassword and TrustStorePassword properties are not required.