Java Keytool is een programma om certificaten en public en private keys te beheren. Java Keytool slaat keys en certificaten op in een zogenaamde keystore file. Een Keytool keystore bevat de private key en bijbehorende certficaten.
Elk certificaat in een Java keystore heeft een eigen unieke alias naam. Bij het aanmaken van een Java keystore wordt eerst een .jks file aangemaakt, hierin staat eerst alleen de private key, als u later het certificaat ontvangt, importeert u het certificaat in de keystore.
Met Java keytool kunt u ook een aantal andere functies uitoefenen, zoals de details van een certificaat opvragen of een certificaat exporteren.
Onderstaande commando's zijn voor het genereren van een nieuwe Java Keytool keystore, het aanmaken van een CSR en het importeren van certificaten. Zijn er meerdere certificaten (root en/of intermediate) dan dienen deze eerst geimporteerd te worden, dus voor het CA certificaat.
keytool -genkey -alias mydomain -keyalg RSA -keystore keystore.jks
keytool -certreq -alias "mydomain" -keystore keystore.jks -file mydomain.csr
keytool -import -trustcacerts -alias root -file Thawte.crt -keystore keystore.jks
keytool -import -trustcacerts -alias mydomain -file mydomain.crt -keystore keystore.jks
keytool -genkey -keyalg RSA -alias "selfsigned" -keystore keystore.jks -storepass "password" -validity 360
Gebruik onderstaande opdrachten om de informatie in een keystore of certificaat te controleren.
keytool -printcert -v -file mydomain.crtkeytool -list -v -keystore keystore.jks
keytool -list -v -keystore keystore.jks -alias mydomain
keytool -delete -alias "mydomain" -keystore keystore.jks
keytool -storepasswd -new new_storepass -keystore keystore.jks
keytool -export -alias mydomain -file mydomain.crt
keytool -list -v -keystore $JAVA_HOME/jre/lib/security/cacerts
keytool -import -trustcacerts -file /path/to/ca/ca.pem -alias CA_ALIAS -keystore $JAVA_HOME/jre/lib/security/cacerts