2014-09-02 194 views
0

我有兩個密鑰客戶端證書和HttpWebRequest

a .PEM文件和一個.KEY文件。 pem密鑰採用X509格式。

我從提供者(我已發送給提供者.csr)獲得pem文件。

我即將通過使用Microsoft Visual C#.NET中的HttpWebRequest和HttpWebResponse類發送客戶端證書。

對於我已經在Windows中使用MMC工具registret在Windows 2003的服務器的PEM文件:

1)單擊開始,單擊運行,鍵入mmc,然後單擊確定。 2)在文件菜單上,單擊添加/刪除管理單元。 3)在「添加/刪除管理單元」對話框中,單擊「添加」。 4)在「添加獨立管理單元」對話框中,單擊「證書」,然後單擊「添加」。 5)在「證書管理單元」對話框中,單擊「計算機帳戶」,然後單擊「下一步」。 6)在「選擇計算機」對話框中,單擊「完成」。 7)在「添加獨立管理單元」對話框中,單擊「關閉」,然後單擊「確定」。 8)展開證書(本地計算機),展開個人,然後單擊證書。

我然後導入pem文件(也用mmc)。

問題是: 如何授予證書許可?

我曾經嘗試這樣做(WinHttpCertCfg.exe工具):

winhttpcertcfg -l -c LOCAL_MACHINE\Root -s NON-Production.pem 

並且怎麼樣.KEY文件?

回答

0

下載XCA。這是一個建立在openssl之上的應用程序,它可以幫助你從.key文件和.pem文件創建一個p12文件。很簡單。導入.key文件私鑰選項卡。導入.pem文件證書選項卡。然後在證書選項卡導出證書PKCS#12(組合框導出格式)。根據需要設置密碼或保留空白。然後你可以用你寫的mmc導入這個.p12文件。

現在您可以使用winhttpcertcfg設置私鑰的權限。 This文檔將幫助你。 (參數-s表示主題,在mmc中打開導入的證書並在主題字段中查找CN = 東西,然後將此加上與-s參數)。

+0

它看起來很有趣。我會嘗試。 也許你可以進一步幫助我。 我基本上來自一家公司的curl,必須轉換爲.NET。 捲曲-k -v -X GET 「https://FIRMA.com/api/Status?q=AAA&userId=BBB」 --cert recieved_key.pem --key myselfgenerated.key 後,我做了什麼你描述一下,下一步是使用這個命令發送一個帶有新的.p12文件的https請求嗎?X509Certificate cert = X509Certificate.CreateFromCertFile(「d:\\ cert \\ abc.p12」); 這樣的事情: http:// www。codeproject.com/Articles/28395/Attaching-a-digital-certificate-public-key-to-an-H – Henrik 2014-09-03 09:16:47

+0

它應該以這種方式使用'X509Certificate2 cert = new X509Certificate2(「d:\\ cert \\ abc.p12 「,」密碼「);'。如果您有空白密碼,則使用空字符串作爲密碼。 – pepo 2014-09-03 10:29:23

+0

現在一切正常。我很感激。非常感謝。 – Henrik 2014-09-04 12:05:59