Wie zu verwenden statt SSL3, TLS in einer bestimmten HttpWebRequest?

Meine Bewerbung hat zu sprechen, zu verschiedenen hosts, die über https, und die Standard-Einstellung von ServicePointManager.SecurityProtocol = TLS mir gut gedient bis zu diesem Tag. Nun habe ich einige hosts, die (wie System.Net trace-log zeigt) nicht die Antwort auf die erste TLS-handshake-Nachricht, aber halten die zugrunde liegende Verbindung offen, bis es mal aus, werfen Sie eine timeout-exception. Ich habe versucht HttpWebRequest's timeout, um so viel wie 5 Minuten, mit dem gleichen Ergebnis. Vermutlich sind diese Techniker sind bereit für eine SSL3-handshake, da sowohl IE und Firefox sind in der Lage, eine Verbindung zu diesen hosts nach 30-40 Sekunden Verzögerung. Es scheint einige fallback-Mechanismus in .NET abbaut TLS SSL3, aber es hat nicht zu treten in aus irgendeinem Grund.

FWIW, hier ist die handshake-Nachricht, mein Antrag ist zu senden (eine normale TLS-1.0-CLIENT-HELLO-Nachricht):

00000000 : 16 03 01 00 57 01 00 00-53 03 01 4C 12 39 B4 F9 : ....W...S..L.9..
00000010 : A3 2C 3D EE E1 2A 7A 3E-D2 D6 0D 2E A9 A8 6C 03 : .,=..*z>......l.
00000020 : E7 8F A3 43 0A 73 9C CE-D7 EE CF 00 00 18 00 2F : ...C.s........./
00000030 : 00 35 00 05 00 0A C0 09-C0 0A C0 13 C0 14 00 32 : .5.............2
00000040 : 00 38 00 13 00 04 01 00-00 12 00 0A 00 08 00 06 : .8..............
00000050 : 00 17 00 18 00 19 00 0B-00 02 01 00             : ............    

Gibt es eine Möglichkeit zu nutzen, statt SSL3, TLS in einer bestimmten HttpWebRequest Kraft oder ein fallback? Es scheint, dass ServicePointManager's Einstellung ist global, und ich würde es wirklich hassen zu müssen, verschlechtert die Sicherheit Protokoll-Einstellung zu SSL3 für die gesamte Anwendung.

  • Hast du eigentlich testen Sie Ihre Hypothese, indem Sie ändern die Einstellung für die Verbindung zu SSL3?
  • Ja, die Hypothese als richtig erwiesen. Die Gastgeber waren Netware, und es scheint, dass es Netware-Richtlinie bezüglich der unbekannte/ungültige Anfragen nicht zu reagieren, oder geben Sie Fehlermeldungen, die vermutlich zur Verringerung der Angriffsfläche.
InformationsquelleAutor Anton Tykhyy | 2010-06-12
Schreibe einen Kommentar