Ok, quindi i passaggi generali per effettuare una richiesta di firma del certificato sono (come ho capito) come segue:
- Genera una coppia di chiavi
- Inserisci le mie informazioni identificative e la chiave pubblica (o il suo hash) in un documento
- Firma quel documento (CSR) con la chiave privata generata
- Invia il CSR a una CA che verificherà che si tratta di me e restituirà un certificato firmato con catena di fiducia (possibilmente)
Poiché l'effettivo certificato firmato deve associare una relazione di trust tra la mia chiave pubblica e le mie credenziali, un certificato non può essere firmato senza accesso alla chiave pubblica o almeno un hash della chiave pubblica.
Ecco la confusione per me: vedo che esiste un comando che posso eseguire in OpenSSL:
openssl req -out CSR.csr -key privateKey.key -new
Questo presumibilmente crea un nuovo CSR usando solo la chiave privata. Non riesco a vedere come funzioni.
La chiave pubblica o il suo hash sono nascosti segretamente all'interno del file della chiave privata?