SSL握手失败java.security.cert.CertPathValidatorException:证书链接错误

问题描述 投票:0回答:1

我使用Open Liberty创建了一个Docker镜像,并将我的自定义应用程序作为Web App Service托管在Azure中。一切正常,除非我尝试访问Azure上托管的另一个控制器(https://mycontrollerurl.azurewebsites.net/...。)我确实看到日志中的错误: -

[错误] CWPKI0022E:SSL HANDSHAKE FAILURE:具有SubjectDN CN = *。azurewebsites.net的签名者是从目标主机发送的。签名者可能需要添加到位于SSL配置别名defaultSSLConfig中的本地信任库/opt/ol/wlp/output/defaultServer/resources/security/key.p12。来自SSL握手异常的扩展错误消息是:PKIX路径构建失败:java.security.cert.CertPathBuilderException:PKIXCertPathBuilderImpl无法构建有效的CertPath。内部原因是:2019-04-27T15:44:49.047295297Z java.security.cert.CertPathValidatorException:由C​​N = Baltimore Cyber​​Trust Root颁发的证书,OU = Cyber​​Trust,O = Baltimore,C = IE不受信任;内因是:

有人可以帮助我如何创建我的SERVER.xml文件以包含我需要执行的证书和任何其他步骤吗?我只是2天的自由新手,并试图解决我的开发团队的问题。能告诉我如何解决这个CERT问题吗?

更新:解决问题(感谢布鲁斯指出我): - 1.我必须下载azurewebsite证书(从浏览器非常简单)你可以从文章中获取所有步骤2.将Azurewebsites Certficate文件保存到同一目录我的DOCKERFILE是。 3.将我的DOCKERFILE修改为: - ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ = 1001:0 ancConnector-Liberty.war / config / dropins /#添加Azure证书以启用HTTPS连接。 COPY --chown = 1001:0 azurewebsites.cer opt / ol / wlp / output / defaultServer / resources / security / WORKDIR / opt / ol / wlp / output / defaultServer / resources / security / RUN keytool -noprompt -importcert -file azurewebsites .cer -alias azurewebsites -keystore key.jks -storepass Liberty -storetype jks` +++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++++++

多数民众赞成,建立形象,我们很高兴!现在一切正常!希望它将来有助于某人。

azure docker websphere-liberty open-liberty
1个回答
1
投票

您需要将Azure中的签名者证书添加到Liberty的truststore文件中,以便它“信任”该站点。这个过程在这里:

https://www.ibm.com/support/knowledgecenter/SS7K4U_liberty/com.ibm.websphere.wlp.zseries.doc/ae/twlp_add_trust_cert.html

© www.soinside.com 2019 - 2024. All rights reserved.