Bouncy Castle Cryptography Library 1.45

## org.bouncycastle.openpgp
Class PGPPublicKeyRingCollection

    java.lang.Object
      org.bouncycastle.openpgp.PGPPublicKeyRingCollection

    public class PGPPublicKeyRingCollection

extends java.lang.Object

Often a PGP key ring file is made up of a succession of master/sub-key key rings. If you want to read an entire public key file in one hit this is the class for you.

Constructor Summary
`PGPPublicKeyRingCollection(byte[] encoding)`
`PGPPublicKeyRingCollection(java.util.Collection collection)`
`PGPPublicKeyRingCollection(java.io.InputStream in)` Build a PGPPublicKeyRingCollection from the passed in input stream.

Method Summary
`static PGPPublicKeyRingCollection` `addPublicKeyRing(PGPPublicKeyRingCollection ringCollection, PGPPublicKeyRing publicKeyRing)` Return a new collection object containing the contents of the passed in collection and the passed in public key ring.
`boolean` `contains(long keyID)` Return true if a key matching the passed in key ID is present, false otherwise.
`void` `encode(java.io.OutputStream outStream)`
`byte[]` `getEncoded()`
`java.util.Iterator` `getKeyRings()` return the public key rings making up this collection.
`java.util.Iterator` `getKeyRings(java.lang.String userID)` Return an iterator of the key rings associated with the passed in userID.
`java.util.Iterator` `getKeyRings(java.lang.String userID, boolean matchPartial)` Return an iterator of the key rings associated with the passed in userID.
`java.util.Iterator` `getKeyRings(java.lang.String userID, boolean matchPartial, boolean ignoreCase)` Return an iterator of the key rings associated with the passed in userID.
`PGPPublicKey` `getPublicKey(long keyID)` Return the PGP public key associated with the given key id.
`PGPPublicKeyRing` `getPublicKeyRing(long keyID)` Return the public key ring which contains the key referred to by keyID.
`static PGPPublicKeyRingCollection` `removePublicKeyRing(PGPPublicKeyRingCollection ringCollection, PGPPublicKeyRing publicKeyRing)` Return a new collection object containing the contents of this collection with the passed in public key ring removed.
`int` `size()` Return the number of rings in this collection.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### PGPPublicKeyRingCollection

    public PGPPublicKeyRingCollection(byte[] encoding)
                               throws java.io.IOException,
                                      PGPException

Throws:
  `java.io.IOException`
  `PGPException`

### PGPPublicKeyRingCollection

    public PGPPublicKeyRingCollection(java.io.InputStream in)
                               throws java.io.IOException,
                                      PGPException

  Build a PGPPublicKeyRingCollection from the passed in input stream.

  Parameters:
    `in` - input stream containing data
  Throws:
    `java.io.IOException` - if a problem parsing the base stream occurs
    `PGPException` - if an object is encountered which isn't a PGPPublicKeyRing

### PGPPublicKeyRingCollection

    public PGPPublicKeyRingCollection(java.util.Collection collection)
                               throws java.io.IOException,
                                      PGPException

Throws:
  `java.io.IOException`
  `PGPException`

Method Detail

### size

    public int size()

  Return the number of rings in this collection.

  Returns:
    size of the collection

### getKeyRings

    public java.util.Iterator getKeyRings()

  return the public key rings making up this collection.

### getKeyRings

    public java.util.Iterator getKeyRings(java.lang.String userID)
                                   throws PGPException

  Return an iterator of the key rings associated with the passed in userID.

  Parameters:
    `userID` - the user ID to be matched.
  Returns:
    an iterator (possibly empty) of key rings which matched.
  Throws:
    `PGPException`

### getKeyRings

    public java.util.Iterator getKeyRings(java.lang.String userID,
                                          boolean matchPartial)
                                   throws PGPException

  Return an iterator of the key rings associated with the passed in userID.

  Parameters:
    `userID` - the user ID to be matched.
    `matchPartial` - if true userID need only be a substring of an actual ID string to match.
  Returns:
    an iterator (possibly empty) of key rings which matched.
  Throws:
    `PGPException`

### getKeyRings

    public java.util.Iterator getKeyRings(java.lang.String userID,
                                          boolean matchPartial,
                                          boolean ignoreCase)
                                   throws PGPException

  Return an iterator of the key rings associated with the passed in userID.

  Parameters:
    `userID` - the user ID to be matched.
    `matchPartial` - if true userID need only be a substring of an actual ID string to match.
    `ignoreCase` - if true case is ignored in user ID comparisons.
  Returns:
    an iterator (possibly empty) of key rings which matched.
  Throws:
    `PGPException`

### getPublicKey

    public PGPPublicKey getPublicKey(long keyID)
                              throws PGPException

  Return the PGP public key associated with the given key id.

  Parameters:
    `keyID` -
  Returns:
    the PGP public key
  Throws:
    `PGPException`

### getPublicKeyRing

    public PGPPublicKeyRing getPublicKeyRing(long keyID)
                                      throws PGPException

  Return the public key ring which contains the key referred to by keyID.

  Parameters:
    `keyID` - key ID to match against
  Returns:
    the public key ring
  Throws:
    `PGPException`

### contains

    public boolean contains(long keyID)
                     throws PGPException

  Return true if a key matching the passed in key ID is present, false otherwise.

  Parameters:
    `keyID` - key ID to look for.
  Returns:
    true if keyID present, false otherwise.
  Throws:
    `PGPException`

### getEncoded

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

  Throws:
    `java.io.IOException`

### encode

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

  Throws:
    `java.io.IOException`

### addPublicKeyRing

    public static PGPPublicKeyRingCollection addPublicKeyRing(PGPPublicKeyRingCollection ringCollection,
                                                              PGPPublicKeyRing publicKeyRing)

  Return a new collection object containing the contents of the passed in collection and the passed in public key ring.

  Parameters:
    `ringCollection` - the collection the ring to be added to.
    `publicKeyRing` - the key ring to be added.
  Returns:
    a new collection merging the current one with the passed in ring.
  Throws:
    `java.lang.IllegalArgumentException` - if the keyID for the passed in ring is already present.

### removePublicKeyRing

    public static PGPPublicKeyRingCollection removePublicKeyRing(PGPPublicKeyRingCollection ringCollection,
                                                                 PGPPublicKeyRing publicKeyRing)

  Return a new collection object containing the contents of this collection with the passed in public key ring removed.

  Parameters:
    `ringCollection` - the collection the ring to be removed from.
    `publicKeyRing` - the key ring to be removed.
  Returns:
    a new collection not containing the passed in ring.
  Throws:
    `java.lang.IllegalArgumentException` - if the keyID for the passed in ring not present.

Bouncy Castle Cryptography Library 1.45