2017-03-22 1 views
0

Ich bin eine Verbindung zu einem Java-Webservice mit ssl V3 aus einer ASP.net 2.0 Webanwendung mit HttpWebRequest. Wenn ich den GetRequestStream aufruft, erhalte ich den Fehler "Empfangen eines unerwarteten EOF oder 0 Bytes vom Transportstrom". Ich versuchte, das ServerCertificateValidationCallback hinzuzufügen und true zurückzugeben, um irgendwelche Probleme mit dem Server cert zu ignorieren und das Sicherheitsprotokoll zu ssl3 oder tls zu setzen. Ich habe sichergestellt, dass ich das Zertifikat von der Site heruntergeladen und seine Root-Cert-Ketten im vertrauenswürdigen Stammverzeichnis des LocalMachine-Speicherorts installiert habe. Ich habe auch das Zertifikat der Website in den lokalen Store von LocalMachine installiert. Trotzdem bekomme ich denselben Fehler. Ich bin mir nicht sicher, was ich an dieser Stelle noch versuchen sollte.Empfangen eine unerwartete EOF oder 0 Bytes aus dem Transportstream beim Abrufen von Anfrage Stream von ssl Webservice

Nachstehend ist mein Code an den Webservice zu verbinden:

HttpWebRequest myReq = 
       (HttpWebRequest)WebRequest.Create(Url); 
      myReq.Method = "POST"; 
      ServicePointManager.ServerCertificateValidationCallback = delegate { return true; }; 

      ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3| SecurityProtocolType.Tls; 

      byte [] lbPostBuffer = System.Text.Encoding.GetEncoding(1252).GetBytes(sb.ToString()); 
      myReq.ContentType = "text/xml; charset=utf-8"; 
      myReq.ContentLength = lbPostBuffer.Length; 
      myReq.Accept = "text/xml"; 

      Stream loPostData = myReq.GetRequestStream(); 

Jede Hilfe sehr geschätzt wird. Danke im Voraus!!

Antwort

0

Ich fand meine Antwort. Sieht so aus, als ob der Webservice, mit dem ich mich verbinden wollte, höhere tls-Versionen verwendet. Ich hatte meine Anwendung zu aktualisieren .NET Framework 4.5 zu verwenden, um die folgenden Funktionen ausführen:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11; 
0

Ich arbeite auch an diesem Fehler, es passiert nur auf meinem Windows XP-Rechner. Haben Sie es in Windows 7 oder später versucht?

+0

Ich bin mit meinen auf Windows Server 2008 werde ich andere Versionen von Windows versuchen, um zu sehen, ob ich unterschiedliche Ergebnisse . Vielen Dank! Bitte lassen Sie mich wissen, wenn Sie eine Lösung für Ihr Problem finden. – ptn77

+0

Ich habe versucht, meine App auf Windows 7 mit Chrome zu laufen und immer noch den gleichen Fehler zu bekommen. Als ich meine App auf Windows Server 2008 R2 ausführte, benutzte ich den Internet Explorer. Ich werde versuchen zu sehen, ob ich meine Anwendung dazu bringen kann, die Verwendung von Tls1.2 anstelle von sslV3 oder Tls1 anzugeben. – ptn77

+0

Ich habe mein Problem @ user3755567 gefunden. Ich musste meine Anwendung aktualisieren, um .net Framework Version 4.5 zu verwenden, um höhere tls-Versionen anzugeben: – ptn77

Verwandte Themen