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

📄 pkimessage.java

📁 kmlnjlkj nlkjlkjkljl okopokipoipo oipipipo i
💻 JAVA
字号:
package org.bouncycastle.asn1.cmp;import org.bouncycastle.asn1.ASN1Encodable;import org.bouncycastle.asn1.ASN1EncodableVector;import org.bouncycastle.asn1.ASN1Sequence;import org.bouncycastle.asn1.ASN1TaggedObject;import org.bouncycastle.asn1.DERBitString;import org.bouncycastle.asn1.DERObject;import org.bouncycastle.asn1.DERSequence;import org.bouncycastle.asn1.DERTaggedObject;import java.util.Enumeration;public class PKIMessage    extends ASN1Encodable{    private PKIHeader header;    private PKIBody body;    private DERBitString protection;    private ASN1Sequence extraCerts;    private PKIMessage(ASN1Sequence seq)    {        Enumeration en = seq.getObjects();        header = PKIHeader.getInstance(en.nextElement());        body = PKIBody.getInstance(en.nextElement());        while (en.hasMoreElements())        {            ASN1TaggedObject tObj = (ASN1TaggedObject)en.nextElement();            if (tObj.getTagNo() == 0)            {                protection = DERBitString.getInstance(tObj, true);            }            else            {                extraCerts = ASN1Sequence.getInstance(tObj, true);            }        }    }    public static PKIMessage getInstance(Object o)    {        if (o instanceof PKIMessage)        {            return (PKIMessage)o;        }        if (o instanceof ASN1Sequence)        {            return new PKIMessage((ASN1Sequence)o);        }        throw new IllegalArgumentException("Invalid object: " + o.getClass().getName());    }    public PKIHeader getHeader()    {        return header;    }    public PKIBody getBody()    {        return body;    }    /**     * <pre>     * PKIMessage ::= SEQUENCE {     *                  header           PKIHeader,     *                  body             PKIBody,     *                  protection   [0] PKIProtection OPTIONAL,     *                  extraCerts   [1] SEQUENCE SIZE (1..MAX) OF CMPCertificate     *                                                                     OPTIONAL     * }     * </pre>     * @return a basic ASN.1 object representation.     */    public DERObject toASN1Object()    {        ASN1EncodableVector v = new ASN1EncodableVector();        v.add(header);        v.add(body);        addOptional(v, 0, protection);        addOptional(v, 1, extraCerts);        return new DERSequence(v);    }        private void addOptional(ASN1EncodableVector v, int tagNo, ASN1Encodable obj)    {        if (obj != null)        {            v.add(new DERTaggedObject(true, tagNo, obj));        }    }}

⌨️ 快捷键说明

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