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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es stellte sich heraus, dass eine Wechselwirkung zwischen der Produktion "core" - server (den der Dienst aufgerufen wird) und die Ziel-server (hosting-service) nicht teilen, eine akzeptable https-Algorithmus. wfetch war sehr hilfreich bei der Diagnose des Problems.
Es stellte sich heraus, der Ziel-server nicht eingerichtet wurde, zu akzeptieren, TLS 1.0, nur SSL 3.0 wurde akzeptiert.
Anscheinend etwas geändert, Windows 2008 Server, was bedeutet, dass ausgehende https-verbindungen nur akzeptiert werden, mithilfe von TLS 1.0 (oder besser vermutlich).
In unserem Fall war das problem behoben, wenn die Konfiguration auf dem Ziel-server geändert wurde, zu akzeptieren, TLS. Es fühlt sich an wie es sollte sein ein Weg, um zu ändern, mein Programm zu zwingen, die SSL verwenden, aber ich habe es nicht gefunden.
Ich denke, wir haben das gleiche Problem.. ich habe einige Probleme, herauszufinden, wie zu aktivieren Sie TLS. Haben Sie vielleicht einen Ansatzpunkt? Ich habe versucht, hinzufügen von ein paar Dinge in die registry, Neustart des server. Der Fehler besteht weiterhin. Alle Zertifikate gültig sind.
Sie sollten sich eine separate Frage. Sie können auch einen link zu dieser ein.
Erstellt habe ich eine Frage: stackoverflow.com/questions/9800947/...
InformationsquelleAutor Zarigani
Auf der client-Seite versuchen:
InformationsquelleAutor frosty
Ich habe den gleichen Fehler "Konnte nicht hergestellt sicheren Kanal für SSL/TLS mit Autorität "www.xyzzy.com'." beim verschieben einer vorhandenen Anwendung einschließlich einer erforderlichen client-Zertifikat von einem server zum anderen. Was verursacht das problem auf dem neuen server war, dass der IIS-Benutzer, in diesem Fall "IIS_WPG", hatte nicht gelesen haben & die execute-Berechtigung für das Zertifikat nur auf den neuen server verschoben. Ändern Sie das Zertifikat Zugriffsberechtigungen kann getan werden, mit wsetools.
/Stefan
InformationsquelleAutor Stefan