Nützliche Komandozeilenbefehle für TrustedKeyStores in JAVA

für Linuxsysteme "%JAVA_HOME%" ersetzten durch "${JAVA_HOME}"

Erzeugen eines neuen Zertifikates/Schlüsselpaares in einem Keystore:

%JAVA_HOME%\bin\keytool -genkeypair -alias tomcat -keyalg RSA -keysize 2048 -dname "CN=localhost, OU=MyUnit, O=MyCompany, L=-, S=-, C=DE, EMAILADDRESS=your.name@example.com" -keystore "<keystore-file.jks>" -storepass "<password>" -validity 356

Erstellung der Selbst-Zertifizierung:

%JAVA_HOME%\bin\keytool -selfcert -v -alias tomcat -keystore "<keystore-file.jks>" -storepass "<password>" -validity 356

Importierte Zertifikate auflisten:

%JAVA_HOME%\bin\keytool -v -list -keystore "<keystore-file.jks>" -storepass "<password>"

Eintragung in server.xml des Tomcat Servers:

1
2
3
4
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
  maxThreads="150" scheme="https" secure="true"
  clientAuth="false" sslProtocol="TLS"
  keystoreFile="<keystore-file.jks>" keystorePass="<password>" />

Zertifikat aus JKS-Keystore in CER-Datei exportieren:

%JAVA_HOME%\bin\keytool -exportcert -alias <zertifikatsname> -file <exportfilename>.cer -keystore "<keystore-file.jks>" -storepass "<password>"

Signing Request erzeugen zu einem bestehenden Schlüsselpaar in einem JKS-Keystore:

%JAVA_HOME%\bin\keytool -certreq -alias <zertifikatsname> -file <exportfilename>_csr.pem -keystore "<keystore-file.jks>" -storepass "<password>"

Signing Request mit einem CA Zertifikat signieren:

openssl ca -config X509CA/openssl.cnf -days 365 -in CertName_csr.pem -out CertName.pem
openssl x509 -in CertName.pem -out CertName.pem -outform PEM

Windows: copy CertName.pem + X509CA\ca\new_ca.pem CertName.chain
UNIX: cat CertName.pem X509CA/ca/new_ca.pem > CertName.chain

keytool -import -file CertName.chain -keypass CertPassword -keystore CertName.jks -storepass CertPassword