我有一个奇怪的问题.我试图通过TCP/SSL连接到Apple服务器.我使用Apple提供的客户端证书进行推送通知.我在本地受信任的根证书和本地个人证书文件夹中的服务器(Win2k3)上安装了证书.
现在我有一个处理该连接的类库,当我从服务器运行的控制台应用程序调用这个类库时它工作得很好,但是当我从asp.net页面或asmx web服务调用该类库时,我得到了以下例外.
对SSPI的调用失败,请参阅内部异常.收到的消息是意外的或格式错误.
这是我的代码:
X509Certificate cert = new X509Certificate(certificateLocation, certificatePassword); X509CertificateCollection certCollection = new X509CertificateCollection(new X509Certificate[1] { cert }); // OPEN the new SSL Stream SslStream ssl = new SslStream(client.GetStream(), false, new RemoteCertificateValidationCallback(ValidateServerCertificate), null); ssl.AuthenticateAsClient(ipAddress, certCollection, SslProtocols.Default, false);
ssl.AuthenticateAsClient
是错误被抛出的地方.
这让我疯了.如果控制台应用程序可以很好地连接,那么验证失败的asp.net网络层安全性肯定存在一些问题...不确定,可能需要在web.config中添加一些或某种安全策略.还要指出我可以通过控制台和网站在我的本地开发机器上正常连接.
任何人都有任何想法?