Sto cercando di implementare l'autenticazione reciproca dei certificati, devo essere la CA e il server allo stesso tempo, generare certificati e firmarli per gli utenti. e sto seguendo questo tutorial che è molto semplice rispetto ai complicati articoli sul web, i passaggi sono:
Il processo per creare la tua autorità di certificazione è piuttosto semplice:
- Crea una chiave privata
- Auto-segno
- Installa la CA radice sulle tue varie workstation // ????
Dopo averlo fatto, ogni dispositivo che gestisci tramite HTTPS deve solo avere il proprio certificato creato con i seguenti passaggi:
- Crea CSR per il dispositivo
- Firma CSR con chiave CA radice /// QUESTO PASSO
Crea la chiave di root :
openssl genrsa -out rootCA.key 2048
autofirma questo certificato.
openssl req -x509 -new -nodes -key rootCA.key -days 1024 -out rootCA.pem
Crea un certificato (fatto una volta per dispositivo):
openssl genrsa -out device.key 2048
openssl req -new -key device.key -out device.csr
openssl x509 -req -in device.csr -CA root.pem -CAkey root.key -CAcreateserial -out device.crt -days 500
L'ultimo comando mi sta dando questo errore:
Signature ok
subject=/C=XX/L=Default City/O=Default Company Ltd/CN=192.168.1.108
Error opening CA Certificate root.pem
3078969068:error:02001002:system library:fopen:No such file or directory:bss_file.c:355:fopen('root.pem','r')
3078969068:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:357:
unable to load certificate
Il root.pem esiste nella stessa cartella perché non viene visualizzato?
Inoltre, i primi due comandi mi hanno dato due file, root.key
e root.pem
:
non c'è crt
file da inviare al browser.
Cosa c'è che non va?
Risposta accettata:
Verifica il nome del tuo certificato. È incoerente (root.pem
in un comando, rootCA.pem
in un altro).
Puoi installare root.pem
file sui tuoi host client come indicato nell'articolo, è il tuo certificato CA. PEM
è un formato per il certificato, ne esistono altri. .crt
è un'estensione generica. Puoi rinominare il tuo certificato da root.pem
a root.crt
se vuoi.