Class PGPSecretKeyRingCollection

  • All Implemented Interfaces:
    org.bouncycastle.util.Iterable
    Direct Known Subclasses:
    BcPGPSecretKeyRingCollection, JcaPGPSecretKeyRingCollection

    public class PGPSecretKeyRingCollection
    extends java.lang.Object
    implements org.bouncycastle.util.Iterable
    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 secret key file in one hit this is the class for you.
    • Constructor Detail

      • PGPSecretKeyRingCollection

        public PGPSecretKeyRingCollection​(java.io.InputStream in,
                                          KeyFingerPrintCalculator fingerPrintCalculator)
                                   throws java.io.IOException,
                                          PGPException
        Build a PGPSecretKeyRingCollection 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 PGPSecretKeyRing
      • PGPSecretKeyRingCollection

        public PGPSecretKeyRingCollection​(java.util.Collection collection)
    • 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 secret key rings making up this collection.
      • getKeyRings

        public java.util.Iterator getKeyRings​(java.lang.String userID)
        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.
      • getKeyRings

        public java.util.Iterator getKeyRings​(java.lang.String userID,
                                              boolean matchPartial)
        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.
      • getKeyRings

        public 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.

        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.
      • getSecretKey

        public PGPSecretKey getSecretKey​(long keyID)
        Return the PGP secret key associated with the given key id.
        Parameters:
        keyID - id of the secret key
        Returns:
        the secret key
      • getSecretKeyRing

        public PGPSecretKeyRing getSecretKeyRing​(long keyID)
        Return the secret key ring which contains the key referred to by keyID.
        Parameters:
        keyID - id of a secret key
        Returns:
        the secret key ring
      • contains

        public boolean contains​(long keyID)
        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.
      • 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
      • addSecretKeyRing

        public static PGPSecretKeyRingCollection addSecretKeyRing​(PGPSecretKeyRingCollection ringCollection,
                                                                  PGPSecretKeyRing secretKeyRing)
        Return a new collection object containing the contents of the passed in collection and the passed in secret key ring.
        Parameters:
        ringCollection - the collection the ring to be added to.
        secretKeyRing - 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.
      • removeSecretKeyRing

        public static PGPSecretKeyRingCollection removeSecretKeyRing​(PGPSecretKeyRingCollection ringCollection,
                                                                     PGPSecretKeyRing secretKeyRing)
        Return a new collection object containing the contents of this collection with the passed in secret key ring removed.
        Parameters:
        ringCollection - the collection the ring to be removed from.
        secretKeyRing - the key ring to be removed.
        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 not present.
      • iterator

        public java.util.Iterator iterator()
        Support method for Iterable where available.
        Specified by:
        iterator in interface org.bouncycastle.util.Iterable