Hace algunas semanas, habilitamos el encabezado de fijación de clave pública HTTP en nuestro sitio web. Según la especificación, incluimos no solo la huella digital SHA-256 de nuestra clave RSA actual, sino también la de una clave de respaldo (RSA).
Ahora, sin embargo, nos gustaría agregar una segunda clave (ECC) a nuestro sitio. Configuramos un servidor de prueba con dos certificados autofirmados (un RSA, un ECC). Al ver el protocolo de enlace TLS en Wireshark, parece que el servidor solo envía un certificado (el ECC uno). Sin embargo, al usar la opción -cipher
de openssl s_client
, puedo probar que el servidor puede entregar ambos certificados (forzando a OpenSSL a usar solo conjuntos de cifrado aRSA o ECDSA).
Según tengo entendido, cuando un visitante con un navegador bastante moderno visitará nuestro sitio de producción, el servidor presentará solo la clave ECC y el navegador se quejará al usuario de que no conoce esa clave, como estaba no incluido en el encabezado HPKP enviado en la última visita. ¿Hay alguna manera de hacer que el servidor (Apache 2.4.7) presente ambos certificados? ¿O el navegador logra de alguna manera obtener la clave RSA (conocida) del servidor?