2011-09-25 161 views
2

我正在嘗試製作X.509證書。我正在使用makecert.exe來做到這一點。我用這個命令讓我的X.509證書
如何製作X.509證書?

makecert.exe -sr LocalMachine -ss My -a sha1 -n CN=MyServerCert -sky exchange –pe 

但我不`噸知道有X.509證書storeing。
我需要在我的c#代碼中使用此X.509證書。代碼是:

host.Credentials.ServiceCertificate.Certificate = new X509Certificate2("MyServerCert.p12", "password"); 

但我不知道密碼是什麼,它引發此異常「系統找不到指定的文件」。

回答

8

我總是使用PluralSight的SelfCert工具。您可以下載here。相同的頁面也提供了用法和代碼示例。

偉大的免費工具,離不開它。

+1

非常感謝我的兄弟 – Vero009

+0

鏈接已損壞。 https://www.pluralsight.com/blog/software-development/selfcert-create-a-self-signed-certificate-interactively-gui-or-programmatically-in-net可能是它的新位置。 – Theophilus

+0

@Theophilus,thx,固定鏈接 – kroonwijk

5

我很高興,你必須找到makecert命令,但或許,如果你也將檢查makecert documentation你發現那裏的證書存儲,因爲它是在你的命令的PARAMATERS定義:

  • SR說,證書將用於LocalMachine存儲位置產生
  • SS說證書將被存儲在PersonalMy)商店

的certific吃了被存儲在證書存儲,以便使用MMC.EXE找到它:

  • 打開開始菜單
  • 在搜索/運行鍵入mmc和運行它
  • 在文件菜單中選擇添加/刪除管理單元
  • 選擇證書管理單元與本地計算機的範圍和確認選擇

現在在個人存儲稱爲MyServerCert您LOCALMACHINE選擇證書,並從上下文菜單中選擇所有任務>導出。在導出過程中,檢查是否需要導出私鑰,但不檢查擴展安全性或私鑰刪除。您還必須選擇存儲導出證書的路徑以及訪問私鑰的密碼。

從VS命令提示符下,您還可以運行此命令,將執行導出你還有:

certutil.exe -privatekey -p password -exportpfx "MyServerCert" C:\Temp\MyServerCert.pfx 

應該用私鑰對Temp目錄和密碼,證書將是password導出證書。

+0

非常感謝我的兄弟。 – Vero009