PE 數字簽名
http://www.youdzone.com/signature.html? 英文文章,介紹了證書與簽名的關系。
http://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_signature.html 是翻譯后的文章。
PE 數字簽名是被DER編碼方式編碼的二進制數據,數據的構成有 PKCS #7 V1.5 定義,具體請參考 PKCS #7Cryptographic Message Syntax Standard.
PKCS#7 數據中包含了簽發簽名的證書以及其上級證書的完整證書鏈。根證書簽發下一級證書,然后一級一級的簽發下去最后一級證書簽發簽名。
x.509 定義了證書的數據構成。
這里有有關數字證書的ASN.1描述
http://www.rfc-base.org/txt/rfc-5280.txt
Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile
PKCS #7 V1.5 和 X.509 的定義都采用了ASN.1 語法
http://msdn.microsoft.com/en-us/Windows/hardware/gg463180 是微軟對數字簽名的ASN.1語法描述,但是沒有 PKCS #7Cryptographic Message Syntax Standard. 講些的詳細。
http://www.lapo.it/asn1js/?? 可以將PE 文件最后的證書數據直接解析為 ASN.1語法
asn1viewer 是一個免費工具,也可以解析DER數據
使用 openssl pkcs7命令能夠將完整數字簽名消息中的全部數字證書都導出,然后在使用openssl x509 進行解析。
openssl pkcs7 -inform DER -in Certificate.cer -print_certs
這說明,openssl 是能夠驗證PKCS7并解析pkcs#7數字簽名數據的。
注: 這里導出的證書文件與通過Windows 文件屬性的簽名選項導出的der格式的證書是一樣的。
Linux 下將數字證書解析為ASN.1 文本的命令:
openssl x509 -inform der -in vmUpdate.cer -text
利用openssl pkcs7 命令導出了一個數字簽名數據的全部證書,發現包含了從根證書到最終簽發簽名的全部證書以及用于校驗時間戳的證書。通過這個能夠確定 WinVerifyTrust 函數,應該不會以聯網方式校驗證書的。此外,證書鏈的關聯是通過證書中的Issuer Name? 與Subject 建立的。Issuer Name 標記了上一級證書的名字,Subject 標記了證書的名
微軟文檔中提到了驗證數據簽名是,使用了 Certificates Store 來驗證完成的證書鏈。根據猜測,在Windows? 下運行certmgr.msc 后看得應該就是Certificates Store
通用安全
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。