當我嘗試在weblogic中調用https服務調用時,我收到ssl握手失敗。 我已將服務器證書添加到weblogic信任庫 - 「cacerts」中。用於添加信任存儲在WebLogic啓動腳本weblogic ssl握手失敗信任存儲問題
命令:
JAVA_OPTIONS="-Dweblogic.security.SSL.trustedCAKeyStore="/weblogic92/server/lib/cacerts" ${JAVA_OPTIONS}"
出口JAVA_OPTIONS
我失去任何東西 - 任何指針,以解決這個問題?
使用SSLPoke.java測試了應用程序服務器框中的ssl連接,並且成功。
java -Djavax.net.ssl.trustStore=/weblogic92/server/lib/cacerts
-Djavax.net.ssl.trustStorePassword=changeit SSLPoke 192.16.2.6 8443
WebLogic Server日誌跟蹤:
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1628)
at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:230)
at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:224)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1027)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:120)
at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Handshaker.java:574)
at com.sun.net.ssl.internal.ssl.Handshaker.process_record(Handshaker.java:510)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:888)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1117)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:629)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write(AppOutputStream.java:59)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65)
難道是引號問題?嘗試使用JAVA_OPTIONS =「 - Dweblogic.security.SSL.trustedCAKeyStore = /weblogic92/server/lib/cacerts」$ {JAVA_OPTIONS} – Xargos
@Xargos - 沒有它不是引號問題,我甚至嘗試使用一個變量。雖然SSL選項顯示在啓動日誌中,但當我執行ssl調用時 - 我在應用程序級別出現錯誤。 – challenge
所以當你做'keytool -v -list -keystore/weblogic92/server/lib/cacerts'時,你可以看到你的服務器?你也可以嘗試:'-Djavax.net.ssl.trustStore = /weblogic92/server/lib/cacerts' –