gpt4 book ai didi

java - 具有已撤销 SSL 证书的 URL 的 HttpURLConnection 行为?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:00:14 30 4
gpt4 key购买 nike

我们将迎来大量被吊销的 SSL 证书,感谢 heartbleed。当我看到 Chrome on Android apparently ignores revoked SSL certificates ,我想知道当在 Java 中从服务器请求 Web 资源时,我们会得到一个已撤销的 SSL 证书时的行为是什么。

我希望的是发生某种 SSLHandshakeException 的崩溃。

我看到的是连接成功,但没有下载数据——从 getInputStream() 读取返回长度为 -1。这是使用 https://revoked.grc.com/ 测试的作为我的测试站点,如果您忽略证书错误(例如,通过 wget -no-check-certificate)下载它,它将返回一个解释页面。我试过 4.4、4.3 和 2.3 模拟器,结果相同。

Java VM 是否有特定的行为?我怀疑是否存在特定于 Android 的规范,但如果 Android 的实际行为与 Java 规范不同,我可以努力将差异澄清为错误或缺少文档。

最佳答案

预期的行为是 X509TrustManager catch CertPathValidatorException来自 CertPathValidator并将其作为 CertificateException 重新抛出(在 Android 中可用时为 CertificateRevokedException)。

CRL 检查被禁用 here ,第 362 行。请注意,它不像删除该行那么容易,因为如果证书没有 CRL,则 CertPathValidatorException也被抛出。

CertPathValidator 已实现 here据我所知,通过浏览源代码,它不会下载 CRL。

关于java - 具有已撤销 SSL 证书的 URL 的 HttpURLConnection 行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23139438/

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