我有第三方的自簽名證書(.cer)文件。我想在代碼中使用該證書來連接到他們的Web服務(通過HTTPS),而無需在Windows中的我的證書存儲中安裝它。特別是,這樣團隊中的所有其他開發人員不必在本地安裝此證書,以便連接爲他們工作。使用自簽名證書而不安裝在cert store中
有沒有辦法在代碼中做到這一點?它可以使用老式的Web服務客戶端代碼(使用wsdl.exe或VS的添加Web引用)或WCF客戶端代碼(使用svcutil.exe或VS的添加服務引用) - 我們還沒有確定我們想要去哪個方向然而。
我已經試過:
proxy.ClientCertificates.Add(X509Certificate.CreateFromCertFile(@"d:\temp\mycert.cer"));
與老派的Web服務代碼,沒有運氣 - 它仍然失敗,Could not establish trust relationship for the SSL/TLS secure channel.
,直到我真正安裝的證書存儲的證書。同樣的事情:
<identity>
<certificate encodedValue="the base64 encoded contents of the file" />
</identity>
在使用WCF客戶端技術的app.config中的端點。
感謝
謝謝。我最終開始接受dev中所有證書的路線。幸運的是,在生產中,證書不是自簽名的,所以我們不會有這個問題。我希望避免這條路線,即使它只是開發,也只是感覺錯誤,但我想我們必須忍受它。 – 2011-06-10 22:41:27