如何在tomcat配置中加密oracle ucp数据库连接?

问题描述 投票:0回答:2

我想在 tomcat 7 配置 (server.xml) 中加密我的数据库连接。我正在使用 connectionProperties 来提供加密算法,但不知何故,这些属性不起作用。

这是我的配置文件中的块:

     <Resource
                  name="jdbc/TestDb" auth="Container"
                  type="oracle.ucp.jdbc.PoolDataSource"
                  description="UCP Pool in Tomcat"
                  factory="oracle.ucp.jdbc.PoolDataSourceImpl"
                  connectionFactoryClassName="oracle.jdbc.pool.OracleDataSource"
                  minPoolSize="10"
                  maxPoolSize="100"
                  inactiveConnectionTimeout="20"
                  user="******"
                  password="*****"  
                  connectionProperties="oracle.net.encryption_client=REQUIRED,
                                        oracle.net.encryption_types_client=AES256,
                                        oracle.net.crypto_checksum_client=REQUIRED,
                                        oracle.net.crypto_checksum_types_client=SHA512"
                  url="jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=***)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=***)))"
                  connectionPoolName="UCPPool"
                  sqlForValidateConnection="select 1 from DUAL"
                  validateConnectionOnBorrow="true" />

尝试在连接属性中使用分号代替逗号。但没有任何效果。

请看看是否有人可以帮忙。

database oracle jdbc tomcat7 ucp
2个回答
1
投票

尝试输入以下格式的值 - {prop1=val1, prop2=val2, ..., propN=valN} 所有键值对应以“,”(逗号和空格字符)分隔,并应放置在 {} 内。 例如,在你的情况下,它应该是 - connectionProperties =“{oracle.net.encryption_client =必需,oracle.net.encryption_types_client = AES256,oracle.net.crypto_checksum_client =必需,oracle.net.crypto_checksum_types_client = SHA512}”


0
投票

分隔符是“;” (分号)而不是“,”(逗号)。也不要在列表周围使用“{}”(大括号)或任何类型的括号。

© www.soinside.com 2019 - 2024. All rights reserved.