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

📄 x509extensionsgenerator.java

📁 kmlnjlkj nlkjlkjkljl okopokipoipo oipipipo i
💻 JAVA
字号:
package org.bouncycastle.asn1.x509;import org.bouncycastle.asn1.DEREncodable;import org.bouncycastle.asn1.DERObjectIdentifier;import org.bouncycastle.asn1.DEROctetString;import org.bouncycastle.asn1.DEROutputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.util.Hashtable;import java.util.Vector;/** * Generator for X.509 extensions */public class X509ExtensionsGenerator{    private Hashtable extensions = new Hashtable();    private Vector extOrdering = new Vector();    /**     * Reset the generator     */    public void reset()    {        extensions = new Hashtable();        extOrdering = new Vector();    }    /**     * Add an extension with the given oid and the passed in value to be included     * in the OCTET STRING associated with the extension.     *     * @param oid  OID for the extension.     * @param critical  true if critical, false otherwise.     * @param value the ASN.1 object to be included in the extension.     */    public void addExtension(        DERObjectIdentifier oid,        boolean             critical,        DEREncodable        value)    {        ByteArrayOutputStream bOut = new ByteArrayOutputStream();        DEROutputStream dOut = new DEROutputStream(bOut);        try        {            dOut.writeObject(value);        }        catch (IOException e)        {            throw new IllegalArgumentException("error encoding value: " + e);        }        this.addExtension(oid, critical, bOut.toByteArray());    }    /**     * Add an extension with the given oid and the passed in byte array to be wrapped in the     * OCTET STRING associated with the extension.     *     * @param oid OID for the extension.     * @param critical true if critical, false otherwise.     * @param value the byte array to be wrapped.     */    public void addExtension(        DERObjectIdentifier oid,        boolean             critical,        byte[]              value)    {        if (extensions.containsKey(oid))        {            throw new IllegalArgumentException("extension " + oid + " already added");        }        extOrdering.addElement(oid);        extensions.put(oid, new X509Extension(critical, new DEROctetString(value)));    }    /**     * Return true if there are no extension present in this generator.     *     * @return true if empty, false otherwise     */    public boolean isEmpty()    {        return extOrdering.isEmpty();    }    /**     * Generate an X509Extensions object based on the current state of the generator.     *     * @return  an X09Extensions object.     */    public X509Extensions generate()    {        return new X509Extensions(extOrdering, extensions);    }}

⌨️ 快捷键说明

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