代码之家  ›  专栏  ›  技术社区  ›  hendry

如何确定证书的根目录?

  •  1
  • hendry  · 技术社区  · 15 年前

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

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

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

    1 回复  |  直到 14 年前
        1
  •  0
  •   Rob Mensching    14 年前

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

    可能有不同的CA证书具有相同的“主题DN”(具有不同的公钥、有效日期等),因此您的算法应该准备好处理该问题。“主题密钥标识符”和“授权密钥标识符”也有助于减少候选人的数量。

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