亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? x509crlobject.java

?? 內容:基于jdk1.4的加密算法的具體實現
?? JAVA
字號:
package org.bouncycastle.jce.provider;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.math.BigInteger;import java.security.InvalidKeyException;import java.security.NoSuchAlgorithmException;import java.security.NoSuchProviderException;import java.security.Principal;import java.security.PublicKey;import java.security.Signature;import java.security.SignatureException;import java.security.cert.CRLException;import java.security.cert.Certificate;import java.security.cert.X509CRL;import java.security.cert.X509CRLEntry;import java.security.cert.X509Certificate;import java.util.Date;import java.util.Enumeration;import java.util.HashSet;import java.util.Set;import javax.security.auth.x500.X500Principal;import org.bouncycastle.asn1.ASN1OutputStream;import org.bouncycastle.asn1.DERObjectIdentifier;import org.bouncycastle.asn1.DEROutputStream;import org.bouncycastle.asn1.x509.CertificateList;import org.bouncycastle.asn1.x509.TBSCertList;import org.bouncycastle.asn1.x509.X509Extension;import org.bouncycastle.asn1.x509.X509Extensions;import org.bouncycastle.jce.X509Principal;/** * The following extensions are listed in RFC 2459 as relevant to CRLs * * Authority Key Identifier * Issuer Alternative Name * CRL Number * Delta CRL Indicator (critical) * Issuing Distribution Point (critical) */public class X509CRLObject    extends X509CRL{    private CertificateList c;    public X509CRLObject(        CertificateList c)    {        this.c = c;    }    /**     * Will return true if any extensions are present and marked     * as critical as we currently dont handle any extensions!     */    public boolean hasUnsupportedCriticalExtension()    {        Set extns = getCriticalExtensionOIDs();        if (extns != null && !extns.isEmpty())        {            return true;        }        return false;    }    private Set getExtensionOIDs(boolean critical)    {        if (this.getVersion() == 2)        {            Set             set = new HashSet();            X509Extensions  extensions = c.getTBSCertList().getExtensions();            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;        }        return null;    }    public Set getCriticalExtensionOIDs()    {        return getExtensionOIDs(true);    }    public Set getNonCriticalExtensionOIDs()    {        return getExtensionOIDs(false);    }    public byte[] getExtensionValue(String oid)    {        X509Extensions exts = c.getTBSCertList().getExtensions();        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;    }    public byte[] getEncoded()        throws CRLException    {        ByteArrayOutputStream    bOut = new ByteArrayOutputStream();        DEROutputStream            dOut = new DEROutputStream(bOut);        try        {            dOut.writeObject(c);            return bOut.toByteArray();        }        catch (IOException e)        {            throw new CRLException(e.toString());        }    }    public void verify(PublicKey key)        throws CRLException,  NoSuchAlgorithmException,        InvalidKeyException, NoSuchProviderException,        SignatureException    {        verify(key, "BC");    }    public void verify(PublicKey key, String sigProvider)        throws CRLException, NoSuchAlgorithmException,        InvalidKeyException, NoSuchProviderException,        SignatureException    {        if (!c.getSignatureAlgorithm().equals(c.getTBSCertList().getSignature()))        {            throw new CRLException("Signature algorithm on CertifcateList does not match TBSCertList.");        }        Signature sig = Signature.getInstance(getSigAlgName(), sigProvider);        sig.initVerify(key);        sig.update(this.getTBSCertList());        if (!sig.verify(this.getSignature()))        {            throw new SignatureException("CRL does not verify with supplied public key.");        }    }    public int getVersion()    {        return c.getVersion();    }    public Principal getIssuerDN()    {        return new X509Principal(c.getIssuer());    }    public X500Principal getIssuerX500Principal()    {        try        {            ByteArrayOutputStream   bOut = new ByteArrayOutputStream();            ASN1OutputStream        aOut = new ASN1OutputStream(bOut);            aOut.writeObject(c.getIssuer());            return new X500Principal(bOut.toByteArray());        }        catch (IOException e)        {            throw new IllegalStateException("can't encode issuer DN");        }    }    public Date getThisUpdate()    {        return c.getThisUpdate().getDate();    }    public Date getNextUpdate()    {        if (c.getNextUpdate() != null)        {            return c.getNextUpdate().getDate();        }        return null;    }    public X509CRLEntry getRevokedCertificate(BigInteger serialNumber)    {        TBSCertList.CRLEntry[] certs = c.getRevokedCertificates();        if (certs != null)        {            for (int i = 0; i < certs.length; i++)            {                if (certs[i].getUserCertificate().getValue().equals(serialNumber))                {                    return new X509CRLEntryObject(certs[i]);                }            }        }        return null;    }      public Set getRevokedCertificates()    {        TBSCertList.CRLEntry[] certs = c.getRevokedCertificates();        if (certs != null)        {            Set     set = new HashSet();            for (int i = 0; i < certs.length; i++)            {                set.add(new X509CRLEntryObject(certs[i]));            }            return set;        }        return null;    }      public byte[] getTBSCertList()        throws CRLException    {        ByteArrayOutputStream    bOut = new ByteArrayOutputStream();        DEROutputStream            dOut = new DEROutputStream(bOut);        try        {            dOut.writeObject(c.getTBSCertList());            return bOut.toByteArray();        }        catch (IOException e)        {            throw new CRLException(e.toString());        }    }    public byte[] getSignature()    {        return c.getSignature().getBytes();    }    public String getSigAlgName()    {        return X509SignatureUtil.getSignatureName(c.getSignatureAlgorithm());    }    public String getSigAlgOID()    {        return c.getSignatureAlgorithm().getObjectId().getId();    }    public byte[] getSigAlgParams()    {        ByteArrayOutputStream    bOut = new ByteArrayOutputStream();        if (c.getSignatureAlgorithm().getParameters() != null)        {            try            {                DEROutputStream    dOut = new DEROutputStream(bOut);                dOut.writeObject(c.getSignatureAlgorithm().getParameters());            }            catch (Exception e)            {                throw new RuntimeException("exception getting sig parameters " + e);            }            return bOut.toByteArray();        }        return null;    }    /**     * Returns a string representation of this CRL.     *     * @return a string representation of this CRL.     */    public String toString()    {        return "X.509 CRL";    }    /**     * Checks whether the given certificate is on this CRL.     *     * @param cert the certificate to check for.     * @return true if the given certificate is on this CRL,     * false otherwise.     */    public boolean isRevoked(Certificate cert)    {        if (!cert.getType().equals("X.509"))        {            throw new RuntimeException("X.509 CRL used with non X.509 Cert");        }        TBSCertList.CRLEntry[] certs = c.getRevokedCertificates();        if (certs != null)        {            BigInteger serial = ((X509Certificate)cert).getSerialNumber();            for (int i = 0; i < certs.length; i++)            {                if (certs[i].getUserCertificate().getValue().equals(serial))                {                    return true;                }            }        }        return false;    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色婷婷久久一区二区三区麻豆| 韩日欧美一区二区三区| 亚洲精品一区二区三区在线观看 | 美女www一区二区| 午夜影院在线观看欧美| 一区二区三区高清| 亚洲综合视频在线观看| 一区二区在线看| 亚洲一区二区精品3399| 午夜视频在线观看一区二区 | 成人高清免费在线播放| 粉嫩欧美一区二区三区高清影视 | 天天做天天摸天天爽国产一区| 亚洲自拍都市欧美小说| 天天综合天天做天天综合| 青椒成人免费视频| 精久久久久久久久久久| 国产·精品毛片| 91在线精品秘密一区二区| 在线观看91视频| 欧美一区二区三区播放老司机| 精品国产青草久久久久福利| 久久精品免费在线观看| 亚洲欧美日韩成人高清在线一区| 亚洲午夜久久久| 久久97超碰国产精品超碰| 成人免费高清在线观看| 91国产视频在线观看| 91精品国产综合久久久久久漫画| 久久午夜色播影院免费高清| 中文字幕欧美区| 日韩不卡手机在线v区| 国产精品一区二区你懂的| 色一情一乱一乱一91av| 91精品国产色综合久久不卡蜜臀| 国产日韩欧美一区二区三区乱码| 亚洲制服丝袜av| 国产精品一二三区在线| 欧美日韩国产经典色站一区二区三区| 久久在线观看免费| 亚洲精品视频免费看| 精品亚洲porn| 色88888久久久久久影院按摩| 日韩免费看网站| 尤物视频一区二区| 国产精品一区三区| 欧美乱妇一区二区三区不卡视频| 中文字幕第一页久久| 蜜桃视频在线观看一区二区| 在线影院国内精品| 中文字幕中文字幕一区| 久久精品国产99国产精品| 色婷婷久久99综合精品jk白丝| 精品成人一区二区三区| 亚洲妇熟xx妇色黄| 99精品欧美一区二区蜜桃免费| 欧美videos大乳护士334| 伊人婷婷欧美激情| 成人性生交大片免费看中文| 欧美不卡一区二区三区| 爽好多水快深点欧美视频| 色综合久久88色综合天天免费| 欧美激情一区二区| 国产精品一区二区你懂的| 日韩欧美亚洲另类制服综合在线| 亚洲国产视频一区| 91女人视频在线观看| 国产精品第13页| 成人激情免费网站| 国产日韩欧美综合一区| 韩国成人精品a∨在线观看| 91精品午夜视频| 肉肉av福利一精品导航| 欧美精品三级在线观看| 偷偷要91色婷婷| 欧美日韩成人一区二区| 亚洲综合一区二区精品导航| 一本到不卡精品视频在线观看| 国产精品久久久久影视| 成人av在线电影| 中文字幕制服丝袜成人av| 成人精品电影在线观看| 综合色中文字幕| 在线观看一区日韩| 亚洲成人免费av| 日韩亚洲欧美中文三级| 久久精品国产久精国产爱| 久久日一线二线三线suv| 国产成人高清在线| 国产精品久久久久一区二区三区共| 91蜜桃传媒精品久久久一区二区| 成人免费一区二区三区视频| 色婷婷激情一区二区三区| 亚洲成人动漫av| 欧美大尺度电影在线| 国产成人免费视频网站高清观看视频| 国产精品色哟哟| 欧美日韩高清一区二区三区| 奇米色777欧美一区二区| 欧美精品一区二区精品网| 成人免费毛片嘿嘿连载视频| 亚洲欧美日韩在线不卡| 51精品国自产在线| 国产成人在线视频网站| 一区二区三区中文免费| 日韩欧美一级精品久久| 成人免费观看av| 天堂久久久久va久久久久| 久久精品日韩一区二区三区| 色狠狠av一区二区三区| 久久国产欧美日韩精品| 亚洲色图20p| 精品少妇一区二区三区视频免付费| 国产91精品久久久久久久网曝门| 亚洲一区二区三区自拍| 久久久久九九视频| 在线观看国产91| 国产黄色成人av| 视频一区中文字幕国产| 国产精品色在线| 26uuu另类欧美亚洲曰本| 色婷婷av一区二区三区大白胸| 国产一区福利在线| 亚洲最大的成人av| 国产精品色哟哟| 久久综合九色综合久久久精品综合| 色偷偷一区二区三区| 国产电影一区二区三区| 免费av成人在线| 亚洲一区自拍偷拍| 国产亚洲欧美一级| 日韩一区二区在线看片| 在线一区二区三区四区五区| 懂色av一区二区夜夜嗨| 国内外精品视频| 免费成人你懂的| 婷婷综合在线观看| 一区二区三区精密机械公司| 中文字幕亚洲综合久久菠萝蜜| 精品国产乱子伦一区| 欧美精品日韩一区| 欧美综合亚洲图片综合区| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 一本色道久久综合亚洲精品按摩 | 亚洲人妖av一区二区| 久久精品亚洲国产奇米99| 日韩免费电影网站| 日韩一区二区三区免费观看| 欧美日韩国产欧美日美国产精品| 欧洲国内综合视频| 日本乱人伦一区| 欧美视频在线一区| 91久久奴性调教| 欧美午夜一区二区| 欧美亚洲动漫另类| 欧洲精品视频在线观看| 91精品1区2区| 欧美人体做爰大胆视频| 欧美日韩国产高清一区二区 | 久久精品人人爽人人爽| 精品裸体舞一区二区三区| 日韩欧美美女一区二区三区| 91精品国产综合久久精品麻豆| 日韩一级免费观看| 精品国免费一区二区三区| 精品久久久久久久人人人人传媒| 精品乱码亚洲一区二区不卡| 久久久久久久久一| 久久久精品黄色| 国产精品女同互慰在线看| 最新成人av在线| 亚洲国产一二三| 九九精品一区二区| 成人性视频网站| 日本丶国产丶欧美色综合| 欧美日韩第一区日日骚| 精品91自产拍在线观看一区| 久久精品一区二区三区不卡 | 亚洲欧洲av在线| 亚洲免费大片在线观看| 午夜久久久影院| 国产毛片一区二区| 91在线观看成人| 欧美一激情一区二区三区| 国产欧美一区二区精品秋霞影院| 中文字幕永久在线不卡| 婷婷综合在线观看| 成人视屏免费看| 欧美精品vⅰdeose4hd| 国产午夜精品一区二区三区视频| 亚洲欧美日本韩国| 美腿丝袜亚洲一区| 91丨porny丨中文| 欧美刺激午夜性久久久久久久| 欧美电影免费观看高清完整版在线| 亚洲视频免费观看| 麻豆精品国产91久久久久久| 91国产成人在线| 中文字幕av一区二区三区高| 日韩精品1区2区3区|