com.didisoft.pgp
Class KeyPairInformation

java.lang.Object
  extended by com.didisoft.pgp.KeyPairInformation
All Implemented Interfaces:
java.io.Serializable
Direct Known Subclasses:
PGPKeyPair

public class KeyPairInformation
extends java.lang.Object
implements java.io.Serializable

Represents an OpenPGP key pair.

See Also:
Serialized Form

Constructor Summary
KeyPairInformation()
           
 
Method Summary
 void exportKeyRing(java.lang.String fileName, boolean asciiArmored)
          Exports the key pair (both the public and the private key if available) located in this object in one file.
 void exportPrivateKey(java.lang.String fileName, boolean asciiArmored)
          Exports the private key part of this key pair into a file.
 void exportPublicKey(java.lang.String fileName, boolean asciiArmored)
          Exports the public key part of this key pair into a file.
 java.lang.String getAlgorithm()
          Returns the name of the key encryption asymmetric algorithm.
 java.util.Date getCreationTime()
          Returns when was the key created.
 java.lang.String getFingerprint()
          Returns the key fingerprint as string.
 long getKeyID()
          Returns the Key ID of this key pair.
 java.lang.String getKeyIDHex()
          Returns a string representing the hexadecimal value of the Key ID.
 int getKeySize()
          Returns key size in bits.
 com.didisoft.pgp.KeyPairInformation.SubKey[] getPrivateSubKeys()
          Returns an array from all private sub keys.
 com.didisoft.pgp.KeyPairInformation.SubKey[] getPublicSubKeys()
          Returns an array from all public sub keys.
 PGPSecretKeyRing getRawPrivateKeyRing()
          Returns the Private key ring part of this Key Pair.
 PGPPublicKeyRing getRawPublicKeyRing()
          Returns the Public key ring part of this Key Pair
 java.lang.String[] getUserIDs()
          Returns User Id's associated with this key.
 int getValidDays()
          Returns key validity period in days.
 int getVersion()
          Returns key format OpenPGP version.
 boolean isEncryptionKey()
          Returns true if this key can be used for encryption, otherwise false
 boolean isRevoked()
          Returns is this Key revoked (not usable any more).
 boolean isSigningKey()
          Returns is this Key used for signing data.
 void setPrivateKeyRing(PGPSecretKeyRing secRing)
          Sets the Private key ring part of this Key Pair.
 void setPublicKeyRing(PGPPublicKeyRing pubRing)
          Sets the Public key ring part of this Key Pair.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

KeyPairInformation

public KeyPairInformation()
Method Detail

setPublicKeyRing

public void setPublicKeyRing(PGPPublicKeyRing pubRing)
Sets the Public key ring part of this Key Pair. (Used by KeyStore.getKeys())


setPrivateKeyRing

public void setPrivateKeyRing(PGPSecretKeyRing secRing)
Sets the Private key ring part of this Key Pair. (Used by KeyStore.getKeys())


getPublicSubKeys

public com.didisoft.pgp.KeyPairInformation.SubKey[] getPublicSubKeys()
Returns an array from all public sub keys.

Returns:
public sub keys

getPrivateSubKeys

public com.didisoft.pgp.KeyPairInformation.SubKey[] getPrivateSubKeys()
Returns an array from all private sub keys.

Returns:
private sub keys

isRevoked

public boolean isRevoked()
Returns is this Key revoked (not usable any more).


isEncryptionKey

public boolean isEncryptionKey()
Returns true if this key can be used for encryption, otherwise false


isSigningKey

public boolean isSigningKey()
Returns is this Key used for signing data.


getRawPublicKeyRing

public PGPPublicKeyRing getRawPublicKeyRing()
Returns the Public key ring part of this Key Pair


getRawPrivateKeyRing

public PGPSecretKeyRing getRawPrivateKeyRing()
Returns the Private key ring part of this Key Pair.
May be null if only public key is available.


getKeyID

public long getKeyID()
Returns the Key ID of this key pair.


getKeyIDHex

public java.lang.String getKeyIDHex()
Returns a string representing the hexadecimal value of the Key ID.

Changed to return Headecimal string for only the lower 4 bytes, being that way the same as the one displayed by PGP (r) and GnuPG.

Since:
2.5.2

getFingerprint

public java.lang.String getFingerprint()
Returns the key fingerprint as string.


getUserIDs

public java.lang.String[] getUserIDs()
Returns User Id's associated with this key.


getKeySize

public int getKeySize()
Returns key size in bits.


getAlgorithm

public java.lang.String getAlgorithm()
Returns the name of the key encryption asymmetric algorithm.


getCreationTime

public java.util.Date getCreationTime()
Returns when was the key created.


getValidDays

public int getValidDays()
Returns key validity period in days.


getVersion

public int getVersion()
Returns key format OpenPGP version.


exportPublicKey

public void exportPublicKey(java.lang.String fileName,
                            boolean asciiArmored)
                     throws java.io.IOException
Exports the public key part of this key pair into a file.

Example:
 import com.didisoft.pgp.PGPKeyPair;
 
 public class ExportPublicKeyDemo {
     public static void main(String[] args) throws Exception{
         // initialize the key object
         PGPKeyPair key = new PGPKeyPair("my_key.pgp");
         
         // should the exported key be in ASCII form (true), or binary (false)
         boolean asciiArmored = true;
         
         // export the public key
         key.exportPublicKey("my_public_key.asc", asciiArmored);     
     }
 }
 

Parameters:
fileName - File name where the public key will be exported (absolute or relative path)
asciiArmored - if true, out is ASCII armored, when false binary file format is used.
Throws:
java.io.IOException - if an I/O error occurs.

exportPrivateKey

public void exportPrivateKey(java.lang.String fileName,
                             boolean asciiArmored)
                      throws NoPrivateKeyFoundException,
                             java.io.IOException
Exports the private key part of this key pair into a file.
If there is no private key available in the key pair object an exception of type NoPrivateKeyFoundException will be thrown

Example:
 import com.didisoft.pgp.PGPKeyPair;
 
 public class ExportPrivateKeyDemo {
     public static void main(String[] args) throws Exception{
         // initialize the key object
         PGPKeyPair key = new PGPKeyPair("my_key.pgp");
         
         // should the exported key be in ASCII form (true), or binary (false)
         boolean asciiArmored = true;
         
         // export the private key
         key.exportPrivateKey("my_private_key.asc", asciiArmored);     
     }
 }
 

Parameters:
fileName - File name where the public key will be exported (absolute or relative path)
asciiArmored - if true, out is ASCII armored, when false binary file format is used.
Throws:
NoPrivateKeyFoundException - if there is no private key loaded in this key pair object
java.io.IOException - if an I/O error occurs.

exportKeyRing

public void exportKeyRing(java.lang.String fileName,
                          boolean asciiArmored)
                   throws java.io.IOException
Exports the key pair (both the public and the private key if available) located in this object in one file.
The result file is in ASCII armored format. The private key is exported only if exists.

Example:
 import com.didisoft.pgp.PGPKeyPair;
 
 public class ExportKeyPairDemo {
     public static void main(String[] args) throws Exception{
         // initialize the key store
         PGPKeyPair key = new PGPKeyPair("my_key.pgp");
         
         // export the key pair
         keyStore.exportKeyRing("keypair.asc");     
     }
 }
 

Parameters:
fileName - File name where the key pair will be exported (absolute or relative path)
Throws:
java.io.IOException - I/O error saving the key ring


Copyright © 2006-2010 DidiSoft Eood All Rights Reserved.