Estoy usando openssl sess_id -in sess.pem -noout -text
para 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 -genconf
puede crear una estructura ASN.1 arbitraria en DER, que puede aplicar usando la definición en el archivo fuente ssl/ssl_asn1.c
y luego convertir a PEM con sess_id
o simplemente base64
más líneas de encabezado/avance manuales.
Para hacerlo en código, la API se documenta de la forma habitual; hacer man -k SSL_SESSION
en 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_SESSION
y 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_SESSION
yPEM_write_SSL_SESSION
funciones de la biblioteca OpenSSL para decodificar y volver a codificar el archivo PEM.SSL_SESSION_set1_master_key
le permitirá modificar la clave maestra.