PGPKeyRingGenerator
Date: 2016-06-23

org.bouncycastle.openpgp

## Class PGPKeyRingGenerator

- java.lang.Object
- - org.bouncycastle.openpgp.PGPKeyRingGenerator

-     public class PGPKeyRingGenerator
      extends java.lang.Object

  Generator for a PGP master and subkey ring. This class will generate both the secret and public key rings

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `PGPKeyRingGenerator(int certificationLevel, PGPKeyPair masterKey, java.lang.String id, PGPDigestCalculator checksumCalculator, PGPSignatureSubpacketVector hashedPcks, PGPSignatureSubpacketVector unhashedPcks, PGPContentSignerBuilder keySignerBuilder, PBESecretKeyEncryptor keyEncryptor)` Create a new key ring generator.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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.
    `void` | `addSubKey(PGPKeyPair keyPair, PGPSignatureSubpacketVector hashedPcks, PGPSignatureSubpacketVector unhashedPcks)` Add a subkey with specific hashed and unhashed packets associated with it and default certification.
    `PGPPublicKeyRing` | `generatePublicKeyRing()` Return the public key ring that corresponds to the secret key ring.
    `PGPSecretKeyRing` | `generateSecretKeyRing()` Return the secret key ring.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### PGPKeyRingGenerator

          public PGPKeyRingGenerator(int certificationLevel,
                             PGPKeyPair masterKey,
                             java.lang.String id,
                             PGPDigestCalculator checksumCalculator,
                             PGPSignatureSubpacketVector hashedPcks,
                             PGPSignatureSubpacketVector unhashedPcks,
                             PGPContentSignerBuilder keySignerBuilder,
                             PBESecretKeyEncryptor keyEncryptor)
                              throws PGPException

      Create a new key ring generator.
      Parameters:
        `certificationLevel` -
        `masterKey` -
        `id` -
        `checksumCalculator` -
        `hashedPcks` -
        `unhashedPcks` -
        `keySignerBuilder` -
        `keyEncryptor` -
      Throws:
        `PGPException`

  - ### Method Detail

    - #### addSubKey

          public void addSubKey(PGPKeyPair keyPair)
                         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.
      Parameters:
        `keyPair` -
      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`

    - #### generateSecretKeyRing

          public PGPSecretKeyRing generateSecretKeyRing()

      Return the secret key ring.
      Returns:
        a secret key ring.

    - #### generatePublicKeyRing

          public PGPPublicKeyRing generatePublicKeyRing()

      Return the public key ring that corresponds to the secret key ring.
      Returns:
        a public key ring.