org.testifyproject.bouncycastle.asn1.cms.ContentInfoParser Maven / Gradle / Ivy
package org.testifyproject.bouncycastle.asn1.cms;
import java.org.testifyproject.testifyproject.IOException;
import org.testifyproject.bouncycastle.asn1.ASN1Encodable;
import org.testifyproject.bouncycastle.asn1.ASN1ObjectIdentifier;
import org.testifyproject.bouncycastle.asn1.ASN1SequenceParser;
import org.testifyproject.bouncycastle.asn1.ASN1TaggedObjectParser;
/**
* RFC 5652 {@link ContentInfo} object parser.
*
*
* ContentInfo ::= SEQUENCE {
* contentType ContentType,
* content [0] EXPLICIT ANY DEFINED BY contentType OPTIONAL }
*
*/
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;
}
}