2013-11-09 52 views
6

我已經爲我的程序購買了證書。使用.cer文件簽名.exe(我的證書名稱是signtool.exe要求的)

從我買了它的網站,給我發了.CER文件(43幾家,真的長的名稱,9962812767788.cer)。沒有發送額外的文件,但我幾乎100%肯定我不需要更多。

當我點擊該.CER文件,有如下信息:

  • 爲:(我的數據)
  • 由:Certum代碼簽名CA
  • 到期:2014-10- 24

所有這些信息似乎都很好。

我有我的.exe文件,我想用它簽名(因此,例如,當用戶在Windows上以管理員身份運行它時,他將能夠看到證書信息)。

我發現我可以使用signtool.exe,但它總是返回一個錯誤,即找不到符合所有條件的證書。

那麼,如何註冊我的程序(添加.CER.EXE)只使用.CER文件(和我可以從.CER文件生成的所有文件)?

我有證書,.CER沒有經驗,所有證書術語,所以請考慮到這一點在回答(我是一個簡單的人......;)


到目前爲止,我已經安裝(我認爲我這麼做是正確的方式).CER在受信任的根證書頒發機構店在您的計算機帳戶,根據MSDN blog

  1. 開始 - >運行 - > MMC
  2. 文件 - >在...中添加/刪除Sanp ...
  3. 從「添加或刪除管理單元」窗口中選擇「證書」,然後單擊「添加>」。選擇「計算機帳戶」,然後點擊「下一步」。
  4. 選擇「本地計算機」,然後單擊「完成」。
  5. 在左側窗格中打開「受信任的根證書頒發機構」存儲並單擊「證書」,如圖7所示。然後右鍵單擊右窗口並選擇「所有任務 - >導入」。
  6. 導入上面的.cer您創建並安裝的文件。

我確實看到現在的我MMC CER: enter image description here

不過,我不知道如何以正確的方式使用signtool.exe。 命令:

Signtool sing /v 
/t http://timestamp.verisign.com/scripts/timstamp.dll 
/n CER_NAME_HERE FileToSign.exe 

失敗,因爲我不知道什麼是「CER_NAME_HERE」我的證書。

回答

2

從您的示例中,您實際上並未指定證書文件。

首先,你需要create a pfx file包含證書和任何簽名CA證書,然後您可以用/f選項傳遞:

signtool.exe sign /f "blah.pfx" /t http://timestamp.comodoca.com/authenticode "filetosign.exe" 

/n選項僅用於選擇證書存儲特定的證書。

+0

當我用它(適當/ F「 file.cer「),我得到錯誤:SignTool錯誤:沒有發現證書符合所有給出的條件(當我使用不正確的文件名像/ F」badfile.cer「我得到錯誤,該文件沒有找到,所以這是一些不同)。 – PolGraphic

+0

@PolGraphic您可能需要將其轉換爲包含證書和任何簽名CA證書的pfx(證書存儲)。我不知道如何做到這一點。 – Deanna

+1

的確,我需要一個pfx文件。你可以將它添加到你的答案,所以我可以將其標記爲正確的答案?/f tip和pfx tip提供了完整的解決方案。 – PolGraphic

4

沒有看到一個清晰的簡潔答案,所以我會添加這個。

對於Certum,當您去請求您的證書時,有一個安裝選項。用它來安裝在你的電腦上。然後,您可以轉到瀏覽器的證書存儲區,從中選擇證書,然後選擇導出。從那裏,您可以選擇導出pfx格式的私鑰。

希望這可以幫助某人, 〜techdude。

4

將證書保存在證書存儲中是正確的方法。直接使用.pfx文件的想法只是要求密鑰被盜。我敢肯定,提供這種回答的同樣的人也爲了方便而保留在某些批處理文件中公開的保護私鑰的密碼。無論如何,我敦促大家使用這些證書商店,這就是爲什麼他們是首先創建的。

您只需將帶有私鑰的.pfx導入Personal商店。將私鑰標記爲不可導出,以增加安全性。然後您可以撥打signtool.exe/n開關和Issued To字段的值。密碼不再需要。如果您使用的是machine scope而不是user scope,則還必須包含/sm開關。

signtool.exe sign /a /n "<Issued_To>" /t "<TimeStamp_Server>" <File_Name> 
0

我有同樣的問題,並通過使用p12而不是pfx文件類型來解決它。我使用Comodo的user.crt使用Firefox證書管理器創建了p12文件。命令行是:

signtool符號/ F 「C:\ Test.p12」/ P密碼1 /噸http://timestamp.comodoca.com/authenticode/v的 「C:\ Test.msi」