2013-02-14 96 views
1

有一個在下面的鏈接一個很大的問題和答案:創建代碼簽名證書爲.NET

How do I create a self-signed certificate for code signing on Windows?

我有點困惑列出的兩個程序((一)創建一個自簽署認證機構和(b)創建代碼簽名(SPC)證書)。我們做一個,然後做b或者是一個嗎?

創建自簽名的證書頒發機構(CA)

makecert -r -pe -n 「CN =我的CA」 -ss CA -sr CurrentUser -a SHA256 -cy權威-sky簽名 - SV MyCA.pvk MyCA.cer

創建代碼簽名(SPC)證書

makecert -pe -n 「CN =我的SPC」 -a SHA256 -Cy結束 -sky簽名 -IC MyCA.cer -iv MyCA.p VK -sv MySPC.pvk MySPC.cer

回答

1

重要聲明:這當然假定這些證書僅用於內部使用;如果你想要一個可以被客戶信任的代碼簽名證書,你可以跳過步驟(a)並且支付一個實際的CA(其證書已經被你的客戶信任的證書)來爲你簽署你的代碼簽名證書。

您先創建一個(自簽名)CA證書(a),然後用它簽署您的代碼簽名證書(b)。

可以跳過步驟(a)和剛剛創建自簽名代碼簽名證書來代替,但也有創造自己的CA證書的優勢:

  • 這更加緊密地反映了您可能會遇到「野外」的設置,其中代碼簽名證書(或幾乎任何其他類型)將由單獨的可信頒發證書籤名。
  • 如果您生成多個證書並使用您的CA證書進行簽名,則只需要將一個證書(CA)安裝爲「受信任的根」,並且可以更好地控制對其的訪問。這限制了您的證書必須被撤銷時您需要做的誤用範圍和損害控制。
0

你爲什麼不試試呢?或閱讀documentation

第一個命令生成證書頒發機構,其他證書鏈接到該證書頒發機構。這是所謂的信任鏈,所以如果您信任CA證書,則您信任由此構建的所有證書。

第二個命令根據CA證書生成證書。