Signature

PKCS7 是簽名格式還是證書格式?

  • June 15, 2016

我一直認為 PKCS7 是一種簽名格式。

但是,在網上我發現 PKCS7 是一種證書格式的幾個參考 - 例如,這談到了 PKCS7 證書:Extract raw certificate from PKCS#7 file in JAVA

或者:X.509 和 PKCS#7 證書有什麼區別?

那麼 PKCS7 是簽名格式還是證書格式還是兩者兼而有之?

那麼 PKCS7 是簽名格式還是證書格式還是兩者兼而有之?

兩者都不。PKCS7 現在是Cryptographic Message Syntax(CMS)。來自 RFC 5652:

此語法用於對任意消息內容進行數字簽名、摘要、身份驗證或加密。

CMS 實現了不同產品之間的互操作性,這些產品可以在同一文件上執行,而無需了解其他產品(實施和與產品相關的其他特定資訊)。CMS 通過為每種數據類型(簽名數據、封裝數據、經過驗證的封裝數據)定義特定的消息格式來實現這一點。因此,每個支持 CMS 格式的產品都可以毫無問題地交換以 CMS 格式定義的文件或消息。

您提供的第二個連結還討論了 CMS 格式。


在@Maarten 發表評論後:

還值得一提的是,PKCS代表“公鑰加密標準”。這些是 RSA Security Inc. 創建的一組公鑰加密標準。其中一些標準移交給了標準組織,之後它們成為了行業標準。

此外,正如@Maarten 所提到的,使用 CMS(PKCS7) 格式可以儲存多個證書。(檢查這個答案

引用自:https://crypto.stackexchange.com/questions/37084