Manchmal müssen wir möglicherweise ein SSL-Zertifikat in Tomcat für Java-Projekte implementieren. Die Implementierung von SSL in Tomcat unterscheidet sich irgendwie von der Implementierung in Webservern wie Nginx, Apache. In diesem Artikel erfahren Sie, wie Sie das SSL-Zertifikat auf Tomcat installieren. Wir gehen davon aus, dass Sie die Java-Umgebung bereits konfiguriert haben und der Tomcat-Server läuft.
Erstellen Sie einen Schlüsselspeicher
Java bietet JKS, auch bekannt als Java KeyStore, als Repository für Sicherheitszertifikate. Sowohl JDK als auch JRE stellen das Befehlszeilen-Hilfsprogramm keytool bereit zum Erstellen und Verwalten von Keystore. Führen Sie den folgenden Befehl aus, um einen Schlüsselspeicher zu erstellen.
$ keytool -genkey -alias tomcat.linuxways.com -keyalg RSA -keystore /etc/pki/keystore
CSR erstellen
Wenn Sie ein selbstsigniertes Zertifikat installieren, können Sie diesen Schritt vermeiden. Wenn Sie gekaufte SSL-Zertifikate installieren möchten, müssen Sie eine CSR-Datei erstellen.
$ keytool -certreq -keyalg RSA -alias tomcat.linuxways.com -file tomcat.csr -keystore /etc/pki/keystore
Sie werden aufgefordert, ein Keystore-Passwort einzugeben. Sobald das Passwort übermittelt wurde, wird eine CSR-Datei generiert. Verwenden Sie diese CSR-Datei, um ein von einer Zertifizierungsstelle signiertes SSL-Zertifikat zu erwerben.
CA-signiertes SSL-Zertifikat erhalten
Sobald das Zertifikat von der Zertifizierungsstelle ausgestellt wurde, verfügen Sie über die folgenden Dateien. Als Beispiel wird eine Domain (tomcat.linuxways.com) genommen.
- tomcat.linuxways.com (von CA ausgestelltes Zertifikat)
- root.crt (Root-Zertifikate)
- intermediate.crt (Zwischenzertifikate)
Installieren Sie das Zertifikat
Importieren Sie das CA-signierte Zertifikat mit dem folgenden Befehl.
$ keytool -import -alias tomcat.linuxways.com -keystore /etc/pki/keystore -trustcacerts -file path-to-certificate/tomcat.linuxways.com.crt
Wobei Pfad zum Zertifikat ist das Zertifikatsverzeichnis und tomcat.linuxways.com.crt ist das CA-signierte SSL-Zertifikat.
Stammzertifikat installieren
Importieren Sie das Stammzertifikat mit dem folgenden Befehl.
$ keytool -import -alias root -keystore /etc/pki/keystore -trustcacerts -file path-to-certificate/root.crt
Wobei root.crt ist die Root-Zertifikatsdatei.
Zwischenzertifikat installieren
Führen Sie den folgenden Befehl aus, um Zwischenzertifikatsdateien zu importieren.
$ keytool -import -alias intermediateca -keystore /etc/pki/keystore -trustcacerts -file path-to-certificate/intermediateca.crt
Wo intermediateca.crt ist die Zwischenzertifikatsdatei.
Tomcat-Konfiguration ändern
Nachdem Sie alle erforderlichen Zertifikate importiert haben, ist es jetzt an der Zeit, Tomcat Keystore zu konfigurieren. Gehen Sie zum Tomcat-Installationsordner und suchen Sie die server.xml Datei. Aktualisieren Sie die Konfigurationsdatei mit folgendem Inhalt.
$ vi tomcat-installation-directory/config/server.xml
Beispiel.
$ vi /opt/tomcat/config/server.xml <Connector port="4443" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="4443" SSLEnabled="true" scheme="https" secure="true" sslProtocol="TLS" keystoreFile="/etc/pki/keystore" keystorePass="_password_" />
Für die Demonstration wird Port 4443 verwendet. Sie können je nach Umgebung beliebige Ports auswählen.
Tomcat neu starten
Die Installation der Zertifikate ist abgeschlossen. Starten Sie den Tomcat-Server neu, um die Änderungen widerzuspiegeln.
$ path-to-tomcat/bin/shutdown.sh
$ path-to-tomcat/bin/startup.sh
Beispiel,
$ /opt/tomcat/bin/shutdown.sh
$ /opt/tomcat/bin/startup.sh
Verifizieren Sie das Zertifikat
Greifen Sie nun mit einem beliebigen Browser auf die Tomcat-Server-URL zu, um die Zertifikate zu überprüfen.
https://tomcat-server:<Port>
Beispiel,
https://tomcat.linuxways.com:4443
Schlussfolgerung
In diesem Artikel haben wir gelernt, wie man CSR-Dateien generiert und CA-signierte SSL-Zertifikate in Tomcat für Java-Projekten installiert.