Establecer una conexión SSL únicamente con la CA raíz en el almacén de confianza

Establecer una conexión SSL únicamente con la CA raíz en el almacén de confianza

Tengo una aplicación cliente/servidor SSL.

Mi cliente SSL tiene solo una autoridad de certificación raíz (llamémosla rootCA1) configurada en su almacén de confianza.
Sin embargo, mi servidor SSL produce un certificado firmado por una CA intermedia (llamémoslo interCA1).
La CA intermedia tiene su certificado (llamémoslo deviceCert) firmado por rootCA1 (en el que confía el cliente). El servidor SSL produce los certificados de interCA1 y rootCA1 junto con deviceCert durante el saludo SSL.

Ahora openssl rechaza dicha conexión en el lado del cliente.

Openssl debería poder establecer la cadena de confianza observando
deviceCert--signed by-->interCA1--signed by-->rootCA1

Dado que confía en rootCA1 y la cadena de confianza se puede ver, según tengo entendido.

Entonces, ¿por qué falla? ¿Por qué se requiere tener CA intermedias configuradas en el almacén de confianza del cliente?

Respuesta1

Creo que la razón para tener configurados todos los certificados de CA intermedia es la siguiente.

Por el bien del argumento, supongamos que solo es necesario tener el certificado de CA raíz en la cadena de confianza.
Luego, el cliente puede confiar en todos los certificados firmados por la CA raíz, así como en cualquier otra CA intermedia cuyo certificado esté firmado por la CA raíz (o firmado por cualquier otra CA intermedia que tenga un certificado firmado por la CA raíz).

Ahora bien, si la clave privada de la CA intermedia se ve comprometida por algún motivo, entonces esto sería un problema.

Entonces, al configurar las CA intermedias en el almacén de confianza, el cliente declara que confía en los certificados firmados por él y que su clave privada no se ve comprometida.

Por supuesto que hay CRL, pero ese es un subtema.

información relacionada