如何獲得唯一的身份證明

如何獲得唯一的身份證明

我們有一項服務接收大量簽署的 XML 文檔,其中一些是使用自簽名憑證簽署的,有些是由受信任的憑證授權單位簽署的。

確保用於簽署 XML 文件的憑證位於我們信任的憑證清單中的最佳方法是什麼?

今天,我們將證書指紋與接受的證書指紋清單進行配對。

我們可以相信指紋是獨一無二的嗎?

解決這個問題的最佳方法是什麼? (我們不能讓每個發送簽署 xml 文件的人都使用來自可信任憑證授權單位的憑證)

答案1

如果您正在使用標準 XML 簽名語法,那麼可選的 KeyInfo 可以攜帶要使用的實際憑證。

您應該使用 KeyInfo 中的憑證指紋來與接受的憑證清單進行匹配,然後驗證實際簽名您自己的受信任憑證儲存中的該憑證的副本。如果簽署文件時使用的實際證書不同,驗證步驟將失敗,文檔應被拒絕,並且希望有人進一步調查。

證書指紋應該足夠複雜,以至於兩個證書意外具有相同指紋的機率應該可以忽略不計。但即使發生這種情況(可能是出於惡意),它只會導致為簽名驗證過程選擇錯誤的證書,這肯定會導致驗證失敗。

但如果您正在驗證文檔與文件本身附帶的證書然後檢查證書指紋是否與受信任的證書之一匹配,您是做錯了:您實際上是使用受信任憑證的指紋作為密碼。

相關內容