Package org.bouncycastle.asn1.dvcs

Source Code of org.bouncycastle.asn1.dvcs.DVCSCertInfoBuilder

package org.bouncycastle.asn1.dvcs;

import org.bouncycastle.asn1.ASN1EncodableVector;
import org.bouncycastle.asn1.ASN1Integer;
import org.bouncycastle.asn1.ASN1Sequence;
import org.bouncycastle.asn1.ASN1Set;
import org.bouncycastle.asn1.DERSequence;
import org.bouncycastle.asn1.DERTaggedObject;
import org.bouncycastle.asn1.cmp.PKIStatusInfo;
import org.bouncycastle.asn1.x509.DigestInfo;
import org.bouncycastle.asn1.x509.Extensions;
import org.bouncycastle.asn1.x509.PolicyInformation;

/**
* <pre>
*     DVCSCertInfo::= SEQUENCE  {
*         version             Integer DEFAULT 1 ,
*         dvReqInfo           DVCSRequestInformation,
*         messageImprint      DigestInfo,
*         serialNumber        Integer,
*         responseTime        DVCSTime,
*         dvStatus            [0] PKIStatusInfo OPTIONAL,
*         policy              [1] PolicyInformation OPTIONAL,
*         reqSignature        [2] SignerInfos  OPTIONAL,
*         certs               [3] SEQUENCE SIZE (1..MAX) OF
*                                 TargetEtcChain OPTIONAL,
*         extensions          Extensions OPTIONAL
*     }
* </pre>
*/

public class DVCSCertInfoBuilder
{

    private int version = DEFAULT_VERSION;
    private DVCSRequestInformation dvReqInfo;
    private DigestInfo messageImprint;
    private ASN1Integer serialNumber;
    private DVCSTime responseTime;
    private PKIStatusInfo dvStatus;
    private PolicyInformation policy;
    private ASN1Set reqSignature;
    private ASN1Sequence certs;
    private Extensions extensions;

    private static final int DEFAULT_VERSION = 1;
    private static final int TAG_DV_STATUS = 0;
    private static final int TAG_POLICY = 1;
    private static final int TAG_REQ_SIGNATURE = 2;
    private static final int TAG_CERTS = 3;

    public DVCSCertInfoBuilder(
        DVCSRequestInformation dvReqInfo,
        DigestInfo messageImprint,
        ASN1Integer serialNumber,
        DVCSTime responseTime)
    {
        this.dvReqInfo = dvReqInfo;
        this.messageImprint = messageImprint;
        this.serialNumber = serialNumber;
        this.responseTime = responseTime;
    }

    public DVCSCertInfo build()
    {

        ASN1EncodableVector v = new ASN1EncodableVector();

        if (version != DEFAULT_VERSION)
        {
            v.add(new ASN1Integer(version));
        }
        v.add(dvReqInfo);
        v.add(messageImprint);
        v.add(serialNumber);
        v.add(responseTime);
        if (dvStatus != null)
        {
            v.add(new DERTaggedObject(false, TAG_DV_STATUS, dvStatus));
        }
        if (policy != null)
        {
            v.add(new DERTaggedObject(false, TAG_POLICY, policy));
        }
        if (reqSignature != null)
        {
            v.add(new DERTaggedObject(false, TAG_REQ_SIGNATURE, reqSignature));
        }
        if (certs != null)
        {
            v.add(new DERTaggedObject(false, TAG_CERTS, certs));
        }
        if (extensions != null)
        {
            v.add(extensions);
        }

        return DVCSCertInfo.getInstance(new DERSequence(v));
    }

    public void setVersion(int version)
    {
        this.version = version;
    }

    public void setDvReqInfo(DVCSRequestInformation dvReqInfo)
    {
        this.dvReqInfo = dvReqInfo;
    }

    public void setMessageImprint(DigestInfo messageImprint)
    {
        this.messageImprint = messageImprint;
    }

    public void setSerialNumber(ASN1Integer serialNumber)
    {
        this.serialNumber = serialNumber;
    }

    public void setResponseTime(DVCSTime responseTime)
    {
        this.responseTime = responseTime;
    }

    public void setDvStatus(PKIStatusInfo dvStatus)
    {
        this.dvStatus = dvStatus;
    }

    public void setPolicy(PolicyInformation policy)
    {
        this.policy = policy;
    }

    public void setReqSignature(ASN1Set reqSignature)
    {
        this.reqSignature = reqSignature;
    }

    public void setCerts(TargetEtcChain[] certs)
    {
        this.certs = new DERSequence(certs);
    }

    public void setExtensions(Extensions extensions)
    {
        this.extensions = extensions;
    }

}
TOP

Related Classes of org.bouncycastle.asn1.dvcs.DVCSCertInfoBuilder

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.