我遇到了一個奇怪的問題。我正嘗試通過TCP/SSL連接到Apple服務器。我正在使用Apple提供的客戶端證書進行推送通知。我在本地受信任的根證書和本地個人證書文件夾中的服務器(Win2k3)上安裝了證書。SslStream.AuthenticateAsClient異常(消息格式錯誤)
現在我有一個類庫處理該連接,當我從服務器運行的控制檯應用程序調用此類庫時它工作得很好,但是當我從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中添加一些或某種安全策略。也只是要指出,我可以連接我的本地開發機器與控制檯和網站都很好。
任何人有任何想法?
嗨我現在面臨同樣的問題。你是如何解決這個問題的?請幫忙 – ramesh 2013-09-03 03:09:50