gpt4 book ai didi

java - SSLPeerUnverifiedException : peer not authenticated

转载 作者:IT老高 更新时间:2023-10-28 20:58:26 27 4
gpt4 key购买 nike

又是 SSLPeerUnverified 的沉闷问题,但我没有使用自签名证书。我尝试使用 https 连接到主机。此主机具有正确的证书,Firefox 和 HttpsUrlConnection 都没有任何问题。但是尝试使用 HttpClient 进行连接时,我得到了可怕的异常。

有什么线索吗?或者提示在哪里看得更近?

谢谢!

编辑:调试输出

main,处理异常:

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: 
sun.security.provider.certpath.SunCertPathBuilderException:
unable to find valid certification path to requested target

main,getSession() 中的 IOException:

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: 
PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException:
unable to find valid certification path to requested target

最佳答案

您似乎需要将证书导入您的 JVM 正在使用的可信 keystore 中。如果您没有在应用程序中使用其他受信任的 keystore ,则这将是“cacerts”。

您可以按照“How to Fix 'SSLPeerUnverifiedException: peer not authenticated' Exception in Groovy / Java ”上的分步指南进行操作。

短版:

  1. 运行以下命令,将 $ADDRESS 替换为 URL,减去“https://”:

    echo -n | openssl s_client -connect $ADDRESS:443 | \
    sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /tmp/$ADDRESS.cert
  2. 运行以下命令,将 $ALIAS key 的短名称 $ADDRESS 替换为上面的证书名称 $PATH 包含 JRE 中 cacerts 的路径。

     sudo keytool -importcert -alias "$ALIAS" -file /tmp/$ADDRESS.cert \
    -keystore $PATH/cacerts -storepass changeit

关于java - SSLPeerUnverifiedException : peer not authenticated,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12961570/

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