2
我可以从X509Certificate
实例(如"SHA256WithRSA"
)中提取OID和签名算法的名称,但是如何提取摘要算法的名称(例如, "SHA256"
。如何从X509Certificate中提取摘要算法
除了字符串拆分"with"
或OID的固定映射吗?
侧面问题:拆分"with"
是否安全?
我可以从X509Certificate
实例(如"SHA256WithRSA"
)中提取OID和签名算法的名称,但是如何提取摘要算法的名称(例如, "SHA256"
。如何从X509Certificate中提取摘要算法
除了字符串拆分"with"
或OID的固定映射吗?
侧面问题:拆分"with"
是否安全?
证书仅包含映射到唯一对摘要/算法的签名算法OID。因此,找到摘要算法的最简单方法是使用映射表OID - >摘要算法。
不幸的是,我知道没有集中的位置,你可以找到这些OID。不过,他们可以在这些RFC收集:
解析算法名称和分裂的 “使用” 应该工作,但这些限制
getSigAlgName()
方法将返回形式为OID.a.b.c.d...
的字符串。例如旧的Java6不支持SHA256withDSA
算法,并且将被打印OID.2.16.840.1.101.3.4.3.2