encrypteddata.java

来自「《移动Agent技术》一书的所有章节源代码。」· Java 代码 · 共 90 行

JAVA
90
字号
package org.bouncycastle.asn1.pkcs;import org.bouncycastle.asn1.*;import org.bouncycastle.asn1.x509.*;/** * <pre> *      EncryptedData ::= SEQUENCE { *           version Version, *           encryptedContentInfo EncryptedContentInfo *      } * * *      EncryptedContentInfo ::= SEQUENCE { *          contentType ContentType, *          contentEncryptionAlgorithm  ContentEncryptionAlgorithmIdentifier, *          encryptedContent [0] IMPLICIT EncryptedContent OPTIONAL *    } * *    EncryptedContent ::= OCTET STRING * </pre> */public class EncryptedData    implements DEREncodable{	DERConstructedSequence		seq;	DERConstructedSequence		data;    DERObjectIdentifier         bagId;    DERObject                   bagValue;	public EncryptedData(		DERConstructedSequence	seq)	{		this.seq = seq;		int version = ((DERInteger)seq.getObjectAt(0)).getValue().intValue();        if (version != 0)        {            throw new IllegalArgumentException("sequence not version 0");        }		this.data = (DERConstructedSequence)seq.getObjectAt(1);	}	public EncryptedData(		DERObjectIdentifier     contentType,        AlgorithmIdentifier     encryptionAlgorithm,        DERObject               content)    {        data = new BERConstructedSequence();        data.addObject(contentType);        data.addObject(encryptionAlgorithm.getDERObject());        data.addObject(new BERTaggedObject(false, 0, content));    }        	public DERObjectIdentifier getContentType()	{		return (DERObjectIdentifier)data.getObjectAt(0);	}    public AlgorithmIdentifier getEncryptionAlgorithm()    {		return new AlgorithmIdentifier((DERConstructedSequence)data.getObjectAt(1));    }    public DERObject getContent()    {        if (data.getSize() == 3)        {            DERTaggedObject o = (DERTaggedObject)data.getObjectAt(2);            return o.getObject();        }        return null;    }    public DERObject getDERObject()    {        DERConstructedSequence  seq = new BERConstructedSequence();        seq.addObject(new DERInteger(0));        seq.addObject(data);        return seq;    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?