Certificate Signing Request (CSR) in Tomcat erstellen und ausgestelltes Zertifikat importieren
Hier eine kleine Anleitung, wie man einen CSR in Tomcat erstellt. Wir möchten dabei zum Schluss im Zertifikat zusätzlich eine Email-Adresse und mehrere SANs im Zertifikat haben. Die Zertifikatskette besteht in unserem Beispiel aus einer Root CA und einer Issuing CA.
Schritt 1: KeyStore erstellen
sudo $JAVA_HOME/bin/keytool -genkey -alias <Alias-Name> -keyalg RSA -keysize 2048 -keystore <KeyStore-Name>.jks -dname "CN=<Common-Name>, O=<Organisation>, L=<Location>, ST=<State>, C=<Country>, EMAILADDRESS=<Email-Address>"
Schritt 2: Request erstellen
sudo $JAVA_HOME/bin/keytool -certreq -alias <Alias-Name> -file <CSR-Filename>.csr -keystore <KeyStore-Name>.jks -ext san=dns:<SAN-Name-1>,dns:<SAN-Name-2>,dns:<SAN-Name-n>
Schritt 3: Request an Issuing CA übermitteln, Zertifikat ausstellen und als p7b-Zertifikatsdatei mit Zertifikatskette exportieren
Schritt 4: p7b-Zertifikatsdatei mit Zertifikatskette importieren
sudo $JAVA_HOME/bin/keytool -import -alias <Alias-Name> -file <Cert-Filename>.p7b -keystore <KeyStore-Name>.jks
Alternativ können auch die CA Zertifikate und das Server Zertifikat einzeln importiert werden, wenn sie im .crt-Format, statt in .p7b vorliegen
sudo $JAVA_HOME/bin/keytool -import -alias <Alias-Name> -trustcacerts -file <Root-CA-Cert-Filename>.crt -keystore <KeyStore-Name>.jks sudo $JAVA_HOME/bin/keytool -import -alias <Alias-Name> -trustcacert -file <Issuing-CA-Cert-Filename>.crt -keystore <KeyStore-Name>.jks sudo $JAVA_HOME/bin/keytool -import -alias <Alias-Name> -file <Cert-Filename>.crt -keystore <KeyStore-Name>.jks