gpt4 book ai didi

重定向计数和域证书中的 Java okhttp 问题

转载 作者:可可西里 更新时间:2023-11-01 16:29:58 26 4
gpt4 key购买 nike

当我使用 okhttp 从这些网站获取内容时,我遇到了三个问题:

  1. http://www.wp.com有错误:javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径

  2. http://www.macys.com有错误:java.net.ProtocolException:后续请求过多:21

  3. http://www.vk.me有错误:javax.net.ssl.SSLPeerUnverifiedException:主机名 www.vk.me 未验证:证书:sha256/Sx09coMBYByu6GDlS0E6daYLDVLydbmJjFNkTANfSg4=DN: CN=.vk.com, OU=Domain Control ValidatedsubjectAltNames: [.vk.com, vk.com]

更新于 2016 年 6 月 12 日:

  1. http://www.wordpress.com有错误:javax.net.ssl.SSLHandshakeException:握手期间远程主机关闭连接

如何解决上述问题 1-4?谢谢大家!

最佳答案

鉴于网站没有受到损害:

(1) 您在受信任的商店中缺少根 CA 证书。如果网站使用的 CA 没有随 jdk 一起提供,就会发生这种情况。您需要使用 keytool 手动将其添加到受信任的商店中。

(2) 我研究了这个错误,发现这是由 okhttp 客户端抛出的,如果它收到超过 20 个重定向请求。我的来源是:https://github.com/square/retrofit/issues/1561

更新:我刚刚对 macys.com 进行了浏览器加载页面跟踪。令人印象深刻,你应该给自己体验 :-) 重定向是页面的正常加载行为,字体被重定向了无数次。

OkHTTP 将最大重定向值 20 实现为硬编码值。 https://github.com/square/okhttp/blob/master/okhttp/src/main/java/okhttp3/internal/http/HttpEngine.java (第 91 行)

(3) 证书中的域名与出示的证书不符。这是多宿主页面上的常见错误。

要修复 (1),除了添加 CA 之外,您还可以按照此处所述实现 Java SSL 证书路径 validator http://docs.oracle.com/javase/7/docs/technotes/guides/security/certpath/CertPathProgGuide.html#ValidationClasses

要修复 (3),您需要按照此处所述实现 TrustManager SSL Certificate Verification in Java

关于重定向计数和域证书中的 Java okhttp 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37763917/

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