服務器模式SSL必須使用證書與關聯的私鑰」,關鍵是有...
至於其他已經表示,他們必須在同一個文件。這裏有步驟去做
首先
複製ZeusHTTP.crt
到ZeusHTTP-chain.crt
:
cp ZeusHTTP.crt ZeusHTTP-chain.crt
二
打開ZeusHTTP-chain.crt
,並確保它具有所有驗證服務器證書所需的中間體證書。因此,您將擁有2個或更多證書:
-----BEGIN CERTIFICATE-----
<server certificate>
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
<intermediate certificate>
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
<intermediate certificate>
-----END CERTIFICATE-----
根據需要添加證書。例如,如果您獲得了免費的Startcom證書,則需要從StartSSL's Index of Certs中添加sub.class1.server.ca.pem
中間值。
發送所有證書需要解決PKI中的「哪個目錄」問題。它是PKI中一個衆所周知的問題,實際上這意味着客戶端不知道去哪裏獲取缺失的中間證書。
三
執行以下操作來生成一個PKCS 12文件:
openssl pkcs12 -export -in ZeusHTTP-chain.crt -inkey ZeusHTTP.key -out ZeusHTTP.p12
四
最後,在IIS上安裝該證書作爲測試。
對於您的代碼,我相信您需要將其加載到Certificate2
而不是Certificate
。
另請參見MSDN上How to read a .p12 file in my web service在堆棧溢出或how to create x509 certificate and use it in sslstream。
來源
2014-04-27 01:13:11
jww
如果指定絕對路徑,該怎麼辦?附註:我已經從你的文章中刪除了「搜索很多」/「謝謝你」的文字 - 儘量不要將它添加到你的文章中,因爲他們很少提供任何額外的細節。 –
@AlexeiLevenkov我確實嘗試過。我確實得到了一個可行的答案。另外,我把我搜索了很多,因爲我不喜歡沒有搜索就問的人,它可能看起來像那樣。 – Zeusoflightning125
您的問題已經顯示出一些研究結果,幷包含足夠的詳細信息來診斷問題。 「你有沒有搜索過任何東西」評論通常在問題沒有顯示任何努力/細節時提出 - 增加「搜索了很多」不會突然提出問題而沒有細節問題,也不會顯示努力尋找答案。 –