我尝试在我的Sping Boot 应用程序中使用一些Web服务,当我尝试执行请求时,我在swagger中遇到此错误。我尝试在浏览器(https://ip:port)中搜索Web服务的URL,然后我遇到一个安全错误,告诉我证书颁发机构无法识别“SEC_ERROR_UNKOWN_ISSUER”。我认为问题来自那里。我尝试从浏览器中导出证书并将其导入到我的cacerts中,但它不起作用。我的代码中是否存在问题是导致此错误的原因?
{
"timestamp": "2021-11-16T08:11:16.189+00:00",
"status": 400,
"error": "Bad Request",
"message": "I/O error: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target; nested exception is javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target",
"path": "***"
}
1条答案
按热度按时间34gzjxbg1#
好吧,我可能会晚了答案,但我无论如何要张贴在这里,因为我很肯定有人会需要它在未来。
经过几个小时的搜索,我找到了原因。我还没有将自签名的根CA证书导入到java的cacerts密钥库中,因此,我一直得到相同的异常。
从其中一个堆栈溢出应答将根CA添加到cacerts密钥库的命令。
然而,它对我不起作用,我不得不将它指向
keytool -import -alias mycert -keystore "<<your-JAVA_HOME-directory>>\lib\security\cacerts" -file mycert.cer
到我的jdk而不是jre文件夹。密钥库的默认密码为“changeit”