diff --git a/ojdbc-provider-oci/pom.xml b/ojdbc-provider-oci/pom.xml index 4f232a5b..7df227cf 100644 --- a/ojdbc-provider-oci/pom.xml +++ b/ojdbc-provider-oci/pom.xml @@ -18,7 +18,7 @@ com.oracle.oci.sdk oci-java-sdk-bom - 3.48.0 + 3.83.0 pom import diff --git a/ojdbc-provider-oci/src/main/java/oracle/jdbc/provider/oci/configuration/OciDatabaseToolsConnectionProvider.java b/ojdbc-provider-oci/src/main/java/oracle/jdbc/provider/oci/configuration/OciDatabaseToolsConnectionProvider.java index bca4a1b5..45c3d90c 100644 --- a/ojdbc-provider-oci/src/main/java/oracle/jdbc/provider/oci/configuration/OciDatabaseToolsConnectionProvider.java +++ b/ojdbc-provider-oci/src/main/java/oracle/jdbc/provider/oci/configuration/OciDatabaseToolsConnectionProvider.java @@ -173,6 +173,9 @@ private Properties getRemoteProperties(String location) { DatabaseToolsKeyStorePassword keyStorePassword = keyStore.getKeyStorePassword(); + String keyStorePasswordValue = keyStorePassword == null + ? null + : String.valueOf(getSecret(keyStorePassword).toCharArray()); switch (keyStore.getKeyStoreType()) { case JavaKeyStore: @@ -206,6 +209,14 @@ private Properties getRemoteProperties(String location) { OracleConnection.CONNECTION_PROPERTY_WALLET_LOCATION, "data:;base64," + base64KeyStoreContent); break; + case Pem: + walletProps.put( + OracleConnection.CONNECTION_PROPERTY_WALLET_LOCATION, + "data:;base64," + base64KeyStoreContent); + if (keyStorePasswordValue != null) { + walletProps.put("oracle.net.wallet_password", keyStorePasswordValue); + } + break; case UnknownEnumValue: default: throw new IllegalStateException( @@ -323,4 +334,3 @@ private Properties refreshProperties(String location) } } } -