[.NET] ClickOnce 憑證展期

[.NET] ClickOnce 憑證展期

當我們用 ClickOnce 的方式來部署應用程式,按下發佈後

image

 

PS.別真的發佈,這時會跳出FTP驗證,取消發佈

 

這時,就能看到VS幫我們產生了憑証,同時也會安裝到電腦裡

image

 

VS幫我們在安裝電安裝了腦憑

image


同時也會幫我們在專案裡產生*.pfx

image

 

不過,這個憑證預設的憑證只有一年的時間,假設我們還沒有發佈,我們可以利用 Makecert.exe 來工作,它在

VS2010:C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin

VS2012:C:\Program Files (x86)\Windows Kits\8.0\bin\x86

 

或是直接調用cmd for VS2012

image

 

Step1.建立*.pvk / *.cer檔案

在cmd輸入以下

Makecert -sv CertExpand1_TemporaryKey.pvk -n "CN=Yao" CertExpand1_TemporaryKey.cer -b 03/25/2013 -e 03/25/2020 -r

 

ps.

  1. 由於預設本機的憑証是根憑証,所以加了 –r ,請適憑證狀況產生,Makecert 的文件可以提供很大的幫助
    http://msdn.microsoft.com/zh-tw/library/bfsktky3%28v=vs.110%29.aspx
  2. CN 也必須要與展期前的名稱一樣

 

跳出密碼設定

image

 

輸入密碼

image

 

成功

image

 

完成後便會多出*.pvk / *.cer 兩個檔案

image

 

Step2.建立新的憑證檔案

在cmd輸入以下

Pvk2pfx -pvk CertExpand1_TemporaryKey.pvk -spc CertExpand1_TemporaryKey.cer -pfx NewCertExpand_TemporaryKey.pfx -po pass@w0rd1~

image

 

完成後就會多一個新的*.pfx

image

 

回到VS2012選擇我們剛剛的檔案,就可以得到展期後的憑證了

image

 

接下來就可以選擇這個比較長命的憑證來發佈了


Create Test Certificate

如果不喜歡VS幫我們產生的憑證,也可以自己產生

image

 

又產生新的憑證了

image

 

若是要對這憑證括展,用法跟上面步驟一模一樣

參考資源:

http://msdn.microsoft.com/en-us/library/ff369721.aspx


假設憑證已經到期了,我們可以使用RenewCert.exe

image

Step1.下載。並解壓縮

http://goldmailrobin.blob.core.windows.net/robindotnet/RenewCertBinaries.zip

 

Step2.然後把我們要括展的憑證擺過去

SNAGHTMLfb20ab6

 

Step3.在cmd下切換到正確的檔案目錄

然後輸入以下命令

RenewCert.exe CertExpand1_1_TemporaryKey.pfx NewCertExpand1_1_TemporaryKey.pfx cn="Yao" pass@w0rd1~

image

 

產生新的檔案

image

 

Step4.重新選擇檔案

image

 

延長5年

image

 

參考來源:

http://robindotnet.wordpress.com/2010/01/26/how-to-extend-an-existing-certificate-even-if-it-has-expired/

若有謬誤,煩請告知,新手發帖請多包涵


Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET

Image result for microsoft+mvp+logo