SSL-Zertifikat auf einen anderen Server übertragen
Einführung
Jeder Server braucht das SSL-Zertifikat in einem bestimmten Format, um es verarbeiten zu können: Windows/IIS verlangt das SSL im Format .pfx, Linux/Apache- oder Nginx-Server verlangen das Zertifikat im Format .crt, und andere Server wie Haproxy verlangen es im Format .pem. Sie müssen nur die Zertifikate von dem Server exportieren, auf dem sie derzeit installiert sind, und sie in das Format umwandeln, das der Zielserver verlangt. Achten Sie darauf, die Zertifikate zusammen mit ihrem privaten Schlüssel und allen Zwischenzertifikaten zu exportieren, die mit ihnen verwendet werden.
#1 Ein SSL-Zertifikat von einem IIS-Server auf einen anderen IIS-Server übertragen.
Zwischen zwei IIS-Servern ist keine Umwandlung nötig.
1.) Öffnen Sie den IIS als Administrator und suchen Sie im Fenster Home die Option «Server Certificates».
2.) Wählen Sie in der Liste das Zertifikat, das Sie exportieren möchten, klicken Sie mit der rechten Maustaste darauf und wählen Sie Export.
3.) Der Export fragt Sie nach dem Zielverzeichnis für die exportierten Zertifikate und nach einem Passwort zu ihrem Schutz.
4.) Kopieren Sie das Zertifikat vom Exportort und übertragen Sie es an einen Ort auf dem Ziel-IIS-Server. Öffnen Sie den IIS auf dem Zielserver als Administrator, öffnen Sie «Server Certificates» in den Optionen des Home-Fensters und wählen Sie im linken Bereich Import. Suchen und wählen Sie die Zertifikatsdatei, geben Sie das Passwort ein, das Sie beim Export auf dem anderen Server verwendet haben, und klicken Sie auf «Ok».
5.) Jetzt können Sie das importierte Zertifikat für Ihre Domain installieren. Öffnen Sie den IIS mit Administratorrechten, klappen Sie «Sites» auf und klicken Sie auf die Website, für die Sie das Zertifikat installieren möchten. Klicken Sie im linken Bereich auf «Bindings», klicken Sie auf «Add», wählen Sie das importierte SSL-Zertifikat aus der Auswahlliste, tragen Sie den Hostnamen ein und klicken Sie auf «Ok».
Starten Sie die Website über die Option «Manage Web Site» im linken Bereich neu.
#2 SSL von einem Windows/IIS-Server auf einen Linux/Apache-Server kopieren
1.) Exportieren Sie die Zertifikate vom Windows-IIS-Server wie oben beschrieben (Schritte 1, 2 und 3).
2.) Kopieren Sie das exportierte .pfx-Zertifikat vom Windows-Server auf den Linux-Server. Für die Übertragung können Sie Programme wie WinSCP oder den FTP-Dienst des Linux-Servers verwenden.
3.) Öffnen Sie auf dem Linux-Server das Terminal und führen Sie den folgenden Befehl aus, um das .pfx-Zertifikat in das .crt-Format und den privaten Schlüssel umzuwandeln.
openssl pkcs12 -in eurovps.pfx -out testconvert.txt -nodes
** ersetzen Sie testexport.pfx durch den Dateinamen Ihrer exportierten .pfx-Datei und testconvert.txt durch den Dateinamen, den die umgewandelte Zertifikatsdatei tragen soll.
Die umgewandelte .txt-Datei hat zwei Teile, den Abschnitt mit dem privaten Schlüssel und den Abschnitt mit dem Zertifikat. Kopieren Sie den Text von der «BEGIN PRIVATE KEY»-Markierung bis zur «END PRIVATE KEY»-Markierung in eine andere Datei und nennen Sie sie domain.key. Kopieren Sie den Text von der «BEGIN CERTIFICATE»-Markierung bis zur «END CERTIFICATE»-Markierung in eine andere Datei und nennen Sie sie domain.crt. Das sind der private Schlüssel und das Zertifikat der Domain, die Sie direkt in Apache, Nginx oder über ein Control Panel wie Plesk oder cPanel installieren können.
#3 SSL-Zertifikate von einem Apache-Server auf einen anderen Apache-Server kopieren.
1.) Den Speicherort der SSL-Zertifikatsdatei auf dem Quellserver finden Sie in der Apache-Konfigurationsdatei. Die Apache-Konfiguration liegt normalerweise an einem der folgenden Orte.
/etc/apache2/conf/httpd.conf
/etc/httpd/conf/httpd.conf
/etc/apache2/apache2.conf
/etc/httpd/httpd.conf
Sie können im Terminal auch den Befehl «httpd -V» verwenden, der die von Apache geladene Konfigurationsdatei anzeigt.
2.) Notieren Sie im VirtualHost der Domain die drei SSL-Pfade:
<VirtualHost 123.456.789.10:443>
ServerName domain.com
ServerAlias www.domain.com mail.domain.com
DocumentRoot /var/ww/html/domain.com
--
SSLEngine on
SSLCertificateFile /etc/ssl/crt/primary.crt
SSLCertificateKeyFile /etc/ssl/crt/private.key
SSLCertificateChainFile /etc/ssl/crt/intermediate.crt
…..
….
…
</VirtualHost>
Ermitteln Sie die Speicherorte von SSLCertificateFile, SSLCertificateKeyFile und SSLCertificateChainFile aus dem VirtualHost der Domain, kopieren Sie die Dateien von dort und übertragen Sie sie an denselben oder einen eigenen Ort auf dem Zielserver. Passen Sie den Apache-VirtualHost-Eintrag der Domain auf dem Zielserver so an, dass SSLCertificateFile, SSLCertificateKeyFile und SSLCertificateChainFile auf den Speicherort der Zertifikate zeigen.
Prüfen Sie die Syntax der Apache-Konfiguration (apachectl configtest) und laden Sie die Konfiguration neu (service httpd reload), damit das neue SSL für die Domain aktiv wird.
#4 SSL-Zertifikate von einem Linux/Apache-Server auf einen Windows-IIS-Server kopieren
1.) Ermitteln Sie die Speicherorte von SSLCertificateFile, SSLCertificateKeyFile und SSLCertificateChainFile aus dem Apache-VirtualHost der Domain (siehe #3.1 und #3.2).
2.) Kopieren Sie die Dateien in ein Testverzeichnis auf dem Server.
mkdir /root/ssl/
cp /etc/ssl/crt/primary.crt /root/ssl/primary.crt
cp /etc/ssl/crt/private.key /root/ssl/private.key
cp /etc/ssl/crt/intermediate.crt /root/ssl/intermediate.crt
3.) Wandeln Sie die Zertifikate und den Schlüssel mit dem folgenden openssl-Befehl in das .pfx-Format um.
openssl pkcs12 -export -out eurovpstest.pfx -inkey /root/ssl/private.key -in /root/ssl/primary.crt -certfile /root/ssl/intermediate.crt
Ersetzen Sie eurovpstest.pfx durch den Dateinamen, den Sie bevorzugen.
Laden Sie die Dateien nach der Umwandlung per FTP auf den Windows-Server und importieren Sie sie in den IIS, wie in #1.4 und #1.5 beschrieben.
Aus den FAQ von EuroVPS.
Mehr in «Anleitungen»Ihr nächster Infrastrukturpartner
Haben Sie noch
eine Frage?
Sagen Sie uns, was Sie erreichen möchten. Ein Ingenieur liest es und antwortet.
+357 222 32280
Beginnen wir mit Ihrer Umgebung.
Ein wenig Kontext hilft uns, das richtige Gespräch zu beginnen.
