Was ist das Standardsicherheitsprotokoll für die Kommunikation mit Servern, die bis zu unterstützen TLS 1.2
? Wille.NET
standardmäßig das höchste Sicherheitsprotokoll, das auf der Serverseite unterstützt wird, oder muss ich diese Codezeile explizit hinzufügen:
System.Net.ServicePointManager.SecurityProtocol =
SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
Gibt es neben einer Codeänderung eine Möglichkeit, diese Standardeinstellung zu ändern?
Schließlich unterstützt .NET 4.0
nur bis zu TLS 1.0
? dh ich muss Client-Projekte auf 4.5 aktualisieren, um zu unterstützenTLS 1.2
.
Meine Motivation ist es, die Unterstützung für zu entfernen SSLv3
auf der Clientseite auch wenn der Server dies unterstützt (ich habe bereits ein Powershell-Skript, um dies in der Maschinenregistrierung zu deaktivieren) und das höchste vom Server unterstützte TLS-Protokoll zu unterstützen.
Update:
Wenn ich mir die ServicePointManager
Klasse in .NET 4.0
ansehe, sehe ich keine aufgezählten Werte für TLS 1.0
und 1.1
. In beiden .NET 4.0/4.5
Fällen ist die Standardeinstellung SecurityProtocolType.Tls|SecurityProtocolType.Ssl3
. Hoffentlich wird dieser Standard nicht durch Deaktivieren SSLv3
in der Registrierung unterbrochen.
Ich habe jedoch beschlossen, alle Apps auf alle Bootstrapping-Codes aller Anwendungen zu aktualisieren .NET 4.5
und sie SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
trotzdem explizit hinzuzufügen .
Dadurch werden ausgehende Anforderungen an verschiedene APIs und Dienste gesendet, um kein Downgrade durchzuführen, SSLv3
und es sollte die höchste Ebene von ausgewählt werden TLS
.
Klingt dieser Ansatz vernünftig oder übertrieben? Ich muss viele Anwendungen aktualisieren, und ich möchte sie zukunftssicher machen, da ich höre, TLS 1.0
dass einige Anbieter in naher Zukunft möglicherweise sogar veraltet sind.
Hat das Deaktivieren von SSL3 in der Registrierung als Client, der ausgehende Anforderungen an APIs stellt, überhaupt Auswirkungen auf das .NET Framework? Ich sehe standardmäßig, TLS 1.1 und 1.2 sind nicht aktiviert. Müssen wir es über die Registrierung aktivieren? RE http://support.microsoft.com/kb/245030 .
Nach einigen Nachforschungen glaube ich, dass die Registrierungseinstellungen keine Auswirkungen haben werden, da sie für IIS (Server-Unterschlüssel) und Browser (Client-Unterschlüssel) gelten.
Entschuldigung, dieser Beitrag wurde zu mehreren Fragen, gefolgt von "vielleicht" Antworten.