Wie simuliere ich einen fehlgeschlagenen SSL-Client-Handshake?


7

Ich habe einen Fehler in meiner App, der ausgelöst wird, wenn der Client mitten in der SSL-Handkahe die Verbindung trennt. Die einzige Möglichkeit, dies auszulösen, besteht darin, 100 Threads in JMeter auszuführen und den Test plötzlich zu stoppen, was dazu führt, dass einige dieser 100 Threads im gewünschten Zustand enden. Gibt es einen deterministischeren Weg, dies zu testen?

Antworten:


3

Sie können es mit open ssl s_client versuchen ( https://www.openssl.org/docs/apps/s_client.html ).

Wenn Sie eine deaktivierte Verschlüsselung verwenden, entspricht dies einem fehlerhaften Handshake. (-cipher SRP-AES-256-CBC-SHA hängt zum Beispiel von Ihrer Server-Chiffre ab :)).


1
Das ist gut, aber meine App verhält sich immer noch wie erwartet, wenn der Handhsake aufgrund einer nicht unterstützten Verschlüsselung fehlschlägt. Ich muss den Handshake nicht bestehen, da der Client während des Handshakes die Verbindung trennt.
Pitel

Zum Debuggen von SSL-Handshake-Fehlern gleich weich, aber andere Optionen. Wenn es nach dem SSL-Handshake ist, müssen Sie: - mit einem https-Proxy (Fiddler unter Windows) versuchen - Serverprotokolle auf Zurücksetzen oder andere Hinweise auf SSL-Zurücksetzen / Fehlschlagen überprüfen.
YuKYuK

0

Sie können die Verbindungseinstellungen im IE ändern, indem Sie die Standardeinstellung für Ihre Anwendung (im Client) deaktivieren und dann beobachten, wie sie auf eine andere zurückfällt. Wenn Sie beispielsweise TLS1.2 auf dem Client deaktivieren möchten, beobachten Sie, ob TLS1.1 fehlschlägt (wenn beide vom Server unterstützt werden).


Ich habe mehr über ein CLI-Dienstprogramm nachgedacht, wie curloder wget.
Pitel

Mit wget könnten Sie dies wahrscheinlich nicht tun. Mit Curl ist es ziemlich einfach, verwenden Sie einfach curl --tlsv1, aber die Verbindung schlägt fehl. Geben Sie sie in zwei Zeilen ein, eine mit tlsv1 und eine mit sslv3-, die ausgelöst werden sollte, wenn sie mit der ersten Methode nicht abgerufen werden kann.
Alex H
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.