2015-11-05 50 views
3

我使用以下命令行從Symantec(賽門鐵克)購買的證書爲驅動程序雙重簽名Windows .sys和.cat文件( sys和貓文件都使用相同的選項簽字):雙重簽名.cat文件有錯誤「沒有簽名存在於主題中」

signtool.exe sign /v /ph /n "MyCorp" /ac "C:\Signing\VeriSign Class 3 Public Primary Certification Authority - G5.cer" /i "VeriSign Class 3 Code Signing 2010 CA" /t "http://timestamp.verisign.com/scripts/timstamp.dll" "MyDriver.cat"

signtool.exe sign /v /ph /n "MyCorp" /ac "C:\Signing\VeriSign Class 3 Public Primary Certification Authority - G5.cer" /i "Symantec Class 3 SHA256 Code Signing CA" /tr "http://timestamp.geotrust.com/tsa" /as /fd sha256 /td sha256 "MyDriver.cat"

Signtool.exe報告成功退出時。當我通過右鍵單擊簽名文件來查看簽名時,選擇「屬性」,進入「數字簽名」選項卡,然後看到兩個簽名。 sha1簽名看起來很好。當我在.sys文件中查看sha256證書的詳細信息時,一切看起來都不錯。但是,當我查看.cat文件SHA256該證書的詳細信息,我看到了以下錯誤:

enter image description here

,駕駛人對我配置相信SHA1一個Window7的機器上安裝已被否決於2015年1月1日(而非2016年1月1日到期的實際日期)。

我看到了一份關於此msdn page說:

Note that only .sys files can be dual signed because they are PE files.

那是報價試圖在.cat文件一種迂迴的方式說不能籤雙?

應如何簽署cat文件,以便它們將安裝在所有版本的Windows上?

回答

0

這是隻是一個視覺/美容問題或您的驅動程序安裝失敗?

一個可能更好更穩定的雙重簽名替代方案是安裝程序,其中包含sha1和sha2簽名的二進制文件,根據os版本安裝正確的設置。由於二進制文件的主要部分是相同的,壓縮的安裝程序的大小也不會增加太多。

2

似乎.cat文件不能被雙重簽名。 我的解決方案是使用SHA256證書籤署.cat文件,但使用signtool命令行選項創建SHA1簽名。 與驅動程序相關的.sys文件仍然可以雙重簽名。 這似乎是在我需要的所有場景中工作。

0

貓文件應使用下列程序進行雙重簽字:

inf2cat.exe /driver:__Path__ /os:__WindowsVersions__

signtool.exe sign /v /ac __RootCert__ /t __TimeStampLink__ /sha1 __Sha1ThumbPrint____CatFile__

signtool.exe sign /v /ac __RootCert__ /tr __TimeStampLink__ /td sha256 /fd sha256 /as /sha1 __Sha2ThumbPrint____CatFile__

使用簽名從Windows套件v10.x(或以上)的工具來執行此操作。

+0

我想當我嘗試這個第二個簽名覆蓋第一個。 –

相關問題