req.java

来自「bouncycastle 是一个JAVA安全提供者」· Java 代码 · 共 115 行

JAVA
115
字号
package org.bouncycastle.ocsp;import java.io.ByteArrayOutputStream;import java.util.Enumeration;import java.util.HashSet;import java.util.Set;import org.bouncycastle.asn1.DERObjectIdentifier;import org.bouncycastle.asn1.DEROutputStream;import org.bouncycastle.asn1.ocsp.Request;import org.bouncycastle.asn1.x509.X509Extension;import org.bouncycastle.asn1.x509.X509Extensions;public class Req    implements java.security.cert.X509Extension{    private Request req;    public Req(        Request req)    {        this.req = req;    }    public CertificateID getCertID()    {        return new CertificateID(req.getReqCert());    }    public X509Extensions getSingleRequestExtensions()    {        return req.getSingleRequestExtensions();    }        /**     * RFC 2650 doesn't specify any critical extensions so we return true     * if any are encountered.     *      * @return true if any critical extensions are present.     */    public boolean hasUnsupportedCriticalExtension()    {        Set extns = getCriticalExtensionOIDs();        if (extns != null && !extns.isEmpty())        {            return true;        }        return false;    }    private Set getExtensionOIDs(boolean critical)    {        Set             set = new HashSet();        X509Extensions  extensions = this.getSingleRequestExtensions();                if (extensions != null)        {            Enumeration     e = extensions.oids();                while (e.hasMoreElements())            {                DERObjectIdentifier oid = (DERObjectIdentifier)e.nextElement();                X509Extension       ext = extensions.getExtension(oid);                    if (critical == ext.isCritical())                {                    set.add(oid.getId());                }            }        }        return set;    }    public Set getCriticalExtensionOIDs()    {        return getExtensionOIDs(true);    }    public Set getNonCriticalExtensionOIDs()    {        return getExtensionOIDs(false);    }    public byte[] getExtensionValue(String oid)    {        X509Extensions exts = this.getSingleRequestExtensions();        if (exts != null)        {            X509Extension   ext = exts.getExtension(new DERObjectIdentifier(oid));            if (ext != null)            {                ByteArrayOutputStream   bOut = new ByteArrayOutputStream();                DEROutputStream dOut = new DEROutputStream(bOut);                try                {                    dOut.writeObject(ext.getValue());                    return bOut.toByteArray();                }                catch (Exception e)                {                    throw new RuntimeException("error encoding " + e.toString());                }            }        }        return null;    }}

⌨️ 快捷键说明

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