decodificar/codificar arquivo openssl sess.pem

decodificar/codificar arquivo openssl sess.pem

Estou usando openssl sess_id -in sess.pem -noout -textpara decodificar os parâmetros da sessão SSL no arquivo sess.pem (que obtive usando sess_out) em texto legível por humanos. Eu queria saber se existe uma maneira de fazer o oposto, ou seja, converter o texto para o formato sess.pem. Basicamente, eu só quero alterar alguns parâmetros (id da sessão, chave mestra, etc.) dentro do arquivo sess.pem, mas não consigo encontrar o comando correto.

Responder1

Não há comandos para manipular ou criar um SSL_SESSION, mas asn1parse -genconfpode criar uma estrutura ASN.1 arbitrária no DER, que você pode aplicar usando a definição no arquivo de origem ssl/ssl_asn1.ce depois converter para PEM com sess_idou apenas base64mais linhas manuais de cabeçalho/trailer.

Para fazer isso em código, a API é documentada da maneira usual; faça man -k SSL_SESSIONna maioria dos Unix ou semelhantes ao Unix. Se estiver no Windows ou em algum outro sistema mal instalado/empacotado, vá parahttps://www.openssl.org/docs/man1.1.1/man3/e olhe abaixo PEM_*SSL_SESSIONe SSL_SESSION_*.

Mas mesmo que alguma pilha (personalizada) falhe ao verificar os parâmetros salvos em relação ao novo hello, ela basicamente ainda deve usar os parâmetros salvos, portanto, embora isso seja pelo menos indiscutivelmente uma violação de RFC, não vejo como isso pode ser uma vulnerabilidade.

Responder2

Aqui está um acompanhamento paraResposta de @dave_thompson_085: você pode usar oPEM_read_SSL_SESSIONePEM_write_SSL_SESSIONfunções da biblioteca OpenSSL para decodificar e recodificar o arquivo PEM.SSL_SESSION_set1_master_keypermitirá que você ajuste a chave mestra.

informação relacionada