Come creare la mia catena di certificati?
Vorrei configurare il mio OCSP Responder (solo a scopo di test). Questo richiede che io abbia un certificato di root e alcuni certificati generati da esso.
Sono riuscito a creare un certificato autofirmato usando openssl. Voglio usarlo come certificato di root. Il prossimo passo sarebbe quello di creare i certificati derivati. Non riesco però a trovare la documentazione su come farlo. Qualcuno sa dove posso trovare queste informazioni?
Modifica A posteriori, la mia domanda non ha ancora una risposta completa. Per chiarire il problema rappresenterò la mia catena di certificati in questo modo:
ROOT -\> A -> B -> C -> …
Attualmente sono in grado di creare i certificati ROOT e A, ma non ho trovato come fare una catena più lunga.
Il mio comando per creare il certificato di root è:
openssl req -new -newkey rsa:1024 -nodes -out ca.csr -keyout ca.key
openssl x509 -trustout -signkey ca.key -days 365 -req -in ca.csr -out ca.pem
Il certificato A viene creato così:
openssl genrsa -out client.key 1024
openssl req -new -key client.key -out client.csr
openssl ca -in client.csr -out client.cer
Questo comando dipende implicitamente dal certificato di root, per il quale trova le informazioni necessarie nel file di configurazione openssl.
Il certificato B però deve fare affidamento solo su A, che non è registrato nel file di configurazione, quindi il comando precedente non funzionerà qui.
Quale linea di comando dovrei usare per creare i certificati B e oltre?
Edit Ho trovato la risposta in questo articolo . Il certificato B (catena A -> B) può essere creato con questi due comandi:
# Create a certificate request
openssl req -new -keyout B.key -out B.request -days 365
# Create and sign the certificate
openssl ca -policy policy_anything -keyfile A.key -cert A.pem -out B.pem -infiles B.request
Ho anche cambiato il file openssl.cnf:
[usr_cert]
basicConstraints=CA:TRUE # prev value was FALSE
Questo approccio sembra funzionare bene.