Cadenas de certificados
Para usar certificados para la seguridad, se debe comprobar la autenticidad y la validez de cada certificado recibido. Esta comprobación depende del concepto de confianza y de la delegación de confianza; para obtener más información, vea Jerarquía de confianza.
Cada certificado contiene un campo de asunto que identifica al individuo o grupo al que se emitió el certificado. Cada certificado también contiene un campo emisor que identifica la entidad de certificación (CA) que está facultada para certificar la identidad del sujeto.
Una cadena de certificados consta de todos los certificados necesarios para certificar el sujeto identificado por el certificado final. En la práctica, esto incluye el certificado final, los certificados de entidades de certificación intermedias y el certificado de una CA raíz de confianza para todas las partes de la cadena. Cada entidad de certificación intermedia de la cadena contiene un certificado emitido por la ENTIDAD de certificación un nivel por encima de él en la jerarquía de confianza. La entidad de certificación raíz emite un certificado para sí mismo.
El proceso de comprobar la autenticidad y validez de un certificado recién recibido implica comprobar todos los certificados de la cadena de certificados de la ENTIDAD de certificación original de confianza universal, a través de cualquier CA intermedia, hasta el certificado recién recibido, que se denomina certificado final. Un nuevo certificado solo puede ser de confianza si cada certificado de la cadena del certificado se emite correctamente y es válido.
El seguimiento de todos los certificados que respaldan un nuevo certificado final pueden resultar complicados. Por lo tanto, tecnología CryptoAPI 2.0 proporciona funciones que automatizan la creación de la cadena de certificados que respaldan cualquier certificado final dado. Estas funciones también comprueban e informan sobre la validez de cada certificado de una cadena.
Las funciones de creación y comprobación de cadenas de CryptoAPI 2.0 usan un motor de cadena para crear y comprobar cadenas de certificados. Un motor de cadena define un espacio de nombres de almacén y la creación de particiones de caché para la infraestructura de encadenamiento de certificados. CryptoAPI 2.0 proporciona un motor de cadena predeterminado para cualquier proceso de aplicación que solo use almacenes predeterminados del sistema (por ejemplo, MY, Root, CA y Trust) para la creación y el almacenamiento en caché de cadenas. Una aplicación puede definir su propio espacio de nombres de almacén o tener su propia caché con particiones creando su propio motor de cadena. Para lograr un comportamiento óptimo de almacenamiento en caché, se recomienda crear un único motor de cadena al iniciar la aplicación y usar ese motor de cadena durante toda la vigencia de la aplicación.
Para obtener una lista de las funciones, consulte Funciones de comprobación de cadena de certificados. Para ver un programa que compila cadenas de certificados y comprueba los certificados, vea Programa C de ejemplo: Creación de una cadena de certificados.