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

📄 certificationrequestinfo.java

📁 说明: 1、里面有什么: 1.1、org.bouncycastle.*下的所有软件是bouncycastle组织开发的软件包 1.2、org.infosecurity.*下的软件包括
💻 JAVA
字号:
package org.bouncycastle.asn1.pkcs;import org.bouncycastle.asn1.*;import org.bouncycastle.asn1.x509.*;/** * PKCS10 * * <pre> *  CertificationRequestInfo ::= SEQUENCE { *   version             INTEGER { v1(0) } (v1,...), *   subject             Name, *   subjectPKInfo   SubjectPublicKeyInfo{{ PKInfoAlgorithms }}, *   attributes          [0] Attributes{{ CRIAttributes }} *  } * *  Attributes { ATTRIBUTE:IOSet } ::= SET OF Attribute{{ IOSet }} * *  Attribute { ATTRIBUTE:IOSet } ::= SEQUENCE { *    type    ATTRIBUTE.&id({IOSet}), *    values  SET SIZE(1..MAX) OF ATTRIBUTE.&Type({IOSet}{@type}) *  } * </pre> */public class CertificationRequestInfo    implements DEREncodable{    DERInteger              version = new DERInteger(0);    X509Name                subject;    SubjectPublicKeyInfo    subjectPKInfo;    ASN1Set                 attributes = null;    public static CertificationRequestInfo getInstance(        Object  obj)    {        if (obj instanceof CertificationRequestInfo)        {            return (CertificationRequestInfo)obj;        }        else if (obj instanceof ASN1Sequence)        {            return new CertificationRequestInfo((ASN1Sequence)obj);        }        throw new IllegalArgumentException("unknown object in factory");    }    public CertificationRequestInfo(        X509Name                subject,        SubjectPublicKeyInfo    pkInfo,        ASN1Set                 attributes)    {        this.subject = subject;        this.subjectPKInfo = pkInfo;        this.attributes = attributes;        if ((subject == null) || (version == null) || (subjectPKInfo == null))        {            throw new IllegalArgumentException("Not all mandatory fields set in CertificationRequestInfo generator.");        }    }    public CertificationRequestInfo(        ASN1Sequence  seq)    {        version = (DERInteger)seq.getObjectAt(0);        subject = X509Name.getInstance(seq.getObjectAt(1));        subjectPKInfo = SubjectPublicKeyInfo.getInstance(seq.getObjectAt(2));        //        // some CertificationRequestInfo objects seem to treat this field        // as optional.        //        if (seq.size() > 3)        {            DERTaggedObject tagobj = (DERTaggedObject)seq.getObjectAt(3);            attributes = ASN1Set.getInstance(tagobj, false);        }        if ((subject == null) || (version == null) || (subjectPKInfo == null))        {            throw new IllegalArgumentException("Not all mandatory fields set in CertificationRequestInfo generator.");        }    }    public DERInteger getVersion()    {        return version;    }    public X509Name getSubject()    {        return subject;    }    public SubjectPublicKeyInfo getSubjectPublicKeyInfo()    {        return subjectPKInfo;    }    public ASN1Set getAttributes()    {        return (ASN1Set)attributes;    }    public DERObject getDERObject()    {        ASN1EncodableVector  v = new ASN1EncodableVector();        v.add(version);        v.add(subject);        v.add(subjectPKInfo);        if (attributes != null)        {            v.add(new DERTaggedObject(false, 0, attributes));        }        return new DERSequence(v);    }}

⌨️ 快捷键说明

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