2013-08-14 21 views
15

So come firmare un CSR utilizzando openssl, ma il certificato del risultato è x509 v1 e non v3.Creazione di un certificato utente x509 v3 firmando CSR

sto usando i seguenti comandi:

x509 -req -days 365 -in myCSR.csr -CA myCA.crt -CAkey myCA.key -CAcreateserial -out userCertificate.crt 

Ho cercato ma non sono stati in grado di trovare una soluzione. C'è un altro modo per farlo a livello di programmazione?

risposta

25

È necessario specificare un file di estensione.

Ad esempio:

openssl x509 -days 365 -in myCSR.csr -extfile v3.ext -CA myCA.crt -CAkey myCA.key -CAcreateserial -out userCertificate.crt 

Il file estensioni (v3.ext) può apparire come segue:

authorityKeyIdentifier=keyid,issuer 
basicConstraints=CA:FALSE 
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment 
+0

Grazie, questo è proprio quello che mi serviva! Funziona perfettamente –