Android:我应该在哪里查找证书吊销列表?

Posted

技术标签:

【中文标题】Android:我应该在哪里查找证书吊销列表?【英文标题】:Android: where should I look for certificate revocation list? 【发布时间】:2019-03-31 13:43:01 【问题描述】:

我想获取在 android 设备上下载的所有已撤销证书列表的列表?我知道this 类允许您检查证书是否被吊销,但我想获得吊销证书的整个列表。可能吗? Android 是存储这样的列表还是使用 OCSP 来检查证书?

【问题讨论】:

我不确定我是否完全理解您的问题。您不能循环所有系统证书以检查已撤销的证书吗? 【参考方案1】:

Android 似乎不存储证书吊销列表(或者至少如果存储了,那么它就不会使用它)。几年前有一个reddit thread 提出了这个问题并讨论了它的优缺点,但它的本质是,如果你去https://revoked.grc.com/ (如果你的浏览器检查被撤销的证书,它应该会抛出一个错误) 在移动 Chrome 上,您会收到通知,您的浏览器不会检查已撤销的证书。

从上面的页面(revoked.grc.com,除非您使用没有 CRL 的浏览器,否则您应该无法看到):

移动 Android 平台目前提供自己的证书吊销检查,因此 Android 应用(包括 Google Chrome 浏览器的所有用户)容易受到恶意证书滥用的影响。当今安全使用 Android 的唯一方法是使用 Firefox,它带来了自己的证书安全性。

我发现了另外几个来源(同样是几年前的,但它们似乎仍然相关并且准确地描述了当前的情况):

An issue on the OkHttp (an Android http client) github discussing whether to add certificate revocation checks, where they decide not to

The CommonsBlog, discussing the lack of certificate revocation checks on Android

A Chromium issue about the lack of a CRL, where one of the developers states that it won't be added and presents the justification:

标记此 WontFix 有两个原因:

1) 撤销检查是 Android 和相关 SSL API 的责任。 Android 本身没有也从未执行过撤销检查 [...]

2) 撤销检查通常不起作用(作为一项安全功能),尤其是对于移动设备,会极大地影响性能(负面)和隐私(负面)

【讨论】:

谢谢,非常有用的解释!在 OkHttp 问题讨论中,人们分享了指向另一个好的来源 imperialviolet.org/2014/04/19/revchecking.html 的链接,其中 Adam Langley 解释了为什么他们不检查已撤销的证书。

以上是关于Android:我应该在哪里查找证书吊销列表?的主要内容,如果未能解决你的问题,请参考以下文章

Go-加密学 - 证书吊销列表(CRL)

Go-加密学 - 证书吊销列表(CRL)

Go-加密学 - 证书吊销列表(CRL)

以编程方式安装证书吊销列表 C#

MIMEKIT Multipart Signed.Verify 如何禁用证书吊销列表检查?

如何对 PDF 中的证书吊销列表 (CRL) 流字节进行编码?