Administración de certificados con almacenes de certificados
Durante un período de tiempo, los certificados se acumularán en el equipo de un usuario. Se requieren herramientas para administrar estos certificados. CryptoAPI proporciona esas herramientas como funciones para almacenar, recuperar, eliminar, enumerar (enumerar) y comprobar los certificados. CryptoAPI también proporciona los medios para adjuntar certificados a los mensajes.
CryptoAPI ofrece dos categorías principales de funciones para administrar certificados: funciones que administran almacenes de certificados y funciones que funcionan con los certificados, listas de revocación de certificados (CRL) y listas de confianza de certificados (CTL) dentro de esos almacenes.
Las funciones que administran almacenes de certificados incluyen funciones para trabajar con almacenes lógicos o virtuales, almacenes remotos, almacenes externos y almacenes que se pueden reubicar.
Los certificados, las CRL y las CTL se pueden mantener y mantener en los almacenes de certificados. Se pueden recuperar de un almacén donde se han conservado para su uso en procesos de autenticación.
El almacén de certificados es fundamental para toda la funcionalidad del certificado. Los certificados se administran en el almacén mediante funciones con un prefijo "Cert". Un almacén de certificados típico es una lista vinculada de certificados , como se muestra en la ilustración siguiente.
En la ilustración anterior se muestra:
- Cada almacén de certificados tiene un puntero al primer bloque de certificado de ese almacén.
- Un bloque de certificado incluye un puntero a los datos de ese certificado y un puntero "siguiente" al siguiente bloque de certificado del almacén.
- El puntero "next" del último bloque de certificado se establece en NULL.
- El bloque de datos de un certificado contiene el contexto de certificado de solo lectura y las propiedades extendidas del certificado.
- El bloque de datos de cada certificado contiene un recuento de referencias que realiza un seguimiento del número de punteros al certificado que existe.
Los certificados de un almacén de certificados se conservan normalmente en algún tipo de almacenamiento permanente, como un archivo de disco o el registro del sistema. Los almacenes de certificados también se pueden crear y abrir estrictamente en memoria. Un almacén de memoria proporciona almacenamiento de certificados temporal para trabajar con certificados que no es necesario conservar.
Las ubicaciones de almacén adicionales permiten mantener y buscar en varias partes del registro de un equipo local o, con los permisos adecuados establecidos, en el registro en un equipo remoto.
Cada usuario tiene mi almacén personal donde se almacenan los certificados de ese usuario. Mi almacén puede estar en cualquiera de las muchas ubicaciones físicas, incluido el registro en un equipo local o remoto, un archivo de disco, una base de datos, un servicio de directorio, una tarjeta inteligente u otra ubicación. Aunque cualquier certificado se puede almacenar en Mi almacén, este almacén debe reservarse para los certificados personales de un usuario: los certificados que se usan para firmar y descifrar los mensajes de ese usuario.
El uso de certificados para la autenticación depende de tener certificados emitidos por algún emisor de certificados de confianza. Los certificados para emisores de certificados de confianza se conservan normalmente en el almacén raíz, que actualmente se conserva en una subclave del Registro. En el contexto cryptoAPI, el almacén raíz está protegido y los cuadros de diálogo de la interfaz de usuario recuerdan al usuario que coloque solo certificados de confianza en ese almacén. En situaciones de red empresarial, un administrador del sistema puede insertar (copiar) certificados desde el equipo del controlador de dominio en los almacenes raíz de los equipos cliente. Este proceso proporciona a todos los miembros de un dominio con listas de confianza similares.
Otros certificados se pueden almacenar en el almacén del sistema de la entidad de certificación (CA) o en almacenes basados en archivos creados por el usuario.
Para obtener listas de funciones para usar y mantener almacenes de certificados, consulte Funciones del almacén de certificados.
Para obtener un ejemplo que usa algunas de estas funciones, vea Programa C de ejemplo: Operaciones del almacén de certificados.
Temas relacionados