我使用自由16.0.0.4IBM自由SSL握手失敗
我想打電話給XXXX SOAP服務,但我得到了以下錯誤
[錯誤] CWPKI0022E:SSL握手失敗:SubjectDN CN = xxxx的簽名者已從目標主機發送。簽名者可能需要添加到位於SSL配置別名defaultSSLConfig中的本地信任存儲庫 serverHome/resources/security/key.jks中。來自SSL握手異常的擴展錯誤消息是:PKIX路徑建設失敗:sun.security.provider.certpath.SunCertPathBuilderException:無法找到請求的目標的有效證書路徑
我用下一個命令生成證書
openssl s_client -connect xxxxURL:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > xxx.cert
然後將其注入自由JKS默認的文件與下一個命令
keytool -import -trustcacerts -alias xxxSigner -file xxx.cert -keystore *pathToHomeServer/resources/security/key.jks* -storepass Liberty -storetype jks
而且這個我■相關於
<featureManager>
<feature>webProfile-7.0</feature>
<feature>jaxb-2.2</feature>
<feature>concurrent-1.0</feature>
<feature>javaMail-1.5</feature>
<feature>localConnector-1.0</feature>
<feature>jaxws-2.2</feature>
<feature>apiDiscovery-1.0</feature>
<feature>ssl-1.0</feature>
</featureManager>
<keyStore id="defaultKeyStore" location="${server.config.dir}/resources/security/key.jks" password="{xor}EzY9Oi0rJg==" type="jks" />
<keyStore id="defaultTrustStore" location="${server.config.dir}/resources/security/key.jks" password="{xor}EzY9Oi0rJg==" type="jks" />
<sslDefault sslRef="defaultSSLConfig" />
<ssl id="defaultSSLConfig" keyStoreRef="defaultKeyStore" trustStoreRef="defaultTrustStore" sslProtocol="TLSv1.2"/>
<httpEndpoint id="defaultHttpEndpoint" httpPort="9080" httpsPort="9443">
<sslOptions sslRef="defaultSSLConfig"></sslOptions>
</httpEndpoint>
我server.xml的標記,這樣的問題是什麼我身邊這
不確定爲什麼你的方法不起作用,但另一種方法是使用瀏覽器來檢索證書,然後keytool添加它,如此處所述(請參閱本文底部的8/5/2015評論):https://developer.ibm.com/wasdev/docs/single-sign-google-liberty/ –
@BruceT。謝謝,實際上它工作時從WSDL路徑下載證書並注入它使用「keytool -import ...」,但我不知道什麼是錯誤的時候通過使用「openssl s_client ...」命令執行它,無論如何,你可以添加你的答案,我會接受它,再次:) –