windows下如何製作和應用數字簽名證書 全流程

2021-09-25 07:18:48 字數 2927 閱讀 2347

需要準備的工具:makecert.exe、cert2spc.exe、pvk2pfx.exe、signtool.exe。

在ms的sdk6.0中有個證書生成工具makecert.exe, 你可以使用這個工具來生成測試用的證書。

第一步,生成乙個自簽名的根證書(issuer,簽發者)。

>makecert -n "cn=root" -r -sv rootissuer.pvk rootissuer.cer

這個時候,會彈出提示框,首先給rootissuer.pvk檔案設定私鑰保護口令;

然後,再次輸入這個口令用私鑰(在rootissuer.pvk檔案中)來給公鑰(在rootissuer.cer檔案中)加密。

第二步,使用這個證書簽發乙個子證書(使用者,subject)。

>makecert -n "cn=child" -iv rootissuer.pvk -ic rootissuer.cer -sv childsubject.pvk childsubject.cer

此時,會彈出提示框先給這個子證書的私鑰檔案childsubject.pvk設定保護口令;

然後,輸入這個子證書的私鑰(在childsubject.pvk中)口令來保護子證書的公鑰(在childsubject.cer中)。

接下來會提示輸入根證書私鑰(在rootissuer.pvk中)口令來簽發整個子證書(公鑰和使用者資訊)。

如果你還要簽發更多的子證書,類似的,使用這個證書來簽發再下層的證書,前提是childsubject證書也可以用於簽發(作為issuer)用途。

備註:(1)如果你需要乙個互動證書,用於安全通訊,那麼,加入選項 -sky exchange;

(2)如果你需要乙個簽名證書來簽發證書或者二進位制檔案,那麼,加入選項 -sky signature.

(3)如果你需要乙個客戶端證書來標誌你的身份,或者個人資訊保護(電子郵件),那麼,選項-n 中的e欄位是不可缺少的。

引數為:makecert -r -pe -n "cn=myca" -$ commercial -a sha1 -b 08/05/2010 -e 01/01/2012 -cy authority -ss my -sr currentuser

其中各部分的意義:

-r: 自簽名

-pe: 將所生成的私鑰標記為可匯出。這樣可將私鑰包括在證書中。

-n "cn=myca": 證書的subject name,.net自帶類庫中有x509store類,可以在store中根據證書subject name,來找到改證書

store參考:x509store 類 

-$ commercial:指明證書商業使用。。。

-a:指定簽名演算法。必須是 md5(預設值)或 sha1。

-b 08/05/2010:證書有效期的開始時間,預設為證書的建立日期。格式為:mm/dd/yyyy

-e 01/01/2012:指定有效期的結束時間。預設為 12/31/2039 11:59:59 gmt。格式同上

-ss my:證書產生到my個人store區

-sr currentuser:保持到計算機當前個人使用者區,其他使用者登入系統後則看不到該證書。。

檢視該生成的證書並匯出:

可以在mmc的證書管理單元中對證書儲存區進行管理。windows沒有給我們準備好直接的管理證書的入口。自己在mmc中新增,步驟如下: 

1. 開始→執行→mmc,開啟乙個空的mmc控制台。

2. 在控制台選單,檔案→新增/刪除管理單元→新增按鈕→選」證書」→新增→選」我的使用者賬戶」→關閉→確定

3. 在控制台選單,檔案→新增/刪除管理單元→新增按鈕→選」證書」→新增→選」計算機賬戶」→關閉→確定

然後匯出為pfx格式的證書,pkcs#12規範的證書,包含了公鑰和私鑰,匯出時需要提供乙個私鑰的保護密碼,在匯出時設定即可

其他輔助工具:

1) 公鑰證書格式轉換成spc。 cert2spc.exe

>cert2spc testroot.cer testroot.spc

.spc 意思是 軟體發布者證書(software pulisher cerificate).

2) 將公鑰證書和私鑰合併成乙個pfx格式的證書檔案。pvk2pfx.exe

>pvk2pfx -pvk testroot.pvk -spc testroot.spc -pfx testroot.pfx

輸入testroot.pvk的保護口令來合併.pvk和.spc檔案,如果你不設定即將合併出來的testroot.pfx的保護口令的話,這個保護口令和輸入檔案testroot.pvk的保護口令一樣。(備註:直接從cer檔案也可以,不一定要得到spc檔案).

3) 簽名工具。signtool.exe

二進位制檔案數字簽名.為了保證二進位制檔案的完整性,數字簽名是乙個好的方法。

以下命令啟動乙個有圖形介面的檔案簽名工具嚮導:

>signtool wizard

以下是命令列方式的簽名:

>signtool  sign /f "pfx檔案的全路徑" /p "pfx檔案的保護口令" /t "" /d "本次簽名的描述" "被簽名的程式的全路徑"

windows下如何製作和應用數字簽名證書 全流程

需要準備的工具 makecert.exe cert2spc.exe pvk2pfx.exe signtool.exe。在ms的sdk6.0中有個證書生成工具makecert.exe,你可以使用這個工具來生成測試用的證書。第一步,生成乙個自簽名的根證書 issuer,簽發者 makecert n cn...

網線如何製作和如何使用?

網線製作是搞網路的人的必修課,也是最為基礎的實戰專案。網線製作方法有很多,我們在此簡單的製作一下現在出現最多的rj45通用8針網線製作方法。網線做法有兩種國際標準,分別是eia tia568a和eia tia568b。兩種標準對應的線序如下 正確檢視網線線序的方法為 水晶頭彈片朝下,且有水晶彈片的一...

patch和git製作和應用補丁

1 處理單個檔案補丁的方法 產生補丁 diff un from file to file to file.patch 打補丁 patch p0 to file.patch 取消補丁 patch re p0 to file.patch 2 對整個資料夾打補丁的情況 產生補丁 diff unr from...