Java keystore helper

What is in the keystore, does the key match, is the chain complete? Open, check, rework and save it again – without keytool and without uploading.

JKS, JCEKS, PKCS#12Convert & create truststoresRuns only in your browser
Drop a keystore here or click.jks · .jceks · .p12 · .pfx · .keystore · .truststore

Everything runs locally in your browser. Keystore, passwords and keys never leave your device.

Keystore, truststore, JKS, PKCS#12: the terms

Java applications such as Tomcat, Spring Boot, Jira, Keycloak or Elasticsearch do not store certificates as loose files but in a keystore: a password-protected file with named entries (aliases).

Typical errors and what they mean

Convert JKS to PKCS#12

Open the file, choose “PKCS#12” below, set a password and download. Then adjust the type in the configuration, e.g. certificateKeystoreType="PKCS12" in Tomcat or server.ssl.key-store-type=PKCS12 in Spring Boot. “PKCS#12 compatible” uses older methods (3DES, SHA-1) for Windows Server 2016, older Java 8 versions and appliances that cannot read AES in PKCS#12.

If intermediates are missing, the certificate converter adds them. The SSL check shows what the server really sends afterwards, and the key match also checks whether key, certificate and CSR belong together.

FAQ

Is my keystore uploaded anywhere?

No. The file is read and decrypted in your browser; passwords and keys never leave your device. After loading, the page also works offline.

What is the cacerts password?

changeit by default. Since Java 9 keytool can access it directly with the -cacerts option, without specifying the path.

Can I recover a forgotten keystore password?

No. With JKS the certificates can be shown without a password, but the private keys cannot. The only way out is a new key and a new certificate.

Why does PKCS#12 have only one password?

For PKCS#12, Java uses the same password for file and key, and many programs such as Tomcat even require it. Separate key passwords practically only exist in JKS.

What happens to secret keys from JCEKS?

They are shown but not carried over because their content is stored as a serialised Java object. keytool -importkeystore can transfer them to PKCS#12.