aboutsummaryrefslogtreecommitdiffstats
path: root/libraries/spongycastle/pg/src/main/java/org/spongycastle/openpgp/PGPObjectFactory.java
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/spongycastle/pg/src/main/java/org/spongycastle/openpgp/PGPObjectFactory.java')
-rw-r--r--libraries/spongycastle/pg/src/main/java/org/spongycastle/openpgp/PGPObjectFactory.java160
1 files changed, 0 insertions, 160 deletions
diff --git a/libraries/spongycastle/pg/src/main/java/org/spongycastle/openpgp/PGPObjectFactory.java b/libraries/spongycastle/pg/src/main/java/org/spongycastle/openpgp/PGPObjectFactory.java
deleted file mode 100644
index 73b11b9a1..000000000
--- a/libraries/spongycastle/pg/src/main/java/org/spongycastle/openpgp/PGPObjectFactory.java
+++ /dev/null
@@ -1,160 +0,0 @@
-package org.spongycastle.openpgp;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.spongycastle.bcpg.BCPGInputStream;
-import org.spongycastle.bcpg.PacketTags;
-import org.spongycastle.openpgp.operator.KeyFingerPrintCalculator;
-import org.spongycastle.openpgp.operator.jcajce.JcaKeyFingerprintCalculator;
-
-/**
- * General class for reading a PGP object stream.
- * <p>
- * 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.
- */
-public class PGPObjectFactory
-{
- private BCPGInputStream in;
- private KeyFingerPrintCalculator fingerPrintCalculator;
-
- public PGPObjectFactory(
- InputStream in)
- {
- this(in, new JcaKeyFingerprintCalculator());
- }
-
- /**
- * Create an object factor suitable for reading keys, key rings and key ring collections.
- *
- * @param in stream to read from
- * @param fingerPrintCalculator calculator to use in key finger print calculations.
- */
- public PGPObjectFactory(
- InputStream in,
- KeyFingerPrintCalculator fingerPrintCalculator)
- {
- this.in = new BCPGInputStream(in);
- this.fingerPrintCalculator = fingerPrintCalculator;
- }
-
- public PGPObjectFactory(
- byte[] bytes)
- {
- this(new ByteArrayInputStream(bytes));
- }
-
- /**
- * Create an object factor suitable for reading keys, key rings and key ring collections.
- *
- * @param bytes stream to read from
- * @param fingerPrintCalculator calculator to use in key finger print calculations.
- */
- public PGPObjectFactory(
- byte[] bytes,
- KeyFingerPrintCalculator fingerPrintCalculator)
- {
- this(new ByteArrayInputStream(bytes), fingerPrintCalculator);
- }
-
- /**
- * Return the next object in the stream, or null if the end is reached.
- *
- * @return Object
- * @throws IOException on a parse error
- */
- public Object nextObject()
- throws IOException
- {
- List l;
-
- switch (in.nextPacketTag())
- {
- case -1:
- return null;
- case PacketTags.SIGNATURE:
- l = new ArrayList();
-
- while (in.nextPacketTag() == PacketTags.SIGNATURE)
- {
- try
- {
- l.add(new PGPSignature(in));
- }
- catch (PGPException e)
- {
- throw new IOException("can't create signature object: " + e);
- }
- }
-
- return new PGPSignatureList((PGPSignature[])l.toArray(new PGPSignature[l.size()]));
- case PacketTags.SECRET_KEY:
- try
- {
- return new PGPSecretKeyRing(in, fingerPrintCalculator);
- }
- catch (PGPException e)
- {
- throw new IOException("can't create secret key object: " + e);
- }
- case PacketTags.SECRET_SUBKEY:
- try
- {
- return PGPSecretKeyRing.readSubkey(in, fingerPrintCalculator);
- }
- catch (PGPException e)
- {
- throw new IOException("processing error: " + e.getMessage());
- }
- case PacketTags.PUBLIC_KEY:
- return new PGPPublicKeyRing(in, fingerPrintCalculator);
- case PacketTags.PUBLIC_SUBKEY:
- try
- {
- return PGPPublicKeyRing.readSubkey(in, fingerPrintCalculator);
- }
- catch (PGPException e)
- {
- throw new IOException("processing error: " + e.getMessage());
- }
- case PacketTags.COMPRESSED_DATA:
- return new PGPCompressedData(in);
- case PacketTags.LITERAL_DATA:
- return new PGPLiteralData(in);
- case PacketTags.PUBLIC_KEY_ENC_SESSION:
- case PacketTags.SYMMETRIC_KEY_ENC_SESSION:
- return new PGPEncryptedDataList(in);
- case PacketTags.ONE_PASS_SIGNATURE:
- l = new ArrayList();
-
- while (in.nextPacketTag() == PacketTags.ONE_PASS_SIGNATURE)
- {
- try
- {
- l.add(new PGPOnePassSignature(in));
- }
- catch (PGPException e)
- {
- throw new IOException("can't create one pass signature object: " + e);
- }
- }
-
- return new PGPOnePassSignatureList((PGPOnePassSignature[])l.toArray(new PGPOnePassSignature[l.size()]));
- case PacketTags.MARKER:
- return new PGPMarker(in);
- case PacketTags.EXPERIMENTAL_1:
- case PacketTags.EXPERIMENTAL_2:
- case PacketTags.EXPERIMENTAL_3:
- case PacketTags.EXPERIMENTAL_4:
- return in.readPacket();
- }
-
- throw new IOException("unknown object in stream: " + in.nextPacketTag());
- }
-}