This example will demonstrate how to export a key from a KeyStore file. This is an operation that usually follows after we generate a key pair and have to send the public key to our partners so they could OpenPGP encrypt data that only we will be able to decrypt.
import java.io.IOException; import com.didisoft.pgp.*; import com.didisoft.pgp.exceptions.*; public class ExportKeysDemo { public static void main(String[] args) { // initialize the key store KeyStore keyStore = new KeyStore("pgp.keystore", "changeit"); // should the output be ASCII or binary boolean asciiArmor = false; // export public key try { keyStore.exportPublicKey("exported_pub.pkr", "demo@didisoft.com", asciiArmor); } catch (NoPublicKeyFoundException e) { System.out.println("There is no public key in the KeyStore with " + "the specified User ID"); } catch (IOException e) { System.out.println(e.getMessage()); } // export private key try { keyStore.exportPrivateKey("exported_sec.skr", "demo@didisoft.com", asciiArmor); } catch (NoPrivateKeyFoundException e) { System.out.println("There is no private key in the KeyStore with " + "the specified User ID"); } catch (IOException e) { System.out.println(e.getMessage()); } // export the whole key pair in one file (in this case // only ASCII armored output is accepted) try { keyStore.exportKeyRing("keypair.asc", "demo@didisoft.com"); } catch (NoPublicKeyFoundException e) { System.out.println("There is no key pair in the KeyStore with " + "the specified User ID"); } catch (IOException e) { System.out.println(e.getMessage()); } } } |