decodificar/codificar el archivo openssl sess.pem

decodificar/codificar el archivo openssl sess.pem

Estoy usando openssl sess_id -in sess.pem -noout -textpara decodificar los parámetros de la sesión SSL en el archivo sess.pem (que obtuve usando sess_out) en texto legible por humanos. Quería saber si hay una manera de hacer lo contrario, es decir, convertir el texto al tipo de formato sess.pem. Básicamente, solo quiero cambiar un par de parámetros (ID de sesión, clave maestra, etc.) dentro del archivo sess.pem, pero parece que no puedo encontrar el comando correcto.

Respuesta1

No hay comandos para manipular o crear SSL_SESSION, pero asn1parse -genconfpuede crear una estructura ASN.1 arbitraria en DER, que puede aplicar usando la definición en el archivo fuente ssl/ssl_asn1.cy luego convertir a PEM con sess_ido simplemente base64más líneas de encabezado/avance manuales.

Para hacerlo en código, la API se documenta de la forma habitual; hacer man -k SSL_SESSIONen la mayoría de Unix o similares. Si está en Windows o algún otro sistema mal instalado/empaquetado, vaya ahttps://www.openssl.org/docs/man1.1.1/man3/y mira debajo PEM_*SSL_SESSIONy SSL_SESSION_*.

Pero incluso si alguna pila (personalizada) no puede verificar los parámetros guardados con el nuevo saludo, básicamente debe seguir usando los parámetros guardados, por lo que, aunque se puede decir que esto es al menos una violación de RFC, no veo cómo puede ser una vulnerabilidad.

Respuesta2

Aquí hay un seguimiento deLa respuesta de @dave_thompson_085: puedes usar elPEM_read_SSL_SESSIONyPEM_write_SSL_SESSIONfunciones de la biblioteca OpenSSL para decodificar y volver a codificar el archivo PEM.SSL_SESSION_set1_master_keyle permitirá modificar la clave maestra.

información relacionada