2013-08-30 130 views
12

我剛剛從GoGaddy獲得證書。它進來的.zip文件,該文件中有兩個文件:我的證書的私鑰在哪裏

我已經安裝了他們的「certificate.p7b」 &「cetificate.crt」

,但是當我嘗試查找私關鍵的任何一個,我得到NULL,這意味着他們沒有私人。

當然,所有這些都是更大問題的一部分,我試圖爲AZURE網站安裝證書,並且它不需要.crt文件,因此我需要將它導出到.pfx中

順便說一句,我在一臺工作筆記本電腦,它有一些預裝的證書,並且都有私鑰。這是我用來查找私鑰的代碼:

X509Store store = new X509Store(StoreName.My); 

store.Open(OpenFlags.MaxAllowed); 

foreach (var certin store.Certificates) 
{ 
    var pk = cert.PrivateKey; 
} 

哪裏是私鑰,以及如何獲得它?

回答

13

你已經擁有它了。你在這個過程中做的第一件事就是生成一個密鑰對。然後您從密鑰對中生成一個CSR,然後您得到由CA簽名的簽名,現在您擁有簽名證書,並且您仍然擁有原始密鑰對。

+0

我得到了EJP描述的私鑰,並將其與證書文件@ openssl命令行一起用於創建.pfx文件,然後將其安裝在我的天藍色網站中。 – ostati

4

當您訂購證書時,有時會詢問您是否希望CA爲您創建密鑰對,或者您將在本地生成密鑰。如果您沒有被問到(或者選擇了第二個選項),那麼瀏覽器將生成一個密鑰並將其存儲在內部。然後您將證書請求傳遞給CA,並向您發送證書。

您的瀏覽器中仍然有私鑰。然後有幾種選擇:(1)按照他們的指示使用您用來創建證書請求的相同瀏覽器訪問CA的站點。這將在CA指示您這樣做時起作用,並且(2)CA爲您的類似案例免費重新頒發證書。您可以申請r問題。

但是,一般來說,您必須仔細閱讀所有說明,如果您不瞭解它們,請不要繼續進一步操作。如果密鑰是在本地生成的,則可以提供將私鑰保存在安全的地方。如果你沒有這樣做 - 你是一個怪。

+0

是不是重發應該是[unlimted free](http://archive.is/38yJE#selection-655.36-655.59)? – Pacerier

+0

@Pacerier他們爲什麼會這樣?這是他們的業務,他們不是慈善機構。 –