Bien, los pasos generales para realizar una solicitud de firma de certificado son (como yo lo entiendo) de la siguiente manera:
- Generar un par de claves
- Poner mi información de identificación y la clave pública (o su hash) en un documento
- Firme ese documento (CSR) con la clave privada generada
- Envíe el CSR a una CA que verificará que soy yo y que devolverá un certificado firmado con cadena de confianza (posiblemente)
Dado que el certificado firmado real es para asociar una relación de confianza entre mi clave pública y mis credenciales, no se puede firmar un certificado sin acceso a la clave pública o al menos un hash de la clave pública.
Esta es la confusión para mí: veo que hay un comando que puedo ejecutar en OpenSSL:
openssl req -out CSR.csr -key privateKey.key -new
Esto supuestamente crea una nueva CSR utilizando solo la clave privada. No puedo ver cómo puede funcionar esto.
¿La clave pública o su hash se ocultan en secreto dentro del archivo de clave privada?