撤销过期的证书

Revoking an expired certificate

吊销过期的证书是个好方法吗?

过期的证书被视为无效证书,但可以将其吊销。由于可以撤销它,因此它应该是 CA 的有效方法。

CA不考虑吊销与否,对证书的使用方式有何影响。

这是个坏主意。没有 CA 这样做

过期的证书一般会被拒绝。数字签名签名将使用过期证书验证为无效。浏览器拒绝与证书过期站点的 SSL 连接。不需要任何额外的验证

事实上,你会导致与现有签名不一致。为了在证书到期时间内保留签名,它们受到时间戳的保护。当时间戳的证书接近过期时,可以发布一个额外的时间戳。长期签名格式 AdES 还嵌入了已用证书的撤销证据。

吊销过期的证书意味着这些签名有效,但 CA 的证书状态将无效。没有意义。

从CA的角度来看,这是一种资源浪费。想想一个有 20 年历史的 CA,它有数百万个处于撤销状态的过期证书。它将需要一个令人难以置信的大 CRL 文件(撤销列表)来提供服务和 OCSP 服务(在线检查状态)来维护

客户应该拒绝过期的证书。如果客户端出于某种原因接受了一个过期的证书,然后检查该证书是否已被明确撤销,它很可能会感到失望。来自 RFC 5280 ("Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile"):

A complete CRL lists all unexpired certificates, within its scope, that have been revoked for one of the revocation reasons covered by the CRL scope. A full and complete CRL lists all unexpired certificates issued by a CA that have been revoked for any reason.

也就是说,CRL 不会列出任何过期的证书。

InCommon/Comodo CA 不允许您撤销已经过期的证书;我怀疑其他 CA 的设置也类似。

By default, CRLs do not contain information about revoked expired certificates. The server can include revoked expired certificates by enabling that option for the issuing point. If expired certificates are included, information about revoked certificates is not removed from the CRL when the certificate expires. If expired certificates are not included, information about revoked certificates is removed from the CRL when the certificate expires.

来源: https://access.redhat.com/documentation/en-US/Red_Hat_Certificate_System/8.0/html/Admin_Guide/Revocation_and_CRLs.html