package org.bouncycastle.asn1.cms;
import java.io.IOException;
import org.bouncycastle.asn1.ASN1Encodable;
import org.bouncycastle.asn1.ASN1ObjectIdentifier;
import org.bouncycastle.asn1.ASN1SequenceParser;
import org.bouncycastle.asn1.ASN1TaggedObjectParser;
RFC 5652 ContentInfo
object parser. ContentInfo ::= SEQUENCE {
contentType ContentType,
content [0] EXPLICIT ANY DEFINED BY contentType OPTIONAL }
/**
* <a href="http://tools.ietf.org/html/rfc5652#section-3">RFC 5652</a> {@link ContentInfo} object parser.
*
* <pre>
* ContentInfo ::= SEQUENCE {
* contentType ContentType,
* content [0] EXPLICIT ANY DEFINED BY contentType OPTIONAL }
* </pre>
*/
public class ContentInfoParser
{
private ASN1ObjectIdentifier contentType;
private ASN1TaggedObjectParser content;
public ContentInfoParser(
ASN1SequenceParser seq)
throws IOException
{
contentType = (ASN1ObjectIdentifier)seq.readObject();
content = (ASN1TaggedObjectParser)seq.readObject();
}
public ASN1ObjectIdentifier getContentType()
{
return contentType;
}
public ASN1Encodable getContent(
int tag)
throws IOException
{
if (content != null)
{
return content.getObjectParser(tag, true);
}
return null;
}
}