使用vs2005,好像只能創建測試證書,該.pfx數字證書默認有效期只有一年,並且“頒發者”、“頒發給”均爲當前機器名和當前登陸用戶名的組合,這看起來頗有不爽。我們完全可以創建更友好的.pfx數字證書嗎?帶着問題,上網,Google,搜到了別些蝦們早都已經整理好的內容,現摘錄如下,以備後忘。
使用Microsoft .NET Framework 的SDK命令提示,按以下步驟操作:
1、創建一個自我簽署的X.509證書(.cer)和一個.pvk私鑰文件,用到makecert工具,命令如下:
makecert -r -n "CN= keyway" -b 01/01/2007 -e 01/01/2018 -sv myselfName.pvk myselfName.cer
按提示設置私鑰密碼(也可以不使用密碼)即可在當前目錄生成相關文件
2、利用X.509證書(.cer)創建發行者證書 (.spc),用到cert2spc工具,命令如下:
cert2spc myselfName.cer myselfName.spc
3、從.pvk和.spc格式轉換成.pfx格式,用到pvkimprt工具,命令如下:
pvkimprt -pfx myselfName.spc myselfName.pvk
按提示操作可導出.pfx證書,若第1步設置了私鑰密碼,此處需要輸入驗證
4、在vs項目的ClickOnce清單簽名的證書設置處點擊“從文件選擇”瀏覽定位到第3步導出的.pfx證書,此處需要驗證第3步中設置的證書私鑰密碼。
=================================================
說明:
1、makecert工具和cert2spc工具是.NET Framework自帶的,在SDK的bin目錄下找得到。
2、pvkimprt工具則是一個附加的工具,其下載地址如下
http://download.microsoft.com/download/vba50/Utility/1.0/NT5/EN-US/pvkimprt.exe