2013-07-27 27 views
1

我找到this MSDN article,它解釋瞭如何檢索Authenticode簽名可執行文件的信息。它採用以下格式檢索數據:使用什麼來檢查特定的EXE文件簽名?

Signer Certificate: 

Serial Number: 00 90 1a 1a 1b 1c 1c 26 3d 4f 56 61 70 8f 94 7f e0 
Issuer Name: COMODO Code Signing CA 2 
Subject Name: Signer's Name 

我在這裏的目標是驗證EXE文件與屬於公司的具體簽名證書籤名。爲此,我可以明顯地檢查Subject Name,但我很好奇Serial Number

  1. Serial Number被用來驗證EXE文件與特定的證書籤名?我的測試表明,如果我簽署多個文件,它不會改變。

  2. 證書更新時此序列號是否保持不變? IssuerRDN的

+0

我的理解是,序列號唯一標識特定證書(至少在給定頒發者創建的所有證書中是唯一的)。是的,當你得到不同的(更新或其他)證書時,它會得到一個新的序列號。 –

+0

我認爲問題2最好由證書頒發者回答。 –

回答

1

組合(組識別發行者字段)和的SerialNumber字段唯一地標識該證書作爲每RFC 5280

RFC未定義,如果重新頒發證書會發生什麼情況,但我會假定序列號已更改。原因是新證書與前一個證書不同,因此必須唯一標識。

因此,對於您的任務更好的辦法是

  1. 驗證證書鏈完全保證了證書
  2. 檢查者名稱
  3. 檢查主題名稱
  4. 檢查密鑰的完整性和真實性使用領域。

這將確保證書對該公司有效並獲得授權,並且同時該算法可以避免檢查確切的一個證書的錯誤(如果證書被吊銷,此錯誤可能會導致問題無論出於何種原因,換成新的)。

相關問題