2

我需要一个 OID 用于向 X.509v3/PKCS#7 数字签名添加自定义扩展(已经是 ASN1.encoded)。我不在乎它是否可互操作;这是一个私人专有应用程序(实际上是一个研究项目)。现在我什至不在乎它是否是在某些专有应用程序中使用的 OID,尽管显然我不能长时间使用该 OID。

目前我一直在使用 1.2.3.4.5,它在我正在使用的加密库(cryptlib)的测试代码中。但是,签名创建正在崩溃,我不知道这是否是原因。我知道库在检查输入时至少会拒绝一些无效的 OID。

4

3 回答 3

3

In addition to the (correct) answers by @dajames and @Ken Johnson, you could also use a UUID based OID, if you don't want/need to register a PEN OID (although PEN is probably better in the long run).

于 2010-09-22T17:29:17.727 回答
3

您可以在此处请求“官方”私人 OID ,以确保将来不会发生碰撞。

于 2010-09-13T14:07:19.693 回答
3

我怀疑问题在于您没有正确编码用作 ASN.1 OBJECT ID 对象的 OID。我知道 Cryptlib,但没有使用它,所以我不能确定它为什么会崩溃,但我怀疑原因将是无效的编码,而不仅仅是选择了不合适的 OID 值。我怀疑 Cryptlib 对您提供的 OID 值有任何意义(除非您可能为已知的证书扩展提供 OID,例如具有意外值的“基本约束”)。

我从http://www.imc.org/ietf-pkix/pkix-oid.asn注意到 PKIX 定义了一个用于测试的 OID 范围,我希望如果您(ab)在您自己(内部,非官方)测试的范围。测试 OID 是从 1.3.6.1.5.5.7.13 开始的任何内容。

我有点担心你所说的“X.509v3/PKCS#7 数字签名”……X.509 和 PKCS#7 真的很不一样。我从您关于自定义“扩展”的谈话中得知,它是您尝试创建的 X.509v3 证书,而不是 PKCS#7 签名……对吗?

于 2010-09-11T23:35:19.330 回答