diff options
Diffstat (limited to 'bcpkix/src/main/java/org/bouncycastle/cms/CMSContentInfoParser.java')
-rw-r--r-- | bcpkix/src/main/java/org/bouncycastle/cms/CMSContentInfoParser.java | 45 |
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(); + } +} |