我使用 openssl 创建了一个自签名根 CA 证书,供内部测试使用。此证书已成功安装并在多台机器和平台(Windows、Linux、各种 Java/.NET/浏览器客户端)上用作受信任的 CA,没有任何问题。
一个用户(运行 WinXP SP3 / IE8)在尝试将 CA 证书导入其受信任的根存储时收到以下错误:“此证书已被其证书颁发机构吊销”
CA 确实引用了我创建的 CRL,但它是空的。用户可以手动访问和查看 CRL 并确认它是空的。IE 中已禁用 CRL 检查,但我猜想在填充证书存储时此设置可能不适用。
怎么解释这个?是否有任何原因导致来自不同 CA 但具有相同指纹的撤销证书会导致我的 CA 证书被标记为撤销?
答案1
虽然这个帖子很老了,但我有答案。当自签名证书被放置在不受信任的证书存储中时,它可以在 Windows 上被撤销。
关于 CRL:即使存在,Microsoft CryptoAPI 客户端默认也会忽略自签名证书中的 CDP,并且仅检查非根证书是否被撤销。
答案2
当他们的客户端无法访问您的 CRL 时就会发生这种情况。
看http://support.microsoft.com/kb/289749:
问题 8:如果无法获取有效的 CRL,Web 浏览器中会出现什么错误消息?如果获取了 CRL 并且证书被吊销,是否还会显示相同的错误消息?
A8:是的,在两种情况下您都会收到相同的错误消息。您会收到以下错误消息:
HTTP 403.13 Forbidden: Client
certificate revoked
The page requires a valid client certificate