org.bouncycastle.openpgp

Class PGPKeyRingGenerator

public class PGPKeyRingGenerator extends Object

Generator for a PGP master and subkey ring. This class will generate both the secret and public key rings
Constructor Summary
PGPKeyRingGenerator(int certificationLevel, PGPKeyPair masterKey, String id, int encAlgorithm, char[] passPhrase, PGPSignatureSubpacketVector hashedPcks, PGPSignatureSubpacketVector unhashedPcks, SecureRandom rand, String provider)
Create a new key ring generator using old style checksumming.
PGPKeyRingGenerator(int certificationLevel, PGPKeyPair masterKey, String id, int encAlgorithm, char[] passPhrase, boolean useSHA1, PGPSignatureSubpacketVector hashedPcks, PGPSignatureSubpacketVector unhashedPcks, SecureRandom rand, String provider)
Create a new key ring generator.
Method Summary
voidaddSubKey(PGPKeyPair keyPair)
Add a sub key to the key ring to be generated with default certification and inheriting the hashed/unhashed packets of the master key.
voidaddSubKey(PGPKeyPair keyPair, PGPSignatureSubpacketVector hashedPcks, PGPSignatureSubpacketVector unhashedPcks)
Add a subkey with specific hashed and unhashed packets associated with it and default certification.
PGPPublicKeyRinggeneratePublicKeyRing()
Return the public key ring that corresponds to the secret key ring.
PGPSecretKeyRinggenerateSecretKeyRing()
Return the secret key ring.

Constructor Detail

PGPKeyRingGenerator

public PGPKeyRingGenerator(int certificationLevel, PGPKeyPair masterKey, String id, int encAlgorithm, char[] passPhrase, PGPSignatureSubpacketVector hashedPcks, PGPSignatureSubpacketVector unhashedPcks, SecureRandom rand, String provider)
Create a new key ring generator using old style checksumming. It is recommended to use SHA1 checksumming where possible.

Parameters: certificationLevel the certification level for keys on this ring. masterKey the master key pair. id the id to be associated with the ring. encAlgorithm the algorithm to be used to protect secret keys. passPhrase the passPhrase to be used to protect secret keys. hashedPcks packets to be included in the certification hash. unhashedPcks packets to be attached unhashed to the certification. rand input secured random provider the provider to use for encryption.

Throws: PGPException NoSuchProviderException

PGPKeyRingGenerator

public PGPKeyRingGenerator(int certificationLevel, PGPKeyPair masterKey, String id, int encAlgorithm, char[] passPhrase, boolean useSHA1, PGPSignatureSubpacketVector hashedPcks, PGPSignatureSubpacketVector unhashedPcks, SecureRandom rand, String provider)
Create a new key ring generator.

Parameters: certificationLevel the certification level for keys on this ring. masterKey the master key pair. id the id to be associated with the ring. encAlgorithm the algorithm to be used to protect secret keys. passPhrase the passPhrase to be used to protect secret keys. useSHA1 checksum the secret keys with SHA1 rather than the older 16 bit checksum. hashedPcks packets to be included in the certification hash. unhashedPcks packets to be attached unhashed to the certification. rand input secured random provider the provider to use for encryption.

Throws: PGPException NoSuchProviderException

Method Detail

addSubKey

public void addSubKey(PGPKeyPair keyPair)
Add a sub key to the key ring to be generated with default certification and inheriting the hashed/unhashed packets of the master key.

Parameters: keyPair

Throws: PGPException

addSubKey

public void addSubKey(PGPKeyPair keyPair, PGPSignatureSubpacketVector hashedPcks, PGPSignatureSubpacketVector unhashedPcks)
Add a subkey with specific hashed and unhashed packets associated with it and default certification.

Parameters: keyPair public/private key pair. hashedPcks hashed packet values to be included in certification. unhashedPcks unhashed packets values to be included in certification.

Throws: PGPException

generatePublicKeyRing

public PGPPublicKeyRing generatePublicKeyRing()
Return the public key ring that corresponds to the secret key ring.

Returns: a public key ring.

generateSecretKeyRing

public PGPSecretKeyRing generateSecretKeyRing()
Return the secret key ring.

Returns: a secret key ring.