openssl und Alternative Names

f41thr

Well-Known Member
Hallo,

Euch erstmal einen schöne Weihnachtszeit!

Ich habe ein Frage zu openssl.

Was muss denn konfigurieren damit auch die alternativen Namen (ip und dns) aus dem csr (.pem) in das Zertifikate übernommen werden.
Ich habe eine CA und eine Intermediate CA erstellt. Es ist kein Problem ein Zertifikate zu erstellen, leider werden die alternativen DNS und IPs nicht in das Zertifikat übernommen. Obwohl Sie im csr sind korrekt enthalten sind?

Gibt es dafür ein Beispiel. Bisher habe ich dazu nicht gefunden.

Gruß
f41thr
 
Die alternativen Namen sind eine Erweiterung, die du explizit als Zertifizierer annehmen musst.

Ich habe mir das recht einfach gemacht, indem ich die Konfiguration für die CSR-Generierung auch für die Signierung genutzt habe. Das macht es für mich als eigene CA deutlich einfacher, weil ich dann auch ganz genau angeben kann, weiche Erweiterungen ich akzeptiere und welche nicht. Ein fremder CSR könnte ansonsten irgendwelche anderen Einstellungen mit einschleusen.

Hier eine Beispiekonfiguration für ein Zertifikat mit RSA 4096 und SHA256-Signatur für die URL "DeineURL" und IP "DeineIP". ;)

Code:
[req]
default_bits = 4096
prompt = no
default_md = sha256
req_extensions = req_ext
distinguished_name = dn

[dn]
C = Land
ST = Bundesland
L = Stadt
O = Firma
OU = Abteilung
emailAddress = DeineEMailAdresse
CN = DeineURL

[req_ext]
subjectAltName = @alt_names

[alt_names]
DNS.1 = DeineURL
IP.1 = DeineIP

Wenn das unter cert.cnf gespeichert ist, dann sehen die CSR-Erzeugung und Signierung wie folgt aus:

Bash:
$ openssl req -new -sha256 -nodes -out cert.csr -key cert.key -config cert.cnf
$ openssl x509 -req -days 365 -sha256     \
    -in cert.csr -CA ca.crt -CAkey ca.key \
    -CAcreateserial -extfile cert.cnf     \
    -extensions req_ext -out cert.crt

Da du korrekterweise noch eine Intermediate CA hast, wirst du die natürlich dann entsprechend angeben müssen.
 
Zurück
Oben