En Windows, puede tener claves privadas "por sí mismas". Programáticamente, utiliza CryptAquireContext()
para acceder a una clave "por nombre". CryptoAPI contiene muchas funciones que le permiten importar y usar claves, independientemente de los certificados.
Sin embargo, no existe una interfaz gráfica o formato de archivo para manejar las claves privadas, y las aplicaciones no usan las claves por su nombre. Utilizan certificados . Los certificados, en Windows, se almacenan "en otra parte", pero cada certificado en la tienda "Mi" puede contener opcionalmente un enlace a una clave privada correspondiente (el enlace realmente sería un nombre de CSP y el nombre de un contenedor dentro de ese CSP). Esto se asigna a lo que se espera en varios protocolos. Por ejemplo, en SSL, cuando el servidor solicita una autenticación de cliente con una clave privada, en realidad solicita un certificado: el cliente debe presentar un certificado y, luego, demostrar que también tiene acceso a la clave privada correspondiente.
Por lo tanto, en la práctica, los certificados y las claves "viven juntas" y las claves se obtienen solo a través de los certificados. Un certificado y su clave privada viajan juntos, y esto significa un archivo PKCS # 12 (también conocido como "PFX").