org.bouncycastle.cms.CMSContentInfoParser Maven / Gradle / Ivy
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);
ASN1SequenceParser seqParser = (ASN1SequenceParser)in.readObject();
if (seqParser == null)
{
throw new CMSException("No content found.");
}
_contentInfo = new ContentInfoParser(seqParser);
}
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();
}
}