Cadenas de certificados
Para usar certificados para la seguridad, se debe comprobar la autenticidad y validez de cada certificado recibido. Esta verificació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 el individuo o grupo al que se emitió el certificado. Cada certificado también contiene un campo emisor que identifica a la entidad de certificación (CA) 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 ENTIDAD de certificación 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 comprobación de 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 que se acaba de recibir, lo 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, la tecnología CryptoAPI 2.0 proporciona funciones que automatizan la creación de la cadena de certificados que respaldan cualquier certificado final determinado. 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 del sistema predeterminados (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 memoria caché con particiones mediante la creación de su propio motor de cadena. Para lograr un comportamiento óptimo de almacenamiento en caché, se recomienda crear un único motor de cadena en el inicio de la aplicación y usar ese motor de cadena durante toda la duración de la aplicación.
Para obtener una lista de las funciones, consulte Funciones de comprobación de la cadena de certificados. Para un programa que compila cadenas de certificados y comprueba los certificados, vea Programa C de ejemplo: Creación de una cadena de certificados.