Warum wird beim openssl pkcs12-Export ein zusätzliches Root-Anker-Zertifikat hinzugefügt, das Server-Zertifikat unter Mac OS X dupliziert
[Ursprünglich auf Slack Overflow veröffentlicht, der Kommentarthread beklagte sich jedoch über einen unangemessenen Veranstaltungsort.]
Wir arbeiten daran, von StartCom-SSL-Zertifikaten zu Let's Encrypt zu wechseln, und versuchen, es so einzurichten, dass es automatisch mit macOS Server + Apache HTTPD arbeitet. security import
MacOS Server akzeptiert vom Kommandozeilen-Tool ( ) aus keine direkten .pem
Dateien - Sie müssen ihm eine .p12
Datei geben, aus der er die .pem
in Apache zu konfigurierenden Dateien extrahiert . Ärgerlich und sinnlos, aber damit müssen wir erst einmal leben.
Um diese .p12
Datei zu erstellen, müssen Sie diesen Befehl ausführen:
openssl pkcs12 -export \ -inkey /etc/letsencrypt/live/example.com/privkey.pem \ -in /etc/letsencrypt/live/example.com/cert.pem \ -certfile /etc/letsencrypt/live/example.com/chain.pem \ -out /etc/letsencrypt/live/example.com/example.com.p12
Und hier wird es komisch. Die Ausgabedatei example.com.p12
enthält das example.com
Zertifikat zweimal, gefolgt von dem Zwischenzertifizierungszertifikat Let's Encrypt, gefolgt von dem unnötigen selbstsignierten DST-Root-CA-X3-Ankerzertifikat (das standardmäßig von allen Browsern installiert wurde) und schließlich vom privaten Schlüssel . Das Ergebnis ist, dass der Apache SSL-Handshake das Serverzertifikat zweimal und das CA-Zwischenzertifikat sowie das Stammzertifikat (das nicht gesendet werden sollte) enthält. Dies führt zu Warnungen im Qualys SSL Labs-Tester.
Wir haben nach innen geschaut cert.pem
und es enthält nur das Serverzertifikat (und nur einmal). chain.pem
enthält nur das CA-Zwischenzertifikat (nicht den Root-Anker oder das Server-Zertifikat). privkey.pem
enthält nur den privaten Schlüssel. So openssl pkcs12 -export
wird das Duplizieren den Zertifikatserver und dann auf den zusätzlichen Schritt gehen die Wurzel Ankerzertifikat aufzublicken und Hinzufügen.
Wenn Sie denselben Befehl unter openSUSE Linux ausführen, enthält die Ausgabedatei .p12
nur das Serverzertifikat (einmalig), das CA-Zwischenzertifikat und den privaten Schlüssel. Kein Wurzelanker.
Wir haben folgende Variationen ausprobiert und keinen Unterschied in der Ausgabe gesehen:
openssl pkcs12 -export \ -inkey /etc/letsencrypt/live/example.com/privkey.pem \ -in /etc/letsencrypt/live/example.com/fullchain.pem \ -out /etc/letsencrypt/live/example.com/example.com.p12 openssl pkcs12 -export \ -inkey /etc/letsencrypt/live/example.com/privkey.pem \ -certfile /etc/letsencrypt/live/example.com/fullchain.pem \ -out /etc/letsencrypt/live/example.com/example.com.p12
Die einzige Möglichkeit, das Verhalten eines verdoppelten Serverzertifikats auf einem Linux-Computer zu duplizieren, besteht darin, Folgendes zu tun (der Root-Anker ist jedoch immer noch nicht enthalten):
openssl pkcs12 -export \ -inkey /etc/letsencrypt/live/example.com/privkey.pem \ -in /etc/letsencrypt/live/example.com/cert.pem \ -certfile /etc/letsencrypt/live/example.com/fullchain.pem \ -out /etc/letsencrypt/live/example.com/example.com.p12
(Beachten Sie die Verwendung von fullchain.pem
anstelle von chain.pem
in Verbindung mit der Verwendung von cert.pem
....) Es ist absolut sinnvoll, warum das Serverzertifikat dupliziert wird. Dies ist jedoch nicht der Befehl, den wir unter Mac OS X verwenden.
Hast openssl pkcs12 -export
du eine Idee, wie du hier das Richtige tun kannst?
0 Antworten auf die Frage
Verwandte Probleme
-
4
Gutes freies Ubuntu Server-VMWare-Image benötigt
-
3
Beschleunigung der Bootzeiten von OS X bei einem Jahr alten MBP
-
3
Wie ordnen Sie ein Airport Time Machine-Backup nach der Migration auf einen neuen Mac wieder zu?
-
6
Wie können Sie den Startton auf einem Mac stummschalten?
-
5
Warum wird mein Macbook bei der Verwendung von Boot Camp extrem heiß?
-
7
Gibt es unter Mac OS X ein Strg + Tab-Äquivalent?
-
6
Weg, um Time Machine-Daten auf eine neue Festplatte zu migrieren
-
13
Setzen Sie die Windows-Position von Mac OS X nach dem Abnehmen des externen Monitors zurück
-
10
Sicherungssoftware für Mac OS X
-
5
Wie kann ich unter Mac OS X einen .kext deinstallieren und entfernen?