gpt4 book ai didi

java - 使用 Kubernetes Docker 的客户端证书调用端点时出现 SunCertPathBuilderException

转载 作者:行者123 更新时间:2023-12-02 01:10:59 26 4
gpt4 key购买 nike

我们使用 clj-http 以及由带有自签名证书的 keystore.pfx 组成的 keystore :

(let [url (str url "api/fetch")
opts {:keystore "keystore.pfx"
:keystore-type "pkcs12"
:keystore-pass "****"
:body (json/encode {:method "yada"})
:content-type :json
:throw-entire-message? true
:async? false}
response (http/post url opts)]
(-> response
:body
base64-decode))

使用 keystore 进行的 API 调用在本地运行,以使用客户端证书调用 API,但不能在 Kubernetes 上的 Docker 中运行。

异常(exception)是:

sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

有什么解决办法吗?我们需要以某种方式将它添加到 JVM 中吗?如果是这样,在哪里以及如何添加 pfx?

最佳答案

您的自签名客户端/服务器证书不共享信任链(这是错误消息告诉您的内容)。

将 CA 证书放入信任存储中,例如

keytool -importcert -noprompt -alias ca -file ca.crt -keystore truststore -storepass secret

并将信任存储添加到请求中:

  ; ...
:trust-store "truststore" ; XXX
:trust-store-pass "secret" ; XXX
:keystore "keystore.pfx"
:keystore-pass "****"
; ...

关于java - 使用 Kubernetes Docker 的客户端证书调用端点时出现 SunCertPathBuilderException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59410311/

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