Come aggiungere AltName dal file csr al file crt usando "openssl x509 -req"?

1

Sono un webdeveloper e voglio testare i miei siti Web localmente con un certificato SSL autofirmato. Tutto funzionava alla grande fino a pochi giorni fa, quando Chrome ha iniziato a lamentarsi di una proprietà AltName mancante.

OpenSSL CA

Ho creato la mia autorizzazione usando:

openssl req
    -x509
    -sha256
    -new
    -out dev.root.ca.crt
    -keyout dev.root.ca.key
    -days 3650

CNF

Ho creato un file openssl.cnf aggiungendo quei valori a quelli predefiniti:

[ CA_default ]
copy_extensions = copy

[req]
req_extensions = v3_req

[ v3_req ]
# Extensions to add to a certificate request
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = $ENV::ALTNAME

ALTNAME tramite shell

Quindi utilizzo questo comando per generare un file .csr e .key :

set ALTNAME=DNS:dev.example.com

openssl req
    -newkey rsa:2048
    -out dev.example.com.csr
    -pubkey
    -new
    -keyout dev.example.com.key
    -sha256
    -config openssl.cnf

Il file csr generato contiene il nome alternativo come previsto.

Altname non passa da CSR a CRT

Quindi utilizzo questo comando per generare i file .crt e .key :

openssl x509
    -req
    -in dev.example.com.csr
    -CA dev.root.ca.crt
    -CAkey dev.root.ca.key
    -CAcreateserial
    -out dev.example.com.crt
    -days 3650
    -sha256

Ma i nomi alternativi non sono più presenti nel file crt generato.

Che ora?

Devo aggiungere ulteriori parametri al comando openssl x509 -req ?

    
posta Florian Lemaitre 26.04.2017 - 12:14
fonte

1 risposta

1

Usando il parametro '-extfile' lo aggiustato.

File di configurazione aggiuntivo

Ho aggiunto un file openssl-ext.cnf contenente:

basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = $ENV::ALTNAME

Utilizzo del parametro '-extfile'

E ha aggiunto il nuovo file di configurazione al comando openssl utilizzando il parametro -extfile :

openssl x509
    -req
    -in dev.example.com.csr
    -CA dev.root.ca.crt
    -CAkey dev.root.ca.key
    -CAcreateserial
    -out dev.example.com.crt
    -days 3650
    -sha256
    -extfile openssl-ext.cnf
    
risposta data 26.04.2017 - 14:21
fonte