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");
[...]

对于这些设置.xml我还可以使用上下文,例如:

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

因此,我尝试以无数种方式在上下文中设置 Oracle 12 本机加密参数.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)"

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)

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

。什么都没用。有谁知道您是否可以在上下文中设置客户端加密参数.xml?如果是:如何做到这一点?

服务器配置正确,使用选项 1 或 sqlplus 客户端时加密有效,但使用上下文.xml加密任何内容,也没有记录错误或任何东西,它只是传输未加密的数据。

我认为我错过了一些琐碎的东西,或者只是不知道上下文的正确参数.xml。

尝试使用 ,作为分隔符,如下所示。检查 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}" 

最新更新