CompressedData.java
资源名称:security.rar [点击查看]
上传用户:lior1029
上传日期:2013-05-07
资源大小:209k
文件大小:3k
源码类别:
CA认证
开发平台:
Java
- package org.bouncycastle.asn1.cms;
- import org.bouncycastle.asn1.ASN1Sequence;
- import org.bouncycastle.asn1.ASN1Set;
- import org.bouncycastle.asn1.ASN1TaggedObject;
- import org.bouncycastle.asn1.BERConstructedSequence;
- import org.bouncycastle.asn1.BERTaggedObject;
- import org.bouncycastle.asn1.DERInteger;
- import org.bouncycastle.asn1.DERObject;
- import org.bouncycastle.asn1.DERObjectIdentifier;
- import org.bouncycastle.asn1.DEREncodable;
- import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
- /**
- * <br>
- * RFC 3274
- * <pre>
- * CompressedData ::= SEQUENCE {
- * version CMSVersion,
- * compressionAlgorithm CompressionAlgorithmIdentifier,
- * encapContentInfo EncapsulatedContentInfo
- * }
- * </pre>
- */
- public class CompressedData
- implements DEREncodable
- {
- private DERInteger version;
- private AlgorithmIdentifier compressionAlgorithm;
- private ContentInfo encapContentInfo;
- public CompressedData(
- AlgorithmIdentifier compressionAlgorithm,
- ContentInfo encapContentInfo)
- {
- this.version = new DERInteger(0);
- this.compressionAlgorithm = compressionAlgorithm;
- this.encapContentInfo = encapContentInfo;
- }
- public CompressedData(
- ASN1Sequence seq)
- {
- this.version = (DERInteger)seq.getObjectAt(0);
- this.compressionAlgorithm = AlgorithmIdentifier.getInstance(seq.getObjectAt(1));
- this.encapContentInfo = ContentInfo.getInstance(seq.getObjectAt(2));
- }
- /**
- * return a CompressedData object from a tagged object.
- *
- * @param _ato the tagged object holding the object we want.
- * @param _explicit true if the object is meant to be explicitly
- * tagged false otherwise.
- * @exception IllegalArgumentException if the object held by the
- * tagged object cannot be converted.
- */
- public static CompressedData getInstance(
- ASN1TaggedObject _ato,
- boolean _explicit)
- {
- return getInstance(ASN1Sequence.getInstance(_ato, _explicit));
- }
- /**
- * return a CompressedData object from the given object.
- *
- * @param _obj the object we want converted.
- * @exception IllegalArgumentException if the object cannot be converted.
- */
- public static CompressedData getInstance(
- Object _obj)
- {
- if (_obj == null || _obj instanceof CompressedData)
- {
- return (CompressedData)_obj;
- }
- if (_obj instanceof ASN1Sequence)
- {
- return new CompressedData((ASN1Sequence)_obj);
- }
- throw new IllegalArgumentException("Invalid CompressedData: " + _obj.getClass().getName());
- }
- public DERInteger getVersion()
- {
- return version;
- }
- public AlgorithmIdentifier getCompressionAlgorithmIdentifier()
- {
- return compressionAlgorithm;
- }
- public ContentInfo getEncapContentInfo()
- {
- return encapContentInfo;
- }
- public DERObject getDERObject()
- {
- BERConstructedSequence _seq = new BERConstructedSequence();
- _seq.addObject(version);
- _seq.addObject(compressionAlgorithm);
- _seq.addObject(encapContentInfo);
- return _seq;
- }
- }