Create Self signed cert with Java Keytool
keytool location: $JAVA_HOME/bin
validity in days, e.g. 365 * 20 years = 7300 days
- Generate key pair
$JAVA_HOME/bin/keytool -genkeypair -alias demo-self-signed -keyalg RSA -keystore demo-self-signed-cert-keystore.jks -keypass keypassword -storepass storepassword
- Convert JKS to the PKCS12 format
$JAVA_HOME/bin/keytool -importkeystore -srckeystore demo-self-signed-cert-keystore.jks -srcstorepass storepassword -srckeypass keypassword -srcalias demo-self-signed -destalias demo-self-signed -destkeystore demo-self-signed-cert-keystore.p12 -deststoretype PKCS12 -deststorepass password -destkeypass password
- Exporting the Private key from the PKCS12 format keystore
openssl pkcs12 -in demo-self-signed-cert-keystore.p12 -nodes -nocerts -out demo-self-signed-cert-keystore-private-key.pem
- Exporting the Public Key
openssl pkcs12 -in demo-self-signed-cert-keystore.p12 -nokeys -out demo-self-signed-cert-keystore-public-key-cert.pem