英文文章,介紹了證書與簽名的關係。
是翻譯後的文章。
pe 數字簽名是被der編碼方式編碼的二進位制資料,資料的構成有 pkcs #7 v1.5 定義,具體請參考 pkcs #7cryptographic message syntax standard.
pkcs#7 資料中包含了簽發簽名的證書以及其上級證書的完整證書鏈。根證書簽發下一級證書,然後一級一級的簽發下去最後一級證書簽發簽名。
x.509 定義了證書的資料構成。
這裡有有關數字證書的asn.1描述
x.509 public key infrastructure certificatepkcs #7 v1.5 和 x.509 的定義都採用了asn.1 語法and certificate revocation list (crl) profile
是微軟對數字簽名的asn.1語法描述,但是沒有 pkcs #7cryptographic message syntax standard. 講些的詳細。
可以將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
PE檔案數字簽名格式
windows 平台pe檔案 數字簽名格式 版本 1.0 2008年3月31日 摘要 authenticode 是一種數字簽名格式,它是用來驗證二進位制軟體的 和完整性。authenticode是基於公開密匙加密標準 pkcs 7 來簽名資料,並使用x.509證書來繫結經過數字簽發的二進位制程式與其...
數字簽名簽名概述
數字簽名的技術流程描述 1 傳送者使用摘要演算法對傳送資訊產生資訊摘要 2 傳送者使用自己的私鑰對資訊摘要進行簽名 3 傳送者將資訊本身和已簽名的摘要一起傳送出去 4 接收者使用相同的摘要演算法對資訊本身計算資訊摘要 5 接收者使用傳送者的公鑰對簽名的摘要就行驗籤,獲得資訊傳送者的資訊摘要 6 接收...
數字信封 數字簽名
2019 08 06 19 51 51 數字簽名是用來表明資料傳送者身份的,有了簽名就說明這個資料是傳送都發出來的。為什麼?因為可以用你的公鑰開啟你的簽名資訊,獲取明文的hash值。數字信封,被公鑰加密後的對稱密碼被稱為數字信封,用於對稱金鑰的交換。數字證書,用來證明資料傳送者的身份的。為什麼能證明...