Package org.bouncycastle.openpgp
Class PGPKeyRingGenerator
java.lang.Object
org.bouncycastle.openpgp.PGPKeyRingGenerator
Generator for a PGP master and subkey ring. This class will generate
both the secret and public key rings
-
Constructor Summary
ConstructorDescriptionPGPKeyRingGenerator
(int certificationLevel, PGPKeyPair masterKey, String id, PGPDigestCalculator checksumCalculator, PGPSignatureSubpacketVector hashedPcks, PGPSignatureSubpacketVector unhashedPcks, PGPContentSignerBuilder keySignerBuilder, PBESecretKeyEncryptor keyEncryptor) Create a new key ring generator.PGPKeyRingGenerator
(PGPKeyPair masterKey, PGPDigestCalculator checksumCalculator, PGPSignatureSubpacketVector hashedPcks, PGPSignatureSubpacketVector unhashedPcks, PGPContentSignerBuilder keySignerBuilder, PBESecretKeyEncryptor keyEncryptor) Create a new key ring generator without a user-id, but instead with a primary key carrying a direct-key signature.PGPKeyRingGenerator
(PGPSecretKeyRing originalSecretRing, PBESecretKeyDecryptor secretKeyDecryptor, PGPDigestCalculator checksumCalculator, PGPContentSignerBuilder keySignerBuilder, PBESecretKeyEncryptor keyEncryptor) Create a new key ring generator based on an original secret key ring. -
Method Summary
Modifier and TypeMethodDescriptionvoid
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.void
addSubKey
(PGPKeyPair keyPair, PGPContentSignerBuilder bindingSignerBldr) Add a sub key to the key ring to be generated with default certification and inheriting the hashed/unhashed packets of the master key.void
addSubKey
(PGPKeyPair keyPair, PGPSignatureSubpacketVector hashedPcks, PGPSignatureSubpacketVector unhashedPcks) Add a subkey with specific hashed and unhashed packets associated with it and default certification.void
addSubKey
(PGPKeyPair keyPair, PGPSignatureSubpacketVector hashedPcks, PGPSignatureSubpacketVector unhashedPcks, PGPContentSignerBuilder bindingSignerBldr) Add a subkey with specific hashed and unhashed packets associated with it and default certification.Return the public key ring that corresponds to the secret key ring.Return the secret key ring.
-
Constructor Details
-
PGPKeyRingGenerator
public PGPKeyRingGenerator(int certificationLevel, PGPKeyPair masterKey, String id, PGPDigestCalculator checksumCalculator, PGPSignatureSubpacketVector hashedPcks, PGPSignatureSubpacketVector unhashedPcks, PGPContentSignerBuilder keySignerBuilder, PBESecretKeyEncryptor keyEncryptor) throws PGPException Create a new key ring generator.- Parameters:
certificationLevel
-masterKey
-id
- id to associate with the key.checksumCalculator
- key checksum calculatorhashedPcks
-unhashedPcks
-keySignerBuilder
- builder for key certifications - will be initialised with master secret key.keyEncryptor
- encryptor for secret subkeys.- Throws:
PGPException
-
PGPKeyRingGenerator
public PGPKeyRingGenerator(PGPKeyPair masterKey, PGPDigestCalculator checksumCalculator, PGPSignatureSubpacketVector hashedPcks, PGPSignatureSubpacketVector unhashedPcks, PGPContentSignerBuilder keySignerBuilder, PBESecretKeyEncryptor keyEncryptor) throws PGPException Create a new key ring generator without a user-id, but instead with a primary key carrying a direct-key signature.- Parameters:
masterKey
- primary keychecksumCalculator
- checksum calculatorhashedPcks
- hashed signature subpacketsunhashedPcks
- unhashed signature subpacketskeySignerBuilder
- signer builderkeyEncryptor
- key encryptor- Throws:
PGPException
-
PGPKeyRingGenerator
public PGPKeyRingGenerator(PGPSecretKeyRing originalSecretRing, PBESecretKeyDecryptor secretKeyDecryptor, PGPDigestCalculator checksumCalculator, PGPContentSignerBuilder keySignerBuilder, PBESecretKeyEncryptor keyEncryptor) throws PGPException Create a new key ring generator based on an original secret key ring. The default hashed/unhashed sub-packets for subkey signatures will be inherited from the first signature on the master key (other than CREATION-TIME which will be ignored).- Parameters:
originalSecretRing
- the secret key ring we want to add a subkeyto,secretKeyDecryptor
- a decryptor for the signing master key.checksumCalculator
- key checksum calculatorkeySignerBuilder
- builder for key certifications - will be initialised with master secret key.keyEncryptor
- encryptor for secret subkeys.- Throws:
PGPException
-
-
Method Details
-
addSubKey
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
- the key pair to add.- Throws:
PGPException
-
addSubKey
public void addSubKey(PGPKeyPair keyPair, PGPContentSignerBuilder bindingSignerBldr) throws PGPException Add a sub key to the key ring to be generated with default certification and inheriting the hashed/unhashed packets of the master key. If bindingSignerBldr is not null it will be used to add a Primary Key Binding signature (type 0x19) into the hashedPcks for the key (required for signing subkeys).- Parameters:
keyPair
- the key pair to add.bindingSignerBldr
- provide a signing builder to create the Primary Key signature.- Throws:
PGPException
-
addSubKey
public void addSubKey(PGPKeyPair keyPair, PGPSignatureSubpacketVector hashedPcks, PGPSignatureSubpacketVector unhashedPcks) throws PGPException 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
-
addSubKey
public void addSubKey(PGPKeyPair keyPair, PGPSignatureSubpacketVector hashedPcks, PGPSignatureSubpacketVector unhashedPcks, PGPContentSignerBuilder bindingSignerBldr) throws PGPException Add a subkey with specific hashed and unhashed packets associated with it and default certification. If bindingSignerBldr is not null it will be used to add a Primary Key Binding signature (type 0x19) into the hashedPcks for the key (required for signing subkeys).- Parameters:
keyPair
- public/private key pair.hashedPcks
- hashed packet values to be included in certification.unhashedPcks
- unhashed packets values to be included in certification.bindingSignerBldr
- provide a signing builder to create the Primary Key signature.- Throws:
PGPException
-
generateSecretKeyRing
Return the secret key ring.- Returns:
- a secret key ring.
-
generatePublicKeyRing
Return the public key ring that corresponds to the secret key ring.- Returns:
- a public key ring.
-