2013-07-19 11 views
37

Come eseguire il debug di handshake ssl, preferibilmente con curl?Debug SSL Handshake

Vorrei risolvere per autenticazione di directory con certificato client. Mi piacerebbe soprattutto scoprire quali certificati client accettabili vengono inviati dal server.

Grazie in anticipo

risposta

2

ricciolo probabilmente ha alcune opzioni per mostrare ulteriori informazioni, ma per cose come questa che uso sempre openssl s_client

Con l'opzione -debug questo dà un sacco di informazioni utili

Forse dovrebbe aggiungere che questo funziona anche con connessioni non HTTP. Quindi se stai facendo "https", prova i comandi di arricciatura suggeriti sotto. Se non sei o volete una seconda opzione openssl s_client potrebbe essere buono

+1

Nota che se la tua versione di arricciatura è compilata su una libreria SSL diversa come GnuTLS (invece di openssl - controlla usando 'curl -V'), allora dovresti provare a eseguire il debug della tua connessione con un binario che usa quella libreria SSL invece ad es gnutls-cli -V www.google.com 443 –

37

ho usato questo comando per risolvere i problemi certificato client negoziazione:

openssl s_client -connect www.test.com:443 -prexit 

L'uscita conterrà probabilmente "i nomi di CA accettabile certificato client" e un elenco di certificati CA dal server, o possibilmente "Nessun nome CA certificato certificato CA inviato", se il server non richiede sempre certificati client.

+0

Apparentemente "openssl s_client .." controlla solo la catena di certificati, ma non i nomi nella richiesta HTTP stessa. Faccio fatica con alcuni certificati che mi piacciono, ma il ricciolo non lo è. – radiospiel

+0

Ho combinato il precedente con '-showcerts' e ha funzionato come un incantesimo - grazie! – Techmag

14
curl -iv https://your.domain.io 

Questo vi darà output cert e intestazione se non si desidera utilizzare il comando openssl.

Problemi correlati