2016-07-06 114 views
0

我的任務是驗證weblogic可以使用TLS 1.2連接到Oracle數據庫設置。使用與sqlnet一起使用的jdbc連接信息啓動weblogic時,出現以下錯誤。使用JDBC連接不支持的協議

<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配置的經驗。任何指導將不勝感激。

回答

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打開調試,該程序提供了大量有用的信息。

+0

謝謝你的幫助。錯誤來自我們使用的ojdbc jar。現在,但現在我得到下面的錯誤。我將dba提供的兩個證書導入JKS truststore。 weblogic.application.ModuleException:java.security.cert.CertificateException:證書鏈不被信任,參數必須PKIXParameters中或者是包含PKIXParameters中 \t在..... – rcantrel

+0

頒發數據庫的證書應該是權威CertPathWithOCSPParameters一個受信任的權威這可能是您的信任庫所缺失的。要查看您的jks文件(或錢包)的內容,我推薦一個名爲KeyStore Explorer的免費工具。 –