openSSL: ¿Cómo especificar los algoritmos hash de firma que aceptaré?

openSSL: ¿Cómo especificar los algoritmos hash de firma que aceptaré?

Usando openSSL, en un cliente TLS, especifiqué un conjunto de cifrado único con SSL_CTX_set_cipher_list().

Cuando uso Wireshark para ver los mensajes, veo en el mensaje Hola del cliente que los conjuntos de cifrado permitidos son los que especifiqué.

Pero si miro la Extensión: algoritmos de firma, veo que el cliente parece aceptar una gran cantidad de algos, incluidos algunos que no me parecen muy seguros, como MD5.

¿Cómo puedo cambiar este comportamiento?

Respuesta1

(Encontré investigando algo más. No sé si la seguridad, o incluso SO, sería mejor).

En la versión 1.0.2 (únicamente) hay novedades SSL_[CTX_]set1[_client]_sigalgs[_list]para esto. Todavía no he visto ningún documento en ninguna versión, pero aparentemente está en "maestro" (es decir, el "tronco" de desarrollo) en el sitio web enhttps://www.openssl.org/docs/manmaster/ssl/SSL_CTX_set1_sigalgas.htmlasí que presumiblemente así será en futuras versiones.

En versiones anteriores, puede configurar una devolución de llamada de verificación, o simplemente verificar la cadena de resultados y rechazar cualquier certificado o cadena usando MD5, o RSA<=1024, o ECC usando curvas sospechosas de puertas traseras de la NSA, o cualquier otra cosa que no le guste, como CA. política que dice "odiamos a los gatos".

información relacionada