In che modo le CA generano le chiavi pubbliche senza le chiavi private?

4

Durante la creazione di una CSR per incollarla in seguito in una CA per generare un certificato TLS firmato, devi prima generare una chiave privata:

openssl genrsa -out your-key.key 2048

Con la chiave privata, puoi generare il CSR:

openssl req -new -key your-key.key -out your-request.csr

Se vuoi estrarre la chiave pubblica dal CSR, tutti gli esempi che ho visto richiedono che la chiave privata sia presente nel comando openssl :

openssl x509 -req -days 365 -in your-request.csr -signkey your-key.key -out your-public-key.crt

Suppongo che le CA facciano qualcosa di simile a firmare i certificati e quindi a creare una chiave pubblica. Tuttavia, quando si compila il modulo di richiesta, viene richiesto solo il CSR, non la chiave privata.

La mia domanda è: come fanno a farlo per creare il certificato pubblico dal CRT senza la chiave privata?

    
posta nKn 07.02.2017 - 23:02
fonte

1 risposta

9

How do CAs generate public keys without the private key?

Le CA non generano alcuna chiave pubblica. Crea certificati che contengono la chiave pubblica di una parte richiedente (dal CSR).

La chiave privata non è necessaria per estrarre una chiave pubblica dal CSR. Per farlo eseguire:

openssl req -in your-request.csr -noout -pubkey

D'altra parte, il comando che hai incluso nella domanda (sostenendo il suo scopo è " per estrarre la chiave pubblica dal CSR "):

openssl x509 -req -days 365 -in your-request.csr -signkey your-key.key -out your-public-key.crt

crea un certificato autofirmato.

CA firma il certificato con la sua chiave privata, non la tua, quindi non ha bisogno del tuo.

Il ruolo della CA è di fornire una prova che una chiave pubblica appartiene all'entità che dichiara di appartenere a.

Potrebbe essere necessario che CA verifichi il dominio del richiedente (certificati convalidati dal dominio), potrebbe essere necessario verificare i documenti del richiedente che ne attestano l'identità

Ma CA non ha bisogno di verificare la chiave privata del richiedente perché è legata matematicamente alla chiave pubblica. Se qualcuno crittografa il messaggio con la sua chiave privata, sarà decifrabile solo dalla corrispondente chiave pubblica.

    
risposta data 08.02.2017 - 00:26
fonte

Leggi altre domande sui tag