Bouncy Castle Cryptography Library 1.79

org.bouncycastle.openpgp
Class PGPObjectFactory

java.lang.Object
  |
  +--org.bouncycastle.openpgp.PGPObjectFactory
All Implemented Interfaces:
org.bouncycastle.util.Iterable
Direct Known Subclasses:
BcPGPObjectFactory, JcaPGPObjectFactory

public class PGPObjectFactory
extends java.lang.Object
implements org.bouncycastle.util.Iterable

General class for reading a PGP object stream.

Note: if this class finds a PGPPublicKey or a PGPSecretKey it will create a PGPPublicKeyRing, or a PGPSecretKeyRing for each key found. If all you are trying to do is read a key ring file use either PGPPublicKeyRingCollection or PGPSecretKeyRingCollection.

This factory supports reading the following types of objects:

PacketTags.SIGNATURE - produces a PGPSignatureList PacketTags.SECRET_KEY - produces a PGPSecretKeyRing PacketTags.PUBLIC_KEY - produces a PGPPublicKeyRing PacketTags.PUBLIC_SUBKEY - produces a PGPPublicKey PacketTags.COMPRESSED_DATA - produces a PGPCompressedData PacketTags.LITERAL_DATA - produces a PGPLiteralData PacketTags.PUBLIC_KEY_ENC_SESSION - produces a PGPEncryptedDataList PacketTags.SYMMETRIC_KEY_ENC_SESSION - produces a PGPEncryptedDataList PacketTags.ONE_PASS_SIGNATURE - produces a PGPOnePassSignatureList PacketTags.MARKER - produces a PGPMarker


Constructor Summary
PGPObjectFactory(byte[] bytes, KeyFingerPrintCalculator fingerPrintCalculator)
          Create an object factory suitable for reading PGP objects such as keys, key rings and key ring collections, or PGP encrypted data.
PGPObjectFactory(java.io.InputStream in, KeyFingerPrintCalculator fingerPrintCalculator)
          Create an object factory suitable for reading PGP objects such as keys, key rings and key ring collections, or PGP encrypted data.
 
Method Summary
 java.util.Iterator iterator()
          Support method for Iterable where available.
 java.lang.Object nextObject()
          Return the next object in the stream, or null if the end of stream is reached.
 PGPObjectFactory setThrowForUnknownCriticalPackets(boolean throwException)
          If set to true, the object factory will throw an IOException if it encounters an unknown packet with a packet tag within the critical range (0 - 39).
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PGPObjectFactory

public PGPObjectFactory(java.io.InputStream in,
                        KeyFingerPrintCalculator fingerPrintCalculator)
Create an object factory suitable for reading PGP objects such as keys, key rings and key ring collections, or PGP encrypted data.
Parameters:
in - stream to read PGP data from.
fingerPrintCalculator - calculator to use in key finger print calculations.

PGPObjectFactory

public PGPObjectFactory(byte[] bytes,
                        KeyFingerPrintCalculator fingerPrintCalculator)
Create an object factory suitable for reading PGP objects such as keys, key rings and key ring collections, or PGP encrypted data.
Parameters:
bytes - PGP encoded data.
fingerPrintCalculator - calculator to use in key finger print calculations.
Method Detail

nextObject

public java.lang.Object nextObject()
                            throws java.io.IOException
Return the next object in the stream, or null if the end of stream is reached.
Returns:
one of the supported objects - see class docs for details.
Throws:
java.io.IOException - if an error occurs reading from the wrapped stream or parsing data.

iterator

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

setThrowForUnknownCriticalPackets

public PGPObjectFactory setThrowForUnknownCriticalPackets(boolean throwException)
If set to true, the object factory will throw an IOException if it encounters an unknown packet with a packet tag within the critical range (0 - 39).
Parameters:
throwException - whether to throw
Returns:
object factory

Bouncy Castle Cryptography Library 1.79