it-swarm.com.de

Erweiterte Schlüsselverwendung für Openssl x509v3

Ich weiß, dass Sie den Zweck angeben können, für den ein öffentlicher Zertifikatschlüssel verwendet werden kann, indem Sie eine Zeile wie diese in die Datei openssl.cfg einfügen:

extendedKeyUsage=serverAuth,clientAuth

Da ich jedoch mehrere Zertifikate erstellen muss, von denen jedes eine andere erweiterte Schlüsselverwendung aufweist, kann angegeben werden, welches Attribut ich in der Befehlszeile benötige (ohne die Datei openssl.cfg zu verwenden). Etwas wie:

openssl req -newkey rsa:4096 \
            -extendedKeyUsage "serverAuth,clientAuth" \
            -keyform PEM \
            -keyout server-key.pem \
            -out server-req.csr \
            -outform PEM

Vielen Dank!

33
David Caissy

Sie können nur so etwas verwenden:

openssl -extensions mysection -config myconfig.cnf

und myconfig.cnf:

[mysection]
keyUsage         = digitalSignature
extendedKeyUsage = codeSigning

Mir ist keine Befehlszeilenschnittstelle für diese Funktionalität bekannt.

31
patrikbeno

Am Ende habe ich mehrere verschiedene openssl.cfg-Dateien erstellt und mithilfe des Schalters - config oder - extfile auf die richtige verwiesen.

10
David Caissy

das gleiche wie die Verarbeitung SAN openssl req -subj "/CN=client" -sha256 -new -key client-key.pem -out client.csr\ -reqexts SAN -config <(cat /etc/ssl/openssl.cnf <(printf "\n[SAN]\nsubjectAltName=DNS:example.com,DNS:www.example.com\nextendedKeyUsage=serverAuth,clientAuth"))

4
fatfatson