org.bouncycastle.openpgp

Class 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(Collection collection)
PGPPublicKeyRingCollection(InputStream in)
Build a PGPPublicKeyRingCollection from the passed in input stream.
PGPPublicKeyRingCollection(byte[] encoding)

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.
void
encode(OutputStream outStream)
byte[]
getEncoded()
Iterator
getKeyRings()
return the public key rings making up this collection.
Iterator
getKeyRings(String userID)
Return an iterator of the key rings associated with the passed in userID.
Iterator
getKeyRings(String userID, boolean matchPartial)
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.

Constructor Details

PGPPublicKeyRingCollection

public PGPPublicKeyRingCollection(Collection collection)
            throws IOException,
                   PGPException

PGPPublicKeyRingCollection

public PGPPublicKeyRingCollection(InputStream in)
            throws IOException,
                   PGPException
Build a PGPPublicKeyRingCollection from the passed in input stream.
Parameters:
in - input stream containing data
Throws:
PGPException - if an object is encountered which isn't a PGPPublicKeyRing

PGPPublicKeyRingCollection

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

Method Details

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.

encode

public void encode(OutputStream outStream)
            throws IOException

getEncoded

public byte[] getEncoded()
            throws IOException

getKeyRings

public Iterator getKeyRings()
return the public key rings making up this collection.

getKeyRings

public Iterator getKeyRings(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 Iterator getKeyRings(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 -

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 -
Returns:
the public key ring
Throws:
PGPException -

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.

size

public int size()
Return the number of rings in this collection.
Returns:
size of the collection