summaryrefslogtreecommitdiffstats
path: root/bcpkix/src/main/java/org/bouncycastle/cms/CMSContentInfoParser.java
diff options
context:
space:
mode:
Diffstat (limited to 'bcpkix/src/main/java/org/bouncycastle/cms/CMSContentInfoParser.java')
-rw-r--r--bcpkix/src/main/java/org/bouncycastle/cms/CMSContentInfoParser.java45
1 files changed, 45 insertions, 0 deletions
diff --git a/bcpkix/src/main/java/org/bouncycastle/cms/CMSContentInfoParser.java b/bcpkix/src/main/java/org/bouncycastle/cms/CMSContentInfoParser.java
new file mode 100644
index 0000000..a8e5a8d
--- /dev/null
+++ b/bcpkix/src/main/java/org/bouncycastle/cms/CMSContentInfoParser.java
@@ -0,0 +1,45 @@
+package org.bouncycastle.cms;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.bouncycastle.asn1.ASN1SequenceParser;
+import org.bouncycastle.asn1.ASN1StreamParser;
+import org.bouncycastle.asn1.cms.ContentInfoParser;
+
+public class CMSContentInfoParser
+{
+ protected ContentInfoParser _contentInfo;
+ protected InputStream _data;
+
+ protected CMSContentInfoParser(
+ InputStream data)
+ throws CMSException
+ {
+ _data = data;
+
+ try
+ {
+ ASN1StreamParser in = new ASN1StreamParser(data);
+
+ _contentInfo = new ContentInfoParser((ASN1SequenceParser)in.readObject());
+ }
+ catch (IOException e)
+ {
+ throw new CMSException("IOException reading content.", e);
+ }
+ catch (ClassCastException e)
+ {
+ throw new CMSException("Unexpected object reading content.", e);
+ }
+ }
+
+ /**
+ * Close the underlying data stream.
+ * @throws IOException if the close fails.
+ */
+ public void close() throws IOException
+ {
+ _data.close();
+ }
+}