【问题标题】:Long OID issue inside X509 certificateX509 证书中的长 OID 问题
【发布时间】:2022-01-25 12:44:58
【问题描述】:

我们有一个 CA 颁发带有“证书策略”扩展的证书,包括我们组织的公共 OID
问题是:不幸的是,组织策略 ID (OID) 太长(OID 的某些部分),无法在 Go 等编程语言中进行解析。因此,有许多重要的、众所周知的和熟悉的工具在任何情况下都无法加载或使用我们的证书,例如 SSL/TLS 证书。
我们的下属 CA 也有这个问题。我们正在寻找解决此问题的解决方案。 是否还有任何方法可以在证书中使用现有策略?喜欢分段 OID 还是缩短 OID?

【问题讨论】:

  • 您能否发布一个示例,您的 OID 有多长?至少以某种匿名形式,例如 a.b.c.d.e.g.h... 等。
  • 正如@garethTheRed 所说,我们发布的不是OID 总长度,而是OID 部分长度。还是谢谢。

标签: x509certificate policy pki oid


【解决方案1】:

恐怕你运气不好。

RFC 5280 Appendix B 声明以下关于任何 OBJECT IDENTIFIER 的内容:

在本规范中使用对象标识符 (OID) 识别证书策略、公钥和签名算法, 证书扩展等。 OID 没有最大大小。 该规范要求支持具有弧元素的 OID 具有小于 2^28 的值,即它们必须在 0 之间 和 268,435,455(含)。这允许每个弧元素 在单个 32 位字中表示。实现也必须 支持 OID,其中点分十进制的长度(参见第 1.4 节 [RFC4512]) 字符串表示最多可以是 100 个字节 (包括的)。实现必须能够处理多达 20 个元素(含)。 CA 不应颁发证书 包含超出这些要求的 OID。同样,CRL 发行人 不应发出包含超过这些 OID 的 CRL 要求。

虽然这些 OID 没有最大大小,但实现不必支持无限大小的 OID。

如果您的 OID 较长,那么您的 CA 需要注意上述段落的倒数第二句话。

Section 6.1.3(d)(1)(i) 的 RFC 定义了策略处理并且仅指匹配 OID。恐怕没有分段或缩短 OID 的概念。

您唯一的选择是使用较短的 OID 重新签发。

【讨论】:

    猜你喜欢
    • 2011-09-21
    • 2021-08-24
    • 1970-01-01
    • 1970-01-01
    • 2018-12-02
    • 2012-09-28
    • 2011-02-14
    • 1970-01-01
    • 2016-12-31
    相关资源
    最近更新 更多