我的任务是验证weblogic可以连接到使用TLS 1.2的oracle数据库设置。使用与sqlnet一起使用的jdbc连接信息启动weblogic时,我收到以下错误。
<Jul 6, 2016 11:21:06 AM EDT> <Error> <Deployer> <BEA-149205> <Failed to initialize the application "apptxDataSource" due to error weblogic.application.ModuleException: java.lang.IllegalArgumentException: Unsupported protocol SSLv2Hello
weblogic.application.ModuleException: java.lang.IllegalArgumentException: Unsupported protocol SSLv2Hello
at weblogic.jdbc.module.JDBCModule.prepare(JDBCModule.java:350)
at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:100)
at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:175)
at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:170)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:42)
Truncated. see log file for complete stacktrace
Caused By: java.lang.IllegalArgumentException: Unsupported protocol SSLv2Hello
at com.rsa.sslj.x.aD.a(Unknown Source)
at com.rsa.sslj.x.aH.b(Unknown Source)
at com.rsa.sslj.x.aS.setEnabledProtocols(Unknown Source)
at oracle.net.nt.TcpsConfigure.configureVersion(TcpsConfigure.java:175)
at oracle.net.nt.TcpsNTAdapter.setSSLSocketOptions(TcpsNTAdapter.java:253)
Truncated. see log file for complete stacktrace
我无法直接访问数据库配置,但我可以获得所需的任何信息。我猜我也应该说我对SSL配置没什么经验。任何指导都将不胜感激。
答案 0 :(得分:1)
要配置与Oracle数据库的连接以使用TLSv1.2(假设您的Oracle数据库服务器已配置为接受TLSv1.2连接),首先需要使用带有补丁的12.1.0.2 JDBC瘦驱动程序从这里下载: Oracle JDBC driver download page
然后设置以下系统属性-Doracle.net.ssl_version='1.2' -Doracle.net.ssl_cipher_suites='(TLS_RSA_WITH_AES_256_CBC_SHA256)'
。您当然可以添加更多密码套件。
另外请务必安装JCE Unlimited Strength Jurisdiction Policy Files。
为简单起见,我建议将JKS文件用于信任存储和密钥存储区。避免使用难以使用的钱包(在类路径中需要oraclepki.jar)。
最后一个提示。如果遇到问题,可以使用-Djavax.net.debug=all
启用调试,这会提供大量有用的信息。