El servidor proporcionará su propio certificado, y opcionalmente (pero se recomienda) todos los certificados de CA intermedios en la cadena (también conocido como CA bundle ). No es necesario que proporcione el certificado CA raíz de la cadena, y el cliente debe ignorar ese certificado si se proporciona en el paquete de todos modos, consulte esta pregunta para más detalles sobre eso. Dado que el paquete completo es posiblemente una sobrecarga innecesaria, en el futuro el cliente podrá declararlo tiene una copia en caché del mismo para reducir la configuración de la conexión.
El punto de validación es que el cliente debe poder verificar toda la cadena hasta una raíz confiable, por lo que ya debe tener una copia de la raíz y debe tener u obtener todos los intermedios.
Si al cliente le faltan certificados CA intermedios, puede confiar en los proporcionados por el servidor siempre que sean verificables, luego puede completar cualquier parte faltante utilizando sus copias locales de certificados CA. Este es el método utilizado para las actualizaciones intermedias de certificados CA, de modo que los clientes pueden actualizarse fácilmente (no hay un sistema de obtención o publicación de certificados X.509 ampliamente implementado análogo a los servidores de claves PGP). Puede haber cero, uno o muchos certificados intermedios en una cadena.
Cada certificado tiene solo los detalles de identificación de su emisor / padre inmediato (es decir, no toda la cadena); esto se registra en el campo DN del Emisor , y es más útil en el campo AKID ( AKID / SKID PDF). El nombre legible de Emisor no puede identificar de forma exclusiva un certificado específico (no registra el número de serie específico). El SKID (Identificador clave del sujeto) es efectivamente una huella digital de un certificado, y el AKID (Authority Key Identifier) es la huella digital de su emisor, esto funciona como una lista de enlaces individuales del finalice el certificado (idealmente) hasta una raíz confiable (aunque los certificados más antiguos a menudo carecen de esos campos, por lo que se usan los DN en su lugar).
- Comenzando con la cadena provista por el servidor (si está presente), el cliente debe trabajar en la lista, puede agregar los certificados intermedios que faltan a su tienda, si son válidos.
- Luego, el cliente debe rastrear la copia de seguridad desde el certificado del servidor, usualmente usando el campo AKID para ubicar el certificado del emisor específico (padre), verificar y trabajar hasta que llegue a una raíz autofirmada confiable.
Los términos asociados con este proceso son Creación de rutas de certificación y Certification Path Validation . No hay una sola "manera correcta" de hacerlo. Un cliente robusto comprobará de extremo a extremo, los navegadores suelen ofrecer un bypass (con advertencias escritas con severidad), y en algunos sistemas puede limitar la profundidad del certificado final para verificarlo como una optimización.
(La comprobación de la validez incluye la firma / hash, intervalo de fechas, CRL, OCSP, pinning etc. y posiblemente DANE .)
Esto se superpone con ambas opciones, además de la autoactualización de certificados de CA intermedios.