

String keyPassword = keystorePassword // default case Private static String getKeyPassword(final String args, final String keystorePassword) String b64 = new String(Base64.encodeBase64(key.getEncoded(),true)) String b64 = new BASE64Encoder().encode(key.getEncoded()) Key key = ks.getKey(alias, keyPassword.toCharArray()) Ks.load(new FileInputStream(keystoreName), keystorePassword.toCharArray()) KeyStore ks = KeyStore.getInstance("jks") Throw new IllegalArgumentException("expected args: Keystore filename, Keystore password, alias,

String alias = (String)aliases.nextElement() Keystore.load(is, password.toCharArray()) Įnumeration aliases = keystore.aliases()
#USE .PKS FOR JAVA KEYSTORE EXPLORER CODE#
And never put your password on the command line or in environment variables it's too easy for other users to grab.Ī portion of code originally from Example Depot for listing all of the aliases in a key store: // Load input stream into keystore The easiest method for securing them is to do all of this in a directory which doesn't have any access rights for anyone other than the user. Nothing will warn you if you fail to secure them correctly. When you do this, take care to keep the files created secure. You should be able to handle that PEM file easily enough it's plain text with an encoded unencrypted private key and certificate(s) inside it (in a pretty obvious format). Next, use OpenSSL to do the extraction to PEM: openssl pkcs12 -in intermediate.p12 -out extracted.pem -nodes destkeystore intermediate.p12 -deststoretype PKCS12 keytool -importkeystore -srckeystore keystore.jks \ Make sure you use the same password for both files (private key password, not the keystore password) or you will get odd failures later on in the second step. To do the extraction, you first use keytool to convert to the standard format. This all depends on the fact that both Java and OpenSSL support PKCS#12-formatted keystores. You can extract a private key from a keystore with Java6 and OpenSSL.
