¿Alguien puede explicar qué constituye la anatomía de la clave privada de un certificado cuando la clave se almacena en un HSM? Estoy usando nShield en este ejemplo, pero asumo que los principales son los mismos para cualquier HSM que cree certificados con punteros de clave privada de HSM.
Hay dos áreas en las que me cuesta entenderlo y no hay mucha información ahí fuera ... o estoy buscando las palabras clave incorrectas.
- Cuando abro el certificado en el administrador de certificados (Windows), muestra que tengo una clave privada para el certificado. Me doy cuenta de que esto es solo el puntero pero, sin embargo, Windows reconoce los datos como una clave privada válida, ¿cómo es eso posible? ¿Cómo puede engañar a Windows para que piense que es una verdadera clave privada?
- Si intento usar la clave privada del certificado (es decir, para firmar algo), redirige las operaciones de la clave privada al HSM. Asumo que el CSP es responsable de esto, pero ¿cómo sabe el certificado qué CSP usar?
Estoy tratando de obtener una mejor comprensión para poder escribir un software que permita a los usuarios aprovechar los certificados para las operaciones criptográficas en lugar de tener que depender de PKCS11 o la API del proveedor.
¡Gracias!