如何获取与 X509Certificate2 关联的 OID 的名称?



有没有办法获取有效 OID 的友好名称

例如,我有 OID1.2.840.113549.1.1,它代表SHA1 with RSA signature。如何获得X509Certificate2.SignatureAlgorithm.FriendlyName返回的友好名称?

我试图创建var oid = new Oid("1.2.840.113549.1.1"),并查看oid.FriendlyName属性,它是null

并非所有 OID 都映射了友好名称值。

1.2.840.113549.1.1 是 PKCS#1 弧,但它从不直接使用,只是作为命名空间使用;因此 Windows 显然认为为其提供 FriendlyName 值没有用。

sha1WithRsaEncryption 是 1.2.840.113549.1.1.5(或"{ pkcs-1 5 }",如果你愿意),new Oid("1.2.840.113549.1.1.5").FriendlyName将在 .NET Framework 和 .NET Core 上返回"sha1RSA"

对于"大多数"OID,友好名称解析是通过调用系统加密库来完成的,但 .NET Core 对该加密库进行硬编码,确保它在所有操作系统上的映射相同。

相关内容

  • 没有找到相关文章

最新更新