Verificar mi propio certificado SSL autofirmado

4

He generado mi propio certificado SSL para un servidor web en Internet, sin embargo esto fue por tres razones:

  1. Diversión
  2. No querer comprar un certificado SSL
  3. Intentando obtener una calificación A (excluyendo problemas de confianza) en prueba SSL de SSL Labs .

Sin embargo, ahora que he aprendido un poco más sobre SSL (no soy un experto, en el mejor de los casos es un principiante), entiendo que aunque el servidor tiene un certificado, esto no es circumvent la posibilidad del hombre en los ataques medios

Me doy cuenta de que solo puedo crear un nuevo certificado autofirmado, pero dado que tengo acceso al servidor, y basado en este pregunta sobre huellas dactilares , me preguntaba si es posible verificar el certificado y la clave en el servidor que tengo contra la huella dactilar que recibo en mi navegador.

Básicamente, ¿puedo ver la huella digital en el servidor y luego compararla con la que recibí en el navegador?

CONCLUSION

Sobre la base de respuesta de Maarten Bodewes , ejecuté lo siguiente usando mi archivo .crt en lugar de un .pem

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

calculé mi sha1sum

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

Y luego verifiqué mi Sha1Fingerprint según la respuesta proporcionada por John Wu , y las dos huellas dactilares son exactamente lo mismo. ¡Perfecto!

    
pregunta Gary 22.06.2016 - 00:52
fuente

2 respuestas

2

En caso de que tenga suficiente confianza en la otra conexión con el servidor, entonces sí, puede calcular la huella dactilar allí y compararla con la del cliente. Básicamente, la huella digital es solo un hash sobre el certificado (codificado en binario).

Entonces, por ejemplo:

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

elimina cualquier codificación ASCII armor / PEM ( si presente), y una simple:

sha1sum yourcert.cer

calcula la huella dactilar.

Lo mismo para las huellas dactilares SHA-256, por supuesto, en caso de que su cliente admita un algoritmo hash más seguro.

Por supuesto, la idea general es que ahora puede confiar en el servidor en el cliente. El servidor ya debe confiar en su propio certificado.

    
respondido por el Maarten Bodewes 22.06.2016 - 01:23
fuente
4

No estoy seguro de si te refieres de forma manual o automática.

Manualmente - sí - puede ver la huella digital del certificado que llega a su navegador, por ejemplo. en Chrome, haga clic con el botón derecho en la parte de la barra de direcciones a la izquierda de la dirección, seleccione Detalles, Ver certificado y haga clic en la pestaña de detalles. La huella digital está en o cerca de la parte inferior.

Automáticamente, sí, solo instale el certificado en su computadora de escritorio (haga doble clic en el certificado y siga las instrucciones) y el navegador confiará en él a partir de ese momento. Si un día navega a su sitio web y recibe una advertencia de SSL, hubo una discrepancia en el certificado y alguien lo está pirateando.

    
respondido por el John Wu 22.06.2016 - 03:07
fuente

Lea otras preguntas en las etiquetas