Existing OpenPGP keys obtained from other sources can be used directly or imported in a KeyStore object for later use or modifications.
We can import:
- standalone pgp keys (.asc files) by using
- whole key rings, for example directly load the keys of an existing PGP or GnuPG installation pubring.pkr and secring.skr files
- keys from another KeyStore instance
Methods used:
- KeyStore.importPublicKey – imports only public keys
- KeyStore.importPrivateKey – imports only private keys
- KeyStore.importKeyRing – imports all keys
- KeyStore.importKeyStore – imports keys from another KeyStore
Example code
This example demonstrates how to import existing keys from a standalone files into a KeyStore object.
import java.io.IOException; import com.didisoft.pgp.*; public class ImportKeysDemo { public static void main(String[] args) { // initialize the KeyStore. The key store file may not exist // and subsequent operations will create it KeyStore keyStore = new KeyStore("my.keystore", "keystore password"); try { // import private key KeyPairInformation key = keyStore.importKey("private.asc"); p // import public key KeyPairInformation key2 = keyStore.importKey("public.asc"); // imports key ring file. The file may contain public, private or // both type of keys if it is in ASCII armored format KeyPairInformation[] manyKeys = keyStore.importKeyRing("keypair.asc"); } catch (PGPException e) { System.out.println("Error reading key files : " + e.getMessage()); } catch (IOException e) { System.out.println(e.getMessage()); } } } |
After the key has been imported it can be inspected or edited.