最近项目里面遇到的一个问题: 代码在Test和Dev的Server上都运行的很好, 但是部署到staging或者产品环境后, 在调用一个web service的时候 (使用client certificate)就发现有这个error:
The request was aborted: Could not create SSL/TLS secure channel.
打开System.Net trace以后, 可以看到有下面的错误:
Decrypt returned SEC_I_RENEGOTIATE.
AcquireCredentialsHandle() failed with error 0X8009030D.
根据这篇文章的说法, 把client端的assembly用.net4重新编译一下, 问题就不再出现了. 以前client端的assembly是.net3.5下编译的.
http://blogs.msdn.com/b/dsnotes/archive/2012/01/10/acquirecredentialshandle-fails-with-sec-e-unknown-credentials-from-a-wcf-application.aspx
但是奇怪的是Test和Dev的server上面都是没有问题的.