Ich entwickle einen TCP-Client, um den OpenSSL-Server mit der Zertifikatauthentifizierung zu verbinden. Ich benutze .crt und .key Dateien, die vom Server-Team geteilt werden. Diese Zertifikate werden von OpenSSL-Befehlen generiert.Authentifizierung fehlgeschlagen, weil die Gegenstelle den Transportstream geschlossen hat
Ich verwende SslStream
Objekt das TCP-Client zu authentifizieren durch den Aufruf SslStream.AuthenticateAsClient
Verfahren nach Server IP
, SslProtocols.Ssl3
und X509CertificateCollection
vorbei.
Ich erhalte die folgende Fehlermeldung:
Authentication failed because the remote party has closed the transport stream
helfen Bitte zu diesem Thema und Dank im Voraus.
Das sieht wie ein Problem in den Post-POODLE Tagen aus: 'SslProtocols.Ssl3'. Vielleicht solltest du 'SslProtocols.Tls' ausprobieren. In .Net 4.5 und höher können Sie auch 'Tls11' oder' Tls12' verwenden. Siehe [SslProtocols Enumeration] (https://msdn.microsoft.com/en-us/library/system.security.authentication.sslprotocols%28v=vs.85%29.aspx). Sie haben möglicherweise andere Probleme. – jww
Siehe auch [Socket und Authentifizierung fehlgeschlagen, da die Remote-Partei die Transportstream-Ausnahme in WPF geschlossen hat] (http://stackoverflow.com/q/27840644). – jww
Danke. Mein Problem wird gelöst, indem das Zertifikat vom physischen Pfad des Zertifikats und des Kennworts angehängt wird, anstatt den Zertifikatsantragstellernamen aus dem Windows-Zertifikatsspeicher zu suchen. – Odelu