SSL handshake failure reported on starting ELM 7.0
<Environment>
Windows Server 2016
Liberty
Derby
ELM 7.0 (no iFix)
[20/05/11 14:46:35:192 JST] 000000ce com.ibm.ws.ssl.core.WSX509TrustManager E CWPKI0823E: SSL ハンドシェークの失敗: SubjectDN [CN=www.ibm.com, O=IBM, L=Armonk, ST=New York, C=US] の署名者がホスト [www.ibm.com:443] から送信されました。SSL 構成別名 [defaultSSLConfig] にあるトラストストア [C:/Program Files/IBM/JazzTeamServer/server/liberty/servers/clm/resources/security/ibm-team-ssl.p12] にこの署名者を追加する必要がある可能性があります。SSL ハンドシェーク例外からの拡張エラー・メッセージ: [PKIXCertPathBuilderImpl could not build a valid CertPath.]
[20/05/11 14:46:35:192 JST] 000000ce SystemErr R javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: PKIXCertPathBuilderImpl could not build a valid CertPath.
Accepted answer
I had same with 6061. The JTS tries to connect to ibm.com at least during startup. I think this is for the name resolution test, for which you can configure the URL in advanced properties of JTS.
Comments
I have gone to ibm.com in a browser by clicking the padlock and found GeoTrust RSA CA 2018 andDigiCert Global Root CA. I scrolled down the page to the PEM (cert) / PEM (chain) download section and downloaded the PEM (cert). I then checked in the ELM jre cacert using below:
C:\Program Files\IBM\JazzTeamServer\server\jre\bin>keytool -alias digicertglobalrootca -list -v -keystore "C:\Program Files\IBM\JazzTeamServer\server\jre\lib\security"\cacerts
keytool -alias mykey -import -trustcacerts -file C:\www-ibm-com.pem -keystore "C:\Program Files\IBM\JazzTeamServer\server\jre\lib\security"\cacerts
I haven't created any new self-signed certificate, so it is still using the ibm-team-ssl.p12 with the default self-signed certificate using "localhost".
Short term copy Liberty JRE cacerts file to JazzTeamServer\server\liberty\servers\clm\resources\security and reference from a defaultTrustStore entry in server.xml:
<ssl id="defaultSSLConfig" keyStoreRef="defaultKeyStore" trustStoreRef="defaultTrustStore" sslProtocol="SSL" enabledCiphers="blah blah"/>
<keyStore id="defaultKeyStore" location="ibm-team-ssl.p12" type="PKCS12" password="{xor}Nj0ycis6PjI="/>
<keyStore id="defaultTrustStore" location="cacerts" type="JKS" password="changeit"/>
2 other answers
Comments
CA Certs don't solve the problems. I have never used self signed or default certs. This problem began recently on both 6.0.6 (after going from iFIx 13a to 15) and 6.0.6.1 (after going from iFix 6 to 9).
As a result of open cases for both CLM and Installation Manager I was able to resolve this and learned. <o:p> </o:p>
1. IBM started redirecting all http traffic to https about April 2020. <o:p> </o:p>
2. WLP has a defect that causes cacerts to be disabled if a custom keystore is used. <o:p> </o:p>
3. CLM Help performs a handshake with ibm.com when starting up. <o:p> </o:p>
a. Before the https redirects began it worked fine using http. <o:p> </o:p>
b. Once redirected to https the handshake fails. <o:p> </o:p>
c. One cause is the WLP defects preventing access to cacerts when a non-default keystore is used. <o:p> </o:p>
i. With http the cacerts defect was mute. <o:p> </o:p>
ii. The defect is resolved somewhere around WLP 19.0.0.9 (after ELM 7.0) so out of the box with ELM 7.0.1 (WLP 20.0.0.3). <o:p> </o:p>
iii. I resolved with earlier CLM version by adding the necessary certs to my custom keystore. <o:p> </o:p>
4. Fixing IBM’s trust chain in cacerts still resulted in failure in our environment. I was experiencing similar behavior with Installation manager being unable to connect to online repositories using SSL. <o:p> </o:p>
a. The cause in my case was proxy certs. My company issues proxy certs at the firewall, so the IBM DigiCert cert never gets to IM or CLM (I get a cert issued to <ibm.com> by <myCompanyprivateInternalCA>). So missing IBM’s trust chain was irrelevant. What was relevant was my company’s private CA trust chain was not in cacerts (as it should be). <o:p> </o:p>
b. Resolved by adding the private root to my custom keystore for CLM, WAS, IHS, and JAS and to CA certs for IBMIM. <o:p> </o:p>
Comments
> IBM started redirecting all http traffic to https about April 2020
You are correct. Sorry for the ambiguity.
Comments
Ian Wark
May 12 '20, 8:15 a.m.java.security.cert.CertPathValidatorException: Certificate chaining error com.ibm.ws.ssl.core.WSX509TrustManager checkServerTrusted