我有2个应该互相请求的springboot应用程序。它们通过https工作,我为here所描述的两者创建了相同的密钥库。但是当第一个发送请求到第二个时,我得到下一个错误:
Caused by: javax.net.ssl.SSLHandshakeException: SSLHandshakeException invoking https://service: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
ssl属性是
server.port = 5000
security.require-ssl=true
server.ssl.key-store-type:PKCS12
server.ssl.key-store=classpath:keystore.p12
server.ssl.key-store-password=secret
server.ssl.key-alias=alias
我认为应该提到 - 证书是自签名的。
我错过了什么或做错了什么?
答案 0 :(得分:0)
这没有意义。每一端的身份都不相同,因此他们的证书不应该是相同的,也不应该是他们的私钥。否则他们不是私人的。
你需要:
必须导出每个密钥库中的证书,然后在每种情况下将其导入 peer 信任库。