Verifica il mio certificato SSL autofirmato

4

Ho generato il mio certificato SSL per un server web su Internet, tuttavia questo era dovuto a tre motivi:

  1. Divertimento
  2. Non voler acquistare un certificato SSL
  3. Tentativo di ottenere un punteggio A (esclusi i problemi di attendibilità) su Test SSL Labs SSL .

Tuttavia, ora che ho imparato un po 'di più su SSL (non sono affatto un esperto, alle prime armi nel migliore dei casi) capisco che sebbene il server abbia un certificato questo non circumvent la possibilità di attacchi man in the middle

Mi rendo conto che potrei semplicemente creare un nuovo certificato autofirmato, ma dato che ho accesso al server e basato su questo domanda riguardante le impronte digitali , mi chiedevo se è possibile verificare il certificato e la chiave sul server che ho contro l'impronta digitale che ricevo nel mio browser?

Fondamentalmente è possibile visualizzare l'impronta digitale sul server e confrontarla con quella ricevuta nel browser?

Conclusione

In base alla risposta di Maarten Bodewes , ho eseguito quanto segue utilizzando il mio file .crt anziché un .pem

# openssl x509 -in mywebsite.com-selfsigned.crt -outform DER -out ~/mywebsite.com-selsigned.crt

ha calcolato il mio sha1sum

# sha1sum mywebsite.com-selfsigned.crt XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX mywebsite.com-selfsigned.crt

E poi ho controllato il mio Sha1Fingerprint in base alla risposta fornita da John Wu , e le due impronte digitali sono esattamente lo stesso. Perfetto!

    
posta Gary 22.06.2016 - 00:52
fonte

2 risposte

2

Nel caso in cui tu abbia abbastanza fiducia nell'altra connessione al server allora sì, puoi calcolare l'impronta digitale laggiù e confrontarla con quella del client. Fondamentalmente l'impronta digitale è solo un hash sul certificato (codificato in binario).

Quindi ad esempio:

openssl x509 -in yourcert.pem -outform DER -out yourcert.cer

rimuove qualsiasi codifica ASCII armatura / PEM ( se presente) e una semplice:

sha1sum yourcert.cer

calcola l'impronta digitale.

Lo stesso vale per il fingerprinting SHA-256, ovviamente, nel caso in cui il client supporti un algoritmo hash più sicuro.

Naturalmente l'idea generale è che ora puoi fidarti del server sul client. Il server dovrebbe già fidarsi del proprio certificato.

    
risposta data 22.06.2016 - 01:23
fonte
4

Non sono sicuro se intendi manualmente o automaticamente.

Manualmente - sì - puoi visualizzare l'identificazione personale del certificato che raggiunge il tuo browser, ad es. in Chrome fai clic con il pulsante destro del mouse sulla parte della barra degli indirizzi a sinistra dell'indirizzo, scegli Dettagli, Visualizza certificato e fai clic sulla scheda dei dettagli. L'identificazione personale è in corrispondenza o in prossimità del fondo.

Automaticamente - sì - basta installare il certificato sul computer desktop (fare doppio clic sul certificato e seguire le istruzioni) e il browser si fiderà da quel punto in avanti. Se un giorno navighi sul tuo sito web e ricevi un avviso SSL, c'era una mancata corrispondenza dei certificati e qualcuno ti sta hackerando.

    
risposta data 22.06.2016 - 03:07
fonte

Leggi altre domande sui tag