gpt4 book ai didi

java - Spring Boot 应用程序通过 HTTPS 调用另一个 Spring Boot 应用程序并获取 SSL 证书验证错误 : "signature check failed"

转载 作者:行者123 更新时间:2023-11-28 23:14:13 26 4
gpt4 key购买 nike

我有两个 Spring Boot 应用程序,每个应用程序都在自己的 docker 容器中运行。

一个是 REST 客户端,另一个是 REST API。

当客户端调用 API(即 GET https://localhost:8443/api/someResource )时,出现以下错误:

引起:javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX 路径验证失败:java.security.cert.CertPathValidatorException:签名检查失败

每个 spring boot 应用程序都有自己的 keystore 和自签名证书存储在src/main/resources/keystore.p12

...这是我在 application.yml 文件中的内容:以下属性:

server.ssl.key-store: classpath:keystore.p12
server.ssl.key-store-password: somethingsecure
server.ssl.keyStoreType: PKCS12
server.ssl.keyAlias: client or server (depending which .yml file your looking at)

我在 Docker 之外对此进行了测试,一切正常!我只是将 API 证书从 keystore.p12 文件中导出,并将其导入到我的 JRA cacerts 文件中。

你可以从我的 REST 客户端 Dockerfile 中看到,我在那里做了同样的事情:

FROM openjdk:8-jdk-alpine
EXPOSE 8443
WORKDIR /usr/src/app
COPY client.jar client.jar
COPY server.crt server.crt
RUN keytool -v -import -noprompt -alias server -file server.crt -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit
ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "client.jar"]

我打开了 SSL 调试,可以看到以下内容:

trustStore is: /usr/lib/jvm/java-1.8-openjdk/jre/lib/security/cacerts
trustStore type is : jks
trustStore provider is :
init truststore

...

adding as trusted cert:
Subject: CN=localhost, OU=Development, O=Microgen, L=Fleet, ST=Hampshire, C=UK
Issuer: CN=localhost, OU=Development, O=Microgen, L=Fleet, ST=Hampshire, C=UK
Algorithm: RSA; Serial number: 0x4c1fbbc3
Valid from Mon Apr 16 09:49:33 GMT 2018 until Tue Apr 16 09:49:33 GMT 2019

有什么想法吗?

谢谢,

最佳答案

我不是专家,但在导出和导入证书时,我想知道在您的新位置中证书链是否与您从中获取证书的位置相同。

在“原因”部分下有一个链接可能会提供一些见解

https://confluence.atlassian.com/kb/connecting-to-ssl-services-802171215.html

关于java - Spring Boot 应用程序通过 HTTPS 调用另一个 Spring Boot 应用程序并获取 SSL 证书验证错误 : "signature check failed",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52611845/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com