JDBC, Tomcat, context.xml и собственное шифрование Oracle

Я могу добавить определенные свойства соединения (для пула соединений и т. д.) с JDBC/тонкими соединениями из Java в Oracle, используя

props.put("connectionPoolName", "ConnPool");
props.put("description", "UCP JNDI Connection Pool");
props.put("factory", "oracle.ucp.jdbc.PoolDataSourceImpl");
props.put("inactiveConnectionTimeout", "5");
props.put("user", "scott");
[...]

Я также могу использовать context.xml для этих настроек, например:

description="UCP JNDI Connection Pool" 
connectionFactoryClassName="oracle.jdbc.pool.OracleDataSource" 
factory="oracle.ucp.jdbc.PoolDataSourceImpl" 
inactiveConnectionTimeout="5"
user="scott"

Поэтому я попытался установить собственные параметры шифрования Oracle 12 в context.xml бесчисленными способами, например:

connectionProperties="oracle.net.encryption_client=(REQUIRED);oracle.net.encryption_types_client=(AES256);oracle.net.crypto_checksum_client=(REQUIRED);oracle.net.crypto_checksum_types_client=(SHA1)"

or

connectionProperties="oracle.net.encryption_client=REQUIRED"
connectionProperties="oracle.net.encryption_types_client=AES256"
connectionProperties="oracle.net.crypto_checksum_client=REQUIRED"
connectionProperties="oracle.net.crypto_checksum_types_client=SHA1"
(Which obviously doesn't work)

or

SQLNET.ENCRYPTION_CLIENT="REQUIRED"
SQLNET.CRYPTO_CHECKSUM_CLIENT="REQUIRED"
SQLNET.ENCRYPTION_TYPES_CLIENT="AES256"
etc.

...и ничего не работает. Кто-нибудь знает, можно ли установить параметры шифрования клиента в context.xml? И если да: как это сделать?

Сервер настроен правильно, и шифрование работает при использовании варианта 1 или клиента sqlplus, но ничего не шифруется с помощью context.xml, но также не регистрируются ошибки или что-то еще, он просто передает незашифрованные данные.

Я предполагаю, что пропустил что-то тривиальное или просто не знаю правильных параметров для context.xml.


person Lenniey    schedule 18.04.2018    source источник


Ответы (1)


Попробуйте использовать в качестве разделителя , как показано здесь. Проверьте OracleConnection на предмет правильного имени. свойства связи.

 connectionProperties="{javax.net.ssl.trustStore=/home/myuser/cloud/truststore.jks, 
   javax.net.ssl.trustStoreType=JKS, javax.net.ssl.trustStorePassword=welcome1, 
   javax.net.ssl.keyStore=/home/myuser/cloud/keystore.jks, javax.net.ssl.keyStoreType=JKS, 
   javax.net.ssl.keyStorePassword=welcome1, 
   oracle.net.ssl_version=1.2, oracle.net.ssl_server_dn_match=true}" 
person Nirmala    schedule 21.04.2018