Generate private and public key file using keytool

30,378

Solution 1

It's possible to extract the public keys using keytool, check this link.

Export/import commands We'll use the keytool -export command to extract the public key into a file, and then use the keytool -import command to insert it into a new keystore. Here's the command to extract the client's public key:

keytool -export -alias clientprivate -keystore client.private -file temp.key -storepass clientpw

And here's the command to insert the client's private key into its own keystore:

keytool -import -noprompt -alias clientpublic -keystore client.public -file temp.key -storepass public

We'll also extract and store the server's public key. Here's the command to extract the key:

keytool -export -alias serverprivate -keystore server.private -file temp.key -storepass serverpw

And here's the command to place it in its own keystore:

keytool -import -noprompt -alias serverpublic -keystore server.public -file temp.key -storepass public

Solution 2

As per the findings there is no direct way to extract the private key out of the keystore , this link How can I export my private key from a Java Keytool keystore? helped to me extract the keys , it requires OpenSSL but i think thats the only way to go.

Share:
30,378
user3185729
Author by

user3185729

Updated on March 01, 2020

Comments

  • user3185729
    user3185729 about 4 years

    I want to know if there is a way to create .key file for (public and private key) using keytool , I understand that we can generate a keystore using below command

    keytool -genkeypair -keysize 2048 -keyalg RSA -alias appalias -keystore D:\..\..

    which has the keypair , I am also aware of java way of retrieving the keys from keystore , but is there a direct way for it using KEYTOOL

  • user3185729
    user3185729 over 8 years
    Thanks for replying NevyanovL , puttygen can be a way to generate keys and we also have openssl that can do the job but its like i am looking for a way where it can be done using keytool only
  • DAB
    DAB about 3 years
    This is misleading. Your examples don't extract a "public" key or a "private" key in the strict sense of encryption. They simply extract the key identified by the alias. Indeed the two -export and -import commands are identical except for the file names and aliases.