Konnte nicht herausfinden, sicheren Kanal für SSL/TLS für den SOAP-Aufruf

Unserer core-server ist für den Aufruf eines soap-web-service über https auf einer Anzahl von verschiedenen Servern, um zu bestätigen, dass eine Transaktion abgeschlossen hat.

Code ist dotnet 3.5 (vb) und arbeitet für die verschiedenen callback-Dienste, die wir eingerichtet haben, bis wir gerade eine neue in Produktion, und es ist die Weigerung zu kommunizieren, geben Sie folgenden Fehler:

Unhandled Exception: System.ServiceModel.Security.SecurityNegotiationException:
Could not establish secure channel for SSL/TLS with authority 'www.xyzzy.com'.
---> System.Net.WebException: The request was aborted: Could not create SSL/TLS secure channel.
at System.Net.HttpWebRequest.GetResponse()
at System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)

Den relevanten Teil des Codes würde zu sein scheinen:

Dim epAddr As New System.ServiceModel.EndpointAddress(sys.CallbackAddress)
Dim bind As New System.ServiceModel.BasicHttpBinding(ServiceModel.BasicHttpSecurityMode.Transport)

_svc = New CallbackSvc.XyzzyCallbackSoapClient(bind, epAddr)

Aus meinem persönlichen laptop (WinXP) habe ich den code ausführen können und es eine Verbindung zu dem neuen server ohne Probleme.

Vom Haupt-server (fordert alle callback-Dienste) (Windows Server Enterprise Service Pack 1), wird der code immer in der oben genannten SSL-Fehler.

Nach googeln, das Problem habe ich versucht, indem Sie die folgende Zeile ein (sicherlich nicht geeignet für die Produktion, aber ich wollte das testen):

System.Net.ServicePointManager.ServerCertificateValidationCallback = Function(se As Object, cert As System.Security.Cryptography.X509Certificates.X509Certificate, chain As System.Security.Cryptography.X509Certificates.X509Chain, sslerror As System.Net.Security.SslPolicyErrors) True

Das Ergebnis war das gleiche. Der SSL-Fehler immer noch aufgetreten ist.

Andere Orte vorschlagen, das root-cert nicht korrekt installiert werden, auf die aufrufende Maschine, sondern auch die neuen server und die alten callback-Server verwenden Zertifikate, ausgestellt von Go Daddy, damit ich nicht denke, das ist hier der Fall.

InformationsquelleAutor Zarigani | 2010-10-20

Schreibe einen Kommentar