Package org.bouncycastle.openpgp

## Class PGPKeyRing

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

- Direct Known Subclasses:
    `PGPPublicKeyRing`, `PGPSecretKeyRing`

      public abstract class PGPKeyRing
      extends java.lang.Object

  Parent class for PGP public and secret key rings.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `abstract void` | `encode​(java.io.OutputStream outStream)` |
    `abstract byte[]` | `getEncoded()` |
    `abstract java.util.Iterator<PGPPublicKey>` | `getKeysWithSignaturesBy​(long keyID)` | Return an iterator containing all the public keys carrying signatures issued from key keyID.
    `abstract PGPPublicKey` | `getPublicKey()` | Return the first public key in the ring.
    `abstract PGPPublicKey` | `getPublicKey​(byte[] fingerprint)` | Return the public key with the passed in fingerprint if it is present.
    `abstract PGPPublicKey` | `getPublicKey​(long keyID)` | Return the public key referred to by the passed in keyID if it is present.
    `abstract java.util.Iterator<PGPPublicKey>` | `getPublicKeys()` | Return an iterator containing all the public keys.

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

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

- - ### Method Detail

    - #### getPublicKey

          public abstract PGPPublicKey getPublicKey()

      Return the first public key in the ring. In the case of a `PGPSecretKeyRing` this is also the public key of the master key pair.
      Returns:
        PGPPublicKey

    - #### getPublicKeys

          public abstract java.util.Iterator<PGPPublicKey> getPublicKeys()

      Return an iterator containing all the public keys.
      Returns:
        Iterator

    - #### getPublicKey

          public abstract PGPPublicKey getPublicKey​(long keyID)

      Return the public key referred to by the passed in keyID if it is present.
      Parameters:
        `keyID` - the full keyID of the key of interest.
      Returns:
        PGPPublicKey with matching keyID.

    - #### getPublicKey

          public abstract PGPPublicKey getPublicKey​(byte[] fingerprint)

      Return the public key with the passed in fingerprint if it is present.
      Parameters:
        `fingerprint` - the full fingerprint of the key of interest.
      Returns:
        PGPPublicKey with the matching fingerprint.

    - #### getKeysWithSignaturesBy

          public abstract java.util.Iterator<PGPPublicKey> getKeysWithSignaturesBy​(long keyID)

      Return an iterator containing all the public keys carrying signatures issued from key keyID.
      Returns:
        a an iterator (possibly empty) of the public keys associated with keyID.

    - #### encode

          public abstract void encode​(java.io.OutputStream outStream)
                               throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### getEncoded

          public abstract byte[] getEncoded()
                                     throws java.io.IOException

      Throws:
        `java.io.IOException`