可互操作的簽名型別

正如標題所示,以下列表包含可互操作的簽名型別,這些型別或多或少是嚴格定義的。在 PDF 規範指定的方式還包括完全自定義的簽名方案。但讓我們假設我們處於可互操作的狀態。簽名型別的集合燒燬到:

  • adbe.x509.rsa_sha1ISO 32000-1 第 12.8.3.2 節 PKCS#1 簽名中定義 ; 簽名值 Contents 包含 DER 編碼的 PKCS#1 二進位制資料物件 ; 如果 RSA 是包含填充文件雜湊和雜湊演算法的加密結構,則此資料物件是相當裸的簽名。

  • adbe.pkcs7.sha1ISO 32000-1 第 12.8.3.3 節 PKCS#7 簽名中定義 ; 簽名值 Contents 包含 DER 編碼的 PKCS#7 二進位制資料物件 ; 此資料物件是一個大容器物件,它也可以包含元資訊,例如,它可能包含用於構建證書鏈的證書,用於證書撤銷檢查的吊銷資訊,用於修復簽名時間的數字時間戳,…… SHA1 摘要文件的位元組範圍應封裝在 PKCS#7 SignedData 欄位中,ContentInfo 的型別為 Data。該 SignedData 的摘要應作為正常的 PKCS#7 摘要合併。

  • adbe.pkcs7.detachedISO 32000-1 第 12.8.3.3 節 PKCS#7 簽名中定義 ; 簽名值 Contents 包含 DER 編碼的 PKCS#7 二進位制資料物件,見上文。文件位元組範圍內的原始簽名訊息摘要應作為普通 PKCS#7 SignedData 欄位合併。PKCS#7 SignedData 欄位中不應封裝任何資料。

  • ETSI.CAdES.detachedETSI TS 102 778-3 中定義,並將整合在 ISO 32000-2 中; 簽名值 Contents 包含 CMS 中指定DER 編碼的 SignedData 物件 ; CMS 簽名容器是 PKCS#7 簽名容器的近親,見上文。這基本上是 adbe.pkcs7.detached 的不同輪廓和更嚴格的定義變體。

  • ETSI.RFC3161ETSI TS 102 778-4 中定義,並將整合在 ISO 32000-2 中; 簽名值 Contents 包含 RFC 3161 中指定TimeStampToken ; 時間戳令牌再次與 PKCS#7 簽名容器相關,見上文,但它們包含一個特殊的資料子結構,其中包含文件雜湊,戳記建立的時間以及釋出時間伺服器上的資訊。

我建議研究我命名的規範和從那裡引用的文件,主要是 RFC。基於該知識,你可以輕鬆找到適當的 BouncyCastle 類來分析不同的簽名內容

(從這個答案複製 )