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

📄 responsedata.java

📁 bouncycastle 是一个JAVA安全提供者
💻 JAVA
字号:
package org.bouncycastle.asn1.ocsp;import org.bouncycastle.asn1.ASN1EncodableVector;import org.bouncycastle.asn1.ASN1Sequence;import org.bouncycastle.asn1.ASN1TaggedObject;import org.bouncycastle.asn1.ASN1Encodable;import org.bouncycastle.asn1.DERGeneralizedTime;import org.bouncycastle.asn1.DERInteger;import org.bouncycastle.asn1.DERObject;import org.bouncycastle.asn1.DERSequence;import org.bouncycastle.asn1.DERTaggedObject;import org.bouncycastle.asn1.x509.X509Extensions;public class ResponseData    extends ASN1Encodable{    private DERInteger          version;    private ResponderID         responderID;    private DERGeneralizedTime  producedAt;    private ASN1Sequence        responses;    private X509Extensions      responseExtensions;    public ResponseData(        DERInteger          version,        ResponderID         responderID,        DERGeneralizedTime  producedAt,        ASN1Sequence        responses,        X509Extensions      responseExtensions)    {        this.version = version;        this.responderID = responderID;        this.producedAt = producedAt;        this.responses = responses;        this.responseExtensions = responseExtensions;    }    public ResponseData(        ASN1Sequence    seq)    {        int index = 0;        if (seq.getObjectAt(0) instanceof ASN1TaggedObject)        {            ASN1TaggedObject    o = (ASN1TaggedObject)seq.getObjectAt(0);            if (o.getTagNo() == 0)            {                this.version = DERInteger.getInstance(                                (ASN1TaggedObject)seq.getObjectAt(0), true);                index++;            }            else            {                this.version = null;            }        }        else        {            this.version = null;        }        this.responderID = ResponderID.getInstance(seq.getObjectAt(index++));        this.producedAt = (DERGeneralizedTime)seq.getObjectAt(index++);        this.responses = (ASN1Sequence)seq.getObjectAt(index++);        if (seq.size() > index)        {            this.responseExtensions = X509Extensions.getInstance(                                (ASN1TaggedObject)seq.getObjectAt(index), true);        }    }    public static ResponseData getInstance(        ASN1TaggedObject obj,        boolean          explicit)    {        return getInstance(ASN1Sequence.getInstance(obj, explicit));    }    public static ResponseData getInstance(        Object  obj)    {        if (obj == null || obj instanceof ResponseData)        {            return (ResponseData)obj;        }        else if (obj instanceof ASN1Sequence)        {            return new ResponseData((ASN1Sequence)obj);        }        throw new IllegalArgumentException("unknown object in factory");    }    public DERInteger getVersion()    {        return version;    }    public ResponderID getResponderID()    {        return responderID;    }    public DERGeneralizedTime getProducedAt()    {        return producedAt;    }    public ASN1Sequence getResponses()    {        return responses;    }    public X509Extensions getResponseExtensions()    {        return responseExtensions;    }    /**     * Produce an object suitable for an ASN1OutputStream.     * <pre>     * ResponseData ::= SEQUENCE {     *     version              [0] EXPLICIT Version DEFAULT v1,     *     responderID              ResponderID,     *     producedAt               GeneralizedTime,     *     responses                SEQUENCE OF SingleResponse,     *     responseExtensions   [1] EXPLICIT Extensions OPTIONAL }     * </pre>     */    public DERObject toASN1Object()    {        ASN1EncodableVector v = new ASN1EncodableVector();        if (version != null)        {            v.add(new DERTaggedObject(true, 0, new DERInteger(0)));        }        v.add(responderID);        v.add(producedAt);        v.add(responses);        if (responseExtensions != null)        {            v.add(new DERTaggedObject(true, 1, responseExtensions));        }        return new DERSequence(v);    }}

⌨️ 快捷键说明

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