2010-04-27 69 views
7

(我購買來自Thawte的簽名證書的編碼,並已在整個過程中挫折走出我的腦海我如何註冊EXE和DLL我的代碼簽名證書

我從他們身上有哪些:

  • .SPC/.p7b文件
  • .pvk文件

(注:我沒有從他們那裏有一個PFX文件。上帝知道爲什麼,但我一直在與他們的技術支持戰鬥一個星期)

在任何情況下,我發現他們的網站和MS上的「幫助」鏈接signcode.exe這對我無用,因爲我無法找到我的機器上的exe文件,但我有signtool.exe 。

不幸的是我對命令行參數listed on this MS help site感到困惑。

具體來說,我使用什麼參數和值?我嘗試了我認爲顯而易見的東西,但它根本不起作用。

我可以讓簽名嚮導工作,但是我需要這個非交互式工作在哈德森CI批處理文件中。

它看起來好像不太應該這麼難,但是到目前爲止它都是黑魔法。

感謝您的幫助

回答

8

首先,你可以使用在http://msdn.microsoft.com/en-us/library/ff549703(VS.85).aspx

東西所描述的pvk2pfx的工具,像

pvk2pfx -pvk cert.pvk -spc證書生成自己的PFX文件。 spc -pfx cert.pfx -pi密碼

應該做的伎倆。其次,signtool是你所追求的工具。 http://msdn.microsoft.com/en-us/library/aa387764(VS.85).aspx

signtool sign /?

獲取你的幫助,但基本命令你可能後

signtool簽署/ F cert.pfx/P密碼target.exe

這將簽署目標。可執行程序。如果要將證書放入機器上的證書存儲區(這是CSP位),則會變得更加複雜。這對於在許多開發機器上進行簽名,或者在您希望避免將證書放在源代碼控制中的構建實驗室機器上非常有用。

+0

是的,signtool是我正在嘗試使用的,但如果我不使用pfx文件,實際上沒有解釋什麼是參數。 (假設您熟悉證書的所有術語。) – Tim 2010-04-27 13:40:42

+0

問題是我試圖將其與spc和pvk文件一起使用,而不是pfx,因爲我沒有意識到pfx到pfx實用程序。謝謝! – Tim 2010-04-27 13:41:46

+6

您幾乎可以肯定地想要使用/ t http:// timestamp.verisign.com/scripts/timstamp.dll(您可以選擇另一臺服務器,但VeriSign通常是一個不錯的選擇)選項添加時間戳 - 否則,簽名將獲勝在一年或兩年內證書到期後不會被標記爲有效。 timestamp命令應該是「基本命令」的一部分,因爲太多的人似乎忘記了它,並在以後遇到問題。 (注意/ t命令有一個空格來防止「http」被刪除) – BCran 2010-08-21 17:27:27