1

我的根证书以 ASN.1 格式存储为多个文件。

假设我有一个相同格式的链式终端实体证书。如何有效地确定该证书的根证书?

目前,我必须采取一种蛮力方法,提取最终实体证书的公钥并针对所有根证书进行验证,并且第一个匹配项被视为根证书。这是正确的方法吗?

4

1 回答 1

1

要查找证书的颁发者,您应该使用“颁发者 DN”并将其与 CA 存储中证书的“主题 DN”相匹配。这应该会显着减少签名验证的数量。

可能有不同的 CA 证书具有相同的“主题 DN”(具有不同的公钥、有效日期等),因此您的算法应该准备好处理它。“Subject Key Identifier”和“Authority Key Identifier”也可以帮助减少候选的数量。

找到颁发机构只是验证证书的“正确方法”的一小部分。我建议您查看http://www.ietf.org/rfc/rfc5280.txt “认证路径验证”的第 6 部分。有些部分很可能是矫枉过正(即大多数与政策有关的事情)。

于 2009-11-06T02:00:33.843 回答