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 bcprov-jdk15to18 Show documentation
Show all versions of bcprov-jdk15to18 Show documentation
The Bouncy Castle Crypto package is a Java implementation of cryptographic algorithms. This jar contains JCE provider and lightweight API for the Bouncy Castle Cryptography APIs for JDK 1.5 to JDK 1.8.
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.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 _encryptedContent.getObjectParser(tag, false);
}
}