Obtener la huella digital del certificado X.509 a partir de la información del certificado

0

Me gustaría obtener la huella digital SHA1 / MD5 de un certificado X.509 para poder compararla con la presentada por un servidor antes de conectarme. Sin embargo, actualmente no tengo acceso al certificado en sí mismo, la única información que tengo es la salida del comando openssl x509 -text -noout -in cert.crt que me proporcionaron (número de serie, clave pública, exponente, ...). ¿Es posible calcular la huella digital del certificado con esa información?

    
pregunta TheWolf 29.01.2015 - 15:34
fuente

1 respuesta

1

No
Yo diría que no. No de ninguna manera práctica.

Debería tener un analizador para convertirlo nuevamente en una estructura de datos ASN.1 codificada en DER. Esto le daría el certificado original.

Dos dificultades:
1. Sin analizador. Probablemente no tenga un analizador para hacer esto.
2. Te perderás los detalles de ASN.1. Incluso si tuvieras un analizador, no toda la información podría estar expuesta a ti.

Los detalles son los siguientes:
Escriba la información en ASN.1
Usando ASN.1, la misma información puede ser codificada de diferentes maneras. (Por ejemplo: el campo "Nombre común" puede estar codificado como UTF-8 o algo más parecido a ASCII. Y hay un campo de etiqueta que dice qué es la codificación. Por lo tanto, incluso si los datos codificados son exactamente iguales, podría ser codificado de una manera diferente. Y esto cambiará totalmente el valor de hash.)

Anidado en ASN.1
Además, hay diferentes maneras de anidar cosas que terminan significando lo mismo. Y no creo que "-noout -text" te exponga estas complejidades.

La impresión de ASN1PARSE podría salvarle
Si realmente desea conocer los aspectos internos del certificado, necesita OpenSSLs " asn1parse ". (Por lo tanto, si tiene una copia impresa de Asn1parse, podría (en principio) analizar esto de nuevo en bits binarios perfectamente).

    
respondido por el StackzOfZtuff 29.01.2015 - 16:42
fuente

Lea otras preguntas en las etiquetas