Sicherer Kanal für SSL / TLS für SOAP-Aufruf konnte nicht hergestellt werden

Unser Hauptserver ruft über https auf mehreren Servern einen Seifen-Webdienst an, um zu bestätigen, dass eine Transaktion abgeschlossen wurde.

Der Code ist dotnet 3.5 (vb) und funktioniert für die verschiedenen von uns eingerichteten Rückrufdienste, bis wir gerade einen neuen in die Produktion verlagert haben und die Kommunikation verweigert wird. Dies führt zu folgendem 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)

Der relevante Code scheint zu sein:

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)

Auf meinem persönlichen Laptop (WinXP) kann ich den Code ausführen und er stellt ohne Probleme eine Verbindung zum neuen Server her.

Vom Hauptserver (der alle Rückrufdienste aufruft) (Windows Server Enterprise Service Pack 1) führt der Code immer zum oben genannten SSL-Fehler.

Nach dem googeln des Problems habe ich versucht, die folgende Zeile hinzuzufügen (sicherlich nicht für die Produktion geeignet, aber ich wollte 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 ist weiterhin aufgetreten.

Andere Stellen weisen darauf hin, dass das Stammzertifikat nicht korrekt auf dem aufrufenden Computer installiert wurde, aber sowohl der neue Server als auch der alte Rückrufserver verwenden Zertifikate, die von Go Daddy ausgestellt wurden. Ich glaube also nicht, dass dies hier der Fall ist.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage