it-swarm.com.de

Wie kann ich eine PFX-Zertifikatdatei für die Verwendung mit Apache auf einem Linux-Server konvertieren?

Wie kann ich eine PFX-Zertifikatdatei für die Verwendung mit Apache auf einem Linux-Server konvertieren?

Ich habe die PFX über die Windows-Zertifikatdienste erstellt. Die PFX enthält die gesamte Zertifikatskette. (Das ist nur eine Wurzel und das Hauptzertifikat, kein Zwischenprodukt.)

Führe mich, Weise.

104
AaronJAnderson

Mit OpenSSL können Sie pfx mit den folgenden Befehlen in ein Apache-kompatibles Format konvertieren:

openssl pkcs12 -in domain.pfx -clcerts -nokeys -out domain.cer
openssl pkcs12 -in domain.pfx -nocerts -nodes  -out domain.key   

Erster Befehl extrahiert öffentlichen Schlüssel nach domain.cer.
Zweiter Befehl extrahiert privaten Schlüssel zu domain.key.

Aktualisieren Sie Ihre Apache-Konfigurationsdatei mit:

<VirtualHost 192.168.0.1:443>
 ...
 SSLEngine on
 SSLCertificateFile /path/to/domain.cer
 SSLCertificateKeyFile /path/to/domain.key
 ...
</VirtualHost>
189
Matej

Zusätzlich zu

openssl pkcs12 -in domain.pfx -clcerts -nokeys -out domain.cer
openssl pkcs12 -in domain.pfx -nocerts -nodes  -out domain.key

Ich habe auch ein Certificate Authority (CA) -Zertifikat erstellt:

openssl pkcs12 -in domain.pfx -out domain-ca.crt -nodes -nokeys -cacerts

Und in die Apache-Konfigurationsdatei aufgenommen:

<VirtualHost 192.168.0.1:443>
 ...
 SSLEngine on
 SSLCertificateFile /path/to/domain.cer
 SSLCertificateKeyFile /path/to/domain.key
 SSLCACertificateFile /path/to/domain-ca.crt
 ...
</VirtualHost>
95
Andron

Damit es mit Apache funktioniert, brauchten wir einen zusätzlichen Schritt.

openssl pkcs12 -in domain.pfx -clcerts -nokeys -out domain.cer
openssl pkcs12 -in domain.pfx -nocerts -nodes  -out domain_encrypted.key
openssl rsa -in domain_encrypted.key -out domain.key

Der letzte Befehl entschlüsselt den Schlüssel zur Verwendung mit Apache. Die domain.key-Datei sollte folgendermaßen aussehen:

-----BEGIN RSA PRIVATE KEY-----
MjQxODIwNTFaMIG0MRQwEgYDVQQKEwtFbnRydXN0Lm5ldDFAMD4GA1UECxQ3d3d3
LmVudHJ1c3QubmV0L0NQU18yMDQ4IGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxp
YWIuKTElMCMGA1UECxMcKGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDEzMDEG
A1UEAxMqRW50cnVzdC5uZXQgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgKDIwNDgp
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArU1LqRKGsuqjIAcVFmQq
-----END RSA PRIVATE KEY-----
31

Ich habe ein paar Werkzeuge mitgenommen, aber das ist es, womit ich endete.

Generierte und installierte ein Zertifikat auf IIS7. Exportiert als PFX von IIS

In pkcs12 konvertieren

openssl pkcs12 -in certificate.pfx -out certificate.cer -nodes

HINWEIS: Beim Konvertieren von PFX in das PEM-Format legt openssl alle Zertifikate und den privaten Schlüssel in einer einzigen Datei ab. Sie müssen die Datei im Texteditor öffnen und jeden Zertifikat- und privaten Schlüssel (einschließlich der BEGIN/END-Anweisungen) in eine eigene Textdatei kopieren und als certificate.cer, CAcert.cer bzw. privateKey.key speichern.

-----BEGIN PRIVATE KEY-----
Saved as certificate.key
-----END PRIVATE KEY-----

-----BEGIN CERTIFICATE-----
Saved as certificate.crt
-----END CERTIFICATE-----

Hinzugefügt zu Apache vhost w/Webmin.

3
AaronJAnderson

SSLSHopper enthält einige ziemlich gründliche Artikel zum Wechseln zwischen verschiedenen Servern.

http://www.sslshopper.com/de/wie-zum-bewegen-oder-kopieren-andere-zertifikate-von-einem-Server-zu-anderen.html

Wählen Sie einfach den entsprechenden Link unten auf dieser Seite.

Hinweis: Sie verfügen über einen Online-Konverter, mit dem sie auf Ihren privaten Schlüssel zugreifen können. Sie können wahrscheinlich als vertrauenswürdig eingestuft werden, aber es ist besser, den Befehl OPENSSL (der auch auf dieser Site angezeigt wird) zu verwenden, um den privaten Schlüssel auf Ihrem eigenen Computer geheim zu halten.

0
Simon_Weaver