我有第三方的自签名证书(.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