⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 recipientkeyidentifier.java

📁 说明: 1、里面有什么: 1.1、org.bouncycastle.*下的所有软件是bouncycastle组织开发的软件包 1.2、org.infosecurity.*下的软件包括
💻 JAVA
字号:
package org.bouncycastle.asn1.cms;import org.bouncycastle.asn1.ASN1Sequence;import org.bouncycastle.asn1.ASN1OctetString;import org.bouncycastle.asn1.ASN1TaggedObject;import org.bouncycastle.asn1.DERSequence;import org.bouncycastle.asn1.DERGeneralizedTime;import org.bouncycastle.asn1.DERObject;import org.bouncycastle.asn1.DEREncodable;import org.bouncycastle.asn1.ASN1EncodableVector;public class RecipientKeyIdentifier    implements DEREncodable{	private ASN1OctetString      subjectKeyIdentifier;	private DERGeneralizedTime   date;	private OtherKeyAttribute    other;	public RecipientKeyIdentifier(        ASN1OctetString         subjectKeyIdentifier,        DERGeneralizedTime      date,        OtherKeyAttribute       other)    {        this.subjectKeyIdentifier = subjectKeyIdentifier;        this.date = date;        this.other = other;	}		public RecipientKeyIdentifier(        ASN1Sequence seq)    {		subjectKeyIdentifier = ASN1OctetString.getInstance(                                                    seq.getObjectAt(0));				switch(seq.size())        {        case 1:            break;        case 2:            if (seq.getObjectAt(1) instanceof DERGeneralizedTime)            {                date = (DERGeneralizedTime)seq.getObjectAt(1);             }            else            {                other = OtherKeyAttribute.getInstance(seq.getObjectAt(2));            }            break;        case 3:            date  = (DERGeneralizedTime)seq.getObjectAt(1);            other = OtherKeyAttribute.getInstance(seq.getObjectAt(2));            break;        default:            throw new IllegalArgumentException("Invalid KEKIdentifier");		}	}    /**     * return a RecipientKeyIdentifier 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 RecipientKeyIdentifier getInstance(ASN1TaggedObject _ato, boolean _explicit) {		return getInstance(ASN1Sequence.getInstance(_ato, _explicit));	}	    /**     * return a RecipientKeyIdentifier object from the given object.     *     * @param _obj the object we want converted.     * @exception IllegalArgumentException if the object cannot be converted.     */	public static RecipientKeyIdentifier getInstance(Object _obj) {		if(_obj == null || _obj instanceof RecipientKeyIdentifier) {			return (RecipientKeyIdentifier)_obj;		}				if(_obj instanceof ASN1Sequence) {			return new RecipientKeyIdentifier((ASN1Sequence)_obj);		}				throw new IllegalArgumentException("Invalid RecipientKeyIdentifier: " + _obj.getClass().getName());	} 	public ASN1OctetString getSubjectKeyIdentifier()    {		return subjectKeyIdentifier;	}	public DERGeneralizedTime getDate()    {		return date;	}	public OtherKeyAttribute getOtherKeyAttribute()    {		return other;	}    /**      * <pre>     * RecipientKeyIdentifier ::= SEQUENCE {     * 	subjectKeyIdentifier SubjectKeyIdentifier,     * 	date GeneralizedTime OPTIONAL,     * 	other OtherKeyAttribute OPTIONAL      * }     *     * SubjectKeyIdentifier ::= OCTET STRING     * </pre>     */	public DERObject getDERObject()    {        ASN1EncodableVector  v = new ASN1EncodableVector();		v.add(subjectKeyIdentifier);				if (date != null)        {			v.add(date);		}		if (other != null)        {			v.add(other);		}				return new DERSequence(v);	}}

⌨️ 快捷键说明

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