为 ASN.1 标识符获取合理的名称

Tre*_*kaz 7 java bouncycastle asn.1

使用 BouncyCastle 库(虽然我猜这个库有点不相关)我经常遇到指定为 ASN.1 标识符的算法 ID。例如,证书的签名算法可能是"1.2.840.113549.1.1.11".

有没有一种正确的方法可以将其转换为某种人类可读的形式,而不需要找到我可以得到的每个 ID 并手动构建一个巨大的查找表?

pep*_*epo 1

恕我直言,除了构建映射表之外没有其他方法。每个加密库都会这样做,即。Openssl、.NET 框架、BouncyCastle 等。

问题是,每个库都可以(而且经常)FriendlyName对同一个 OID 进行不同的分配。例如 Openssl 有emailAddress,而 .NET 将其翻译为E.

BouncyCastle在这里(也许在其他地方)实现了这个映射表(抱歉没有 C# 版本链接) 。