使用Oracle Net Manager启用网络加密。
sqlnet.ora文件:
SQLNET.ENCRYPTION_CLIENT = required
SQLNET.AUTHENTICATION_SERVICES =(NTS)
SSL_VERSION = 0
SQLNET.ENCRYPTION_SERVER =必需
SSL_CLIENT_AUTHENTICATION = TRUE
SQLNET.CRYPTO_SEED =' 0123456789'
SQLNET.ENCRYPTION_TYPES_CLIENT =(AES256)
SQLNET.ENCRYPTION_TYPES_CLIENT =(AES256)
...
Java代码:
Properties props = new Properties();
props.put("oracle.net.encryption_client", "required");
props.put("oracle.net.encryption_types_client", "AES256");
props.put("user", "scott");
props.put("password", "tiger");
使用其他算法名称,例如AES128:props.put(" oracle.net.encryption_types_client"," AES128");输出ORA-12650。还行吧。但是只能将用户和密码放到Properties连接中:
Properties props = new Properties();
props.put("user", "scott");
props.put("password", "tiger");
如果需要Oracle Net Encryption,如何禁用标准连接?
答案 0 :(得分:0)
如果你没有设置" oracle.net.encryption_types_client"在JDBC瘦驱动程序中的属性,默认情况下驱动程序将" 接受"加密,因为你已经加密" 必需"在服务器上,加密将打开。总而言之,如果你 需要"服务器上的加密将使所有连接使用加密。任何不支持加密的客户端都无法连接。
此ASO协商在此doc中进行了解释,请查看表格" 表9-2加密和数据完整性协商"。默认情况下,JDBC瘦驱动程序接受加密。