📄 compresseddata.java
字号:
package org.bouncycastle.asn1.cms;import org.bouncycastle.asn1.ASN1Encodable;import org.bouncycastle.asn1.ASN1EncodableVector;import org.bouncycastle.asn1.ASN1Sequence;import org.bouncycastle.asn1.ASN1TaggedObject;import org.bouncycastle.asn1.BERSequence;import org.bouncycastle.asn1.DERInteger;import org.bouncycastle.asn1.DERObject;import org.bouncycastle.asn1.x509.AlgorithmIdentifier;/** * RFC 3274 - CMS Compressed Data. * <pre> * CompressedData ::= SEQUENCE { * version CMSVersion, * compressionAlgorithm CompressionAlgorithmIdentifier, * encapContentInfo EncapsulatedContentInfo * } * </pre> */public class CompressedData extends ASN1Encodable{ 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 toASN1Object() { ASN1EncodableVector v = new ASN1EncodableVector(); v.add(version); v.add(compressionAlgorithm); v.add(encapContentInfo); return new BERSequence(v); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -