簡體   English   中英

如何從 X509Certificate 中提取摘要算法

[英]How to extract the digest algorithm from a X509Certificate

我可以從X509Certificate實例(例如"SHA256WithRSA"提取 OID 和簽名算法的名稱,但是我如何提取摘要算法的名稱,例如"SHA256"

除了"with"的字符串拆分或OID的固定映射之外,還有其他方法嗎?

"with"問題:拆分為"with"是否安全?

證書僅包含映射到唯一一對摘要/算法的簽名算法 OID。 因此,找到摘要算法的最簡單方法是使用映射表 OID -> 摘要算法。

不幸的是,我不知道您可以在哪里找到這些 OID 的集中位置。 但是,它們可以在這些 RFC 中收集:

解析算法名稱並在“With”上拆分應該可以工作,但有這些限制

  • 它可能僅適用於 Oracle 加密提供程序(請參閱簽名算法命名約定的文檔)。 另一個擁有自己的證書實現的提供者可能會使用另一個不兼容的命名約定。
  • 如果算法未知,則getSigAlgName()方法將返回OID.abcd..形式的字符串。 例如,舊的 Java6 不支持SHA256withDSA算法,將打印OID.2.16.840.1.101.3.4.3.2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM