distributionpointname.java

来自「kmlnjlkj nlkjlkjkljl okopokipoipo oipipi」· Java 代码 · 共 150 行

JAVA
150
字号
package org.bouncycastle.asn1.x509;import org.bouncycastle.asn1.ASN1Choice;import org.bouncycastle.asn1.ASN1Encodable;import org.bouncycastle.asn1.ASN1Set;import org.bouncycastle.asn1.ASN1TaggedObject;import org.bouncycastle.asn1.DEREncodable;import org.bouncycastle.asn1.DERObject;import org.bouncycastle.asn1.DERTaggedObject;/** * The DistributionPointName object. * <pre> * DistributionPointName ::= CHOICE { *     fullName                 [0] GeneralNames, *     nameRelativeToCRLIssuer  [1] RelativeDistinguishedName * } * </pre> */public class DistributionPointName    extends ASN1Encodable    implements ASN1Choice{    DEREncodable        name;    int                 type;    public static final int FULL_NAME = 0;    public static final int NAME_RELATIVE_TO_CRL_ISSUER = 1;    public static DistributionPointName getInstance(        ASN1TaggedObject obj,        boolean          explicit)    {        return getInstance(ASN1TaggedObject.getInstance(obj, true));    }    public static DistributionPointName getInstance(        Object  obj)    {        if (obj == null || obj instanceof DistributionPointName)        {            return (DistributionPointName)obj;        }        else if (obj instanceof ASN1TaggedObject)        {            return new DistributionPointName((ASN1TaggedObject)obj);        }        throw new IllegalArgumentException("unknown object in factory: " + obj.getClass().getName());    }    /*     * @deprecated use ASN1Encodable     */    public DistributionPointName(        int             type,        DEREncodable    name)    {        this.type = type;        this.name = name;    }    public DistributionPointName(        int             type,        ASN1Encodable   name)    {        this.type = type;        this.name = name;    }    public DistributionPointName(        GeneralNames name)    {        this(FULL_NAME, name);    }    /**     * Return the tag number applying to the underlying choice.     *      * @return the tag number for this point name.     */    public int getType()    {        return this.type;    }        /**     * Return the tagged object inside the distribution point name.     *      * @return the underlying choice item.     */    public ASN1Encodable getName()    {        return (ASN1Encodable)name;    }        public DistributionPointName(        ASN1TaggedObject    obj)    {        this.type = obj.getTagNo();                if (type == 0)        {            this.name = GeneralNames.getInstance(obj, false);        }        else        {            this.name = ASN1Set.getInstance(obj, false);        }    }        public DERObject toASN1Object()    {        return new DERTaggedObject(false, type, name);    }    public String toString()    {        String       sep = System.getProperty("line.separator");        StringBuffer buf = new StringBuffer();        buf.append("DistributionPointName: [");        buf.append(sep);        if (type == FULL_NAME)        {            appendObject(buf, sep, "fullName", name.toString());        }        else        {            appendObject(buf, sep, "nameRelativeToCRLIssuer", name.toString());        }        buf.append("]");        buf.append(sep);        return buf.toString();    }    private void appendObject(StringBuffer buf, String sep, String name, String value)    {        String       indent = "    ";        buf.append(indent);        buf.append(name);        buf.append(":");        buf.append(sep);        buf.append(indent);        buf.append(indent);        buf.append(value);        buf.append(sep);    }}

⌨️ 快捷键说明

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