Es posible que haya tenido una impresión errónea de cómo deberían configurarse los servidores y qué certificados se envían realmente durante el mensaje de certificado de saludo del servidor. Encontré esto hoy desde Symantec / VeriSign:
Root instalado en el servidor. Para las mejores prácticas, elimine la raíz autofirmada del servidor. El paquete de certificados solo debe incluir la clave pública del certificado y la clave pública de cualquier autoridad de certificación intermedia. Los navegadores solo confiarán en los certificados que se resuelvan en las raíces que ya están en su almacén de confianza, ignorarán un certificado raíz enviado en el paquete del certificado (de lo contrario, cualquier persona podría enviar cualquier raíz).
Si esto es cierto, y el certificado raíz no necesita instalarse en el servidor, bueno, ahí va lo que pensé que sabía sobre la configuración adecuada del servidor y cómo la cadena se vuelve a validar a la raíz. Entonces, de nuevo, cuando vuelvo a mirar esta pregunta , en la sección Certificados y autenticación De la respuesta de Thomas Pornin dice:
Se supone que el cliente debe hacer lo siguiente:
- Obtenga una cadena de certificados que finalice con el certificado del servidor. El mensaje de certificado del servidor debe contener, precisamente, tal cadena.
Esto dice más o menos lo contrario del mensaje de Symantec / VeriSign anterior, a menos que esté mal entendiendo algo. Entonces:
-
¿Un servidor necesita que se instale la cadena completa, incluida la raíz? Si no, ¿con qué se compara un navegador para la validación, ya que el servidor no proporcionará su certificado raíz durante el intercambio? ¿Simplemente mira el certificado de identidad y lo obtiene desde allí? (¿Cómo abrir un certificado de identidad en su máquina local y ver la cadena completa en la ruta de certificación?)
-
De nuevo, si esto es cierto, ¿qué pasa con las aplicaciones de cliente independientes que usan bibliotecas SSL? ¿Dependerá esto de la aplicación, ya que puede tener diferentes métodos de creación de rutas a una raíz confiable frente a un navegador?