org.bouncycastle.asn1.cms.EncryptedContentInfoParser Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of bcutil-lts8on Show documentation
Show all versions of bcutil-lts8on Show documentation
The Bouncy Castle Java APIs for ASN.1 extension and utility APIs used to support bcpkix and bctls. This jar contains APIs for Java 8 and later.
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;
import org.bouncycastle.asn1.ASN1Util;
import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
/**
* Parser for RFC 5652 EncryptedContentInfo object.
*
*
* EncryptedContentInfo ::= SEQUENCE {
* contentType ContentType,
* contentEncryptionAlgorithm ContentEncryptionAlgorithmIdentifier,
* encryptedContent [0] IMPLICIT EncryptedContent OPTIONAL
* }
*
*/
public class EncryptedContentInfoParser
{
private ASN1ObjectIdentifier _contentType;
private AlgorithmIdentifier _contentEncryptionAlgorithm;
private ASN1TaggedObjectParser _encryptedContent;
public EncryptedContentInfoParser(
ASN1SequenceParser seq)
throws IOException
{
_contentType = (ASN1ObjectIdentifier)seq.readObject();
_contentEncryptionAlgorithm = AlgorithmIdentifier.getInstance(seq.readObject().toASN1Primitive());
_encryptedContent = (ASN1TaggedObjectParser)seq.readObject();
}
public ASN1ObjectIdentifier getContentType()
{
return _contentType;
}
public AlgorithmIdentifier getContentEncryptionAlgorithm()
{
return _contentEncryptionAlgorithm;
}
public ASN1Encodable getEncryptedContent(
int tag)
throws IOException
{
return ASN1Util.parseContextBaseUniversal(_encryptedContent, 0, false, tag);
}
}