![So erstellen Sie ein SSL-Zertifikat mit mehreren DNS-Einträgen, signiert mit meinem eigenen CA-Zertifikat](https://rvso.com/image/1476393/So%20erstellen%20Sie%20ein%20SSL-Zertifikat%20mit%20mehreren%20DNS-Eintr%C3%A4gen%2C%20signiert%20mit%20meinem%20eigenen%20CA-Zertifikat.png)
Ich brauche Hilfe beim Erstellen eines SSL-Zertifikats mit mehreren SubjectAltNames, signiert mit meinem eigenen, selbst erstellten CA-Zertifikat.
Was ich brauche:
Ich verwende OSX 10.10.5
Ich habe myCA.cer, das ich zum Signieren eines anderen SSL-Zertifikats verwende, das die folgenden alternativen Namen hat:
(bin mir allerdings nicht sicher, ob IP ein alternativer Name sein kann …)
DNS.1 = foo.bearden.local
DNS.2 = www.bearden.local
DNS.3 = 192.168.1.58
Ich muss dieses Zertifikat auf mein iPhone importieren, auf dem bereits myCA.cer vorhanden ist. So wird es im Betriebssystem des iPhones verifiziert.
Was ich mache:
Ich führe dieses Shell-Skript aus:
cat > ./cust.cnf <<-EOF
[req]
distinguished_name = req_distinguished_name
x509_extensions = v3_req
prompt = no
[req_distinguished_name]
CN = *.bearden.local/ CN=192.168.1.58
[v3_req]
keyUsage = keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
DNS.1 = foo.bearden.local
DNS.2 = www.bearden.local
DNS.3 = 192.168.1.58
EOF
openssl genrsa -out foo.key 2048 -config ./cust.cnf && \
openssl req -new -out foo.csr -key foo.key -config ./cust.cnf && \
openssl x509 -req -sha256 -in foo.csr -extfile ./cust.cnf -out foo.crt -CAkey myCA.key -CA myCA.cer -days 365 -CAcreateserial -CAserial serial
Problem/Frage:
1 – Platzhalter in CN funktioniert nicht (Google Chrome sagt immer noch, es sei nicht vertrauenswürdig, obwohl ich im Schlüsselbund vollständige Vertrauensoptionen festgelegt habe)
2 – Wenn ich das Zertifikat zum Schlüsselbund hinzufüge (myCA.cer ist bereits da), wird es als gültig und vertrauenswürdig erkannt, aber das Zertifikat selbst (foo.crt) hat keine alternativen DNS-Namen, die ich in der Konfiguration erwähnt habe.
Bitte helfen Sie mir, meine mehreren alternativen DNS-Namen für diese Art von Zertifikat zu erhalten
Danke!
Antwort1
Dies sind die Änderungen, die ich hätte vornehmen müssen, damit es funktioniert (Danke an Steffen Ullrich):
openssl x509 -req -sha256 -in foo.csr -extfile ./cust.cnf -extensions v3_req -out foo.crt -CAkey myCA.key -CA myCA.cer -days 365 -CAcreateserial -CAserial serial
Hier ist dasOpenSSL-DokumentationErklären, wie die Optionen -extfile
und -extensions
funktionieren