Wie soll ich überprüfen, ob die Wiederaufnahme der SSL-Sitzung funktioniert oder nicht?

11

Ich verwende nginx und möchte die Wiederaufnahme der SSL-Sitzung implementieren. Wie sollen wir testen, ob es funktioniert?

Ich habe diese Einstellungen aktiviert:

ssl_session_cache    shared:SSL:10m;
ssl_session_timeout  10m;
Sabya
quelle

Antworten:

20

Sie können openssl verwenden, um lokal zu testen:

openssl s_client -connect example.com:443 -reconnect -no_ticket

Oder :

openssl s_client -connect example.com:443 -no_ticket -sess_out /tmp/ssl_s
openssl s_client -connect example.com:443 -no_ticket -sess_in /tmp/ssl_s

(Die -no_ticketOption ist erforderlich , um zu deaktivieren clientseitige TLS - Sitzung Karten , die auch Sitzungswiederaufnahme ermöglichen , ist aber eine andere Einstellung in nginxund begrenzen den Test auf die serverseitige SSL - Sitzungs - Caching von der Konfiguration steuert der OP.)

Für den ersten Befehl erhalten Sie folgende Ausgabe:

drop connection and then reconnect
CONNECTED(00000003)
---
Reused, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES128-GCM-SHA256

Für den letzten erhalten Sie dies im Falle einer Wiederaufnahme der Sitzung:

SSL handshake has read 142 bytes and written 583 bytes
---
Reused, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES128-GCM-SHA256

oder dies im Fehlerfall:

SSL handshake has read 5855 bytes and written 722 bytes
---
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-GCM-SHA384

Sie können sehen, dass der Handschlag viel größer ist, wenn er neu ist.

Bastien Durel
quelle
Es wäre hilfreich, wenn Sie erklären könnten, was die Ausgabe bedeutet und wie Sie damit feststellen können, ob die Wiederaufnahme der Sitzung funktioniert.
Kevin Cox
1
Überprüfen Sie, ob "Wiederverwendet, TLSv1 / SSLv3, Chiffre ist <Cipher>"
Bastien Durel,