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

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

?? x509v2crlgenerator.java

?? 內容:基于jdk1.4的加密算法的具體實現
?? JAVA
字號:
package org.bouncycastle.jce;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.PrivateKey;import java.security.SecureRandom;import java.security.Signature;import java.security.SignatureException;import java.security.cert.X509CRL;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Hashtable;import java.util.SimpleTimeZone;import java.util.Vector;import org.bouncycastle.asn1.ASN1EncodableVector;import org.bouncycastle.asn1.DERBitString;import org.bouncycastle.asn1.DEREncodable;import org.bouncycastle.asn1.DERInteger;import org.bouncycastle.asn1.DERObjectIdentifier;import org.bouncycastle.asn1.DEROctetString;import org.bouncycastle.asn1.DEROutputStream;import org.bouncycastle.asn1.DERSequence;import org.bouncycastle.asn1.DERUTCTime;import org.bouncycastle.asn1.x509.AlgorithmIdentifier;import org.bouncycastle.asn1.x509.CertificateList;import org.bouncycastle.asn1.x509.TBSCertList;import org.bouncycastle.asn1.x509.V2TBSCertListGenerator;import org.bouncycastle.asn1.x509.X509Extension;import org.bouncycastle.asn1.x509.X509Extensions;import org.bouncycastle.asn1.x509.X509Name;import org.bouncycastle.jce.provider.X509CRLObject;/** * class to produce an X.509 Version 2 CRL. * <p> * @deprecated use the equivalent class in org.bouncycastle.x509 */public class X509V2CRLGenerator{    private SimpleDateFormat            dateF = new SimpleDateFormat("yyMMddHHmmss");    private SimpleTimeZone              tz = new SimpleTimeZone(0, "Z");    private V2TBSCertListGenerator      tbsGen;    private DERObjectIdentifier         sigOID;    private AlgorithmIdentifier         sigAlgId;    private String                      signatureAlgorithm;    private Hashtable                   extensions = null;    private Vector                      extOrdering = null;    private static Hashtable            algorithms = new Hashtable();    static    {        algorithms.put("MD2WITHRSAENCRYPTION", new DERObjectIdentifier("1.2.840.113549.1.1.2"));        algorithms.put("MD2WITHRSA", new DERObjectIdentifier("1.2.840.113549.1.1.2"));        algorithms.put("MD5WITHRSAENCRYPTION", new DERObjectIdentifier("1.2.840.113549.1.1.4"));        algorithms.put("MD5WITHRSA", new DERObjectIdentifier("1.2.840.113549.1.1.4"));        algorithms.put("SHA1WITHRSAENCRYPTION", new DERObjectIdentifier("1.2.840.113549.1.1.5"));        algorithms.put("SHA1WITHRSA", new DERObjectIdentifier("1.2.840.113549.1.1.5"));        algorithms.put("RIPEMD160WITHRSAENCRYPTION", new DERObjectIdentifier("1.3.36.3.3.1.2"));        algorithms.put("RIPEMD160WITHRSA", new DERObjectIdentifier("1.3.36.3.3.1.2"));        algorithms.put("SHA1WITHDSA", new DERObjectIdentifier("1.2.840.10040.4.3"));        algorithms.put("DSAWITHSHA1", new DERObjectIdentifier("1.2.840.10040.4.3"));        algorithms.put("SHA1WITHECDSA", new DERObjectIdentifier("1.2.840.10045.4.1"));        algorithms.put("ECDSAWITHSHA1", new DERObjectIdentifier("1.2.840.10045.4.1"));    }    public X509V2CRLGenerator()    {        dateF.setTimeZone(tz);        tbsGen = new V2TBSCertListGenerator();    }    /**     * reset the generator     */    public void reset()    {        tbsGen = new V2TBSCertListGenerator();    }    /**     * Set the issuer distinguished name - the issuer is the entity whose private key is used to sign the     * certificate.     */    public void setIssuerDN(        X509Name   issuer)    {        tbsGen.setIssuer(issuer);    }    public void setThisUpdate(        Date    date)    {        tbsGen.setThisUpdate(new DERUTCTime(dateF.format(date) + "Z"));    }    public void setNextUpdate(        Date    date)    {        tbsGen.setNextUpdate(new DERUTCTime(dateF.format(date) + "Z"));    }    /**     * Reason being as indicated by ReasonFlags, i.e. ReasonFlags.KEY_COMPROMISE     * or 0 if ReasonFlags are not to be used     **/    public void addCRLEntry(BigInteger userCertificate, Date revocationDate, int reason)    {        tbsGen.addCRLEntry(new DERInteger(userCertificate), new DERUTCTime(dateF.format(revocationDate) + "Z"), reason);    }    public void setSignatureAlgorithm(        String  signatureAlgorithm)    {        this.signatureAlgorithm = signatureAlgorithm;        sigOID = (DERObjectIdentifier)algorithms.get(signatureAlgorithm.toUpperCase());        if (sigOID == null)        {            throw new IllegalArgumentException("Unknown signature type requested");        }        sigAlgId = new AlgorithmIdentifier(this.sigOID, null);        tbsGen.setSignature(sigAlgId);    }    /**     * add a given extension field for the standard extensions tag (tag 3)     */    public void addExtension(        String          OID,        boolean         critical,        DEREncodable    value)    {        this.addExtension(new DERObjectIdentifier(OID), critical, value);    }    /**     * add a given extension field for the standard extensions tag (tag 0)     */    public void addExtension(        DERObjectIdentifier OID,        boolean             critical,        DEREncodable        value)    {        if (extensions == null)        {            extensions = new Hashtable();            extOrdering = new Vector();        }        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 a given extension field for the standard extensions tag (tag 0)     */    public void addExtension(        String          OID,        boolean         critical,        byte[]          value)    {        this.addExtension(new DERObjectIdentifier(OID), critical, value);    }    /**     * add a given extension field for the standard extensions tag (tag 0)     */    public void addExtension(        DERObjectIdentifier OID,        boolean             critical,        byte[]              value)    {        if (extensions == null)        {            extensions = new Hashtable();            extOrdering = new Vector();        }        extensions.put(OID, new X509Extension(critical, new DEROctetString(value)));        extOrdering.addElement(OID);    }    /**     * generate an X509 CRL, based on the current issuer and subject     * using the default provider "BC".     */    public X509CRL generateX509CRL(        PrivateKey      key)        throws SecurityException, SignatureException, InvalidKeyException    {        try        {            return generateX509CRL(key, "BC", null);        }        catch (NoSuchProviderException e)        {            throw new SecurityException("BC provider not installed!");        }    }    /**     * generate an X509 CRL, based on the current issuer and subject     * using the default provider "BC" and an user defined SecureRandom object as     * source of randomness.     */    public X509CRL generateX509CRL(        PrivateKey      key,        SecureRandom    random)        throws SecurityException, SignatureException, InvalidKeyException    {        try        {            return generateX509CRL(key, "BC", random);        }        catch (NoSuchProviderException e)        {            throw new SecurityException("BC provider not installed!");        }    }    /**     * generate an X509 certificate, based on the current issuer and subject     * using the passed in provider for the signing.     */    public X509CRL generateX509CRL(        PrivateKey      key,        String          provider)        throws NoSuchProviderException, SecurityException, SignatureException, InvalidKeyException    {        return generateX509CRL(key, provider, null);    }    /**     * generate an X509 CRL, based on the current issuer and subject,     * using the passed in provider for the signing.     */    public X509CRL generateX509CRL(        PrivateKey      key,        String          provider,        SecureRandom    random)        throws NoSuchProviderException, SecurityException, SignatureException, InvalidKeyException    {        Signature sig = null;        try        {            sig = Signature.getInstance(sigOID.getId(), provider);        }        catch (NoSuchAlgorithmException ex)        {            try            {                sig = Signature.getInstance(signatureAlgorithm, provider);            }            catch (NoSuchAlgorithmException e)            {                throw new SecurityException("exception creating signature: " + e.toString());            }        }        if (random != null)        {            sig.initSign(key, random);        }        else        {            sig.initSign(key);        }        if (extensions != null)        {            tbsGen.setExtensions(new X509Extensions(extOrdering, extensions));        }        TBSCertList tbsCrl = tbsGen.generateTBSCertList();        try        {            ByteArrayOutputStream   bOut = new ByteArrayOutputStream();            DEROutputStream         dOut = new DEROutputStream(bOut);            dOut.writeObject(tbsCrl);            sig.update(bOut.toByteArray());        }        catch (Exception e)        {            throw new SecurityException("exception encoding TBS cert - " + e);        }        // Construct the CRL        ASN1EncodableVector  v = new ASN1EncodableVector();        v.add(tbsCrl);        v.add(sigAlgId);        v.add(new DERBitString(sig.sign()));        return new X509CRLObject(new CertificateList(new DERSequence(v)));    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本中文字幕一区二区视频 | 日韩精品午夜视频| 欧美韩国日本一区| 久久精品视频免费观看| 国产亚洲美州欧州综合国| 欧美成人一区二区| www亚洲一区| 国产精品欧美精品| 亚洲天天做日日做天天谢日日欢| 日韩毛片精品高清免费| 亚洲美女电影在线| 亚洲综合激情小说| 日本中文字幕一区二区有限公司| 麻豆中文一区二区| 粉嫩在线一区二区三区视频| 成人午夜免费av| 色婷婷精品久久二区二区蜜臀av| 欧美日韩一区不卡| 亚洲精品在线免费播放| 国产精品久久久久四虎| 亚洲国产aⅴ成人精品无吗| 爽好久久久欧美精品| 九九精品一区二区| 99国产精品国产精品久久| 欧美精品一二三| 久久嫩草精品久久久精品| **欧美大码日韩| 蜜乳av一区二区| www.爱久久.com| 欧美精品1区2区3区| 国产性做久久久久久| 亚洲综合在线视频| 狠狠色2019综合网| 色综合久久综合网欧美综合网 | 国产精品夜夜嗨| 日本韩国欧美国产| 日韩精品一区二| 洋洋成人永久网站入口| 久久精品国产网站| 欧美日韩在线播放一区| 久久久久久综合| 亚洲亚洲人成综合网络| 国产成人在线免费观看| 在线观看91精品国产麻豆| 国产农村妇女精品| 视频精品一区二区| 一本一本大道香蕉久在线精品| 日韩欧美国产一二三区| 亚洲综合色在线| 成人福利视频网站| 国产日韩欧美麻豆| 精品在线一区二区| 欧美另类z0zxhd电影| 国产精品久久777777| 精品一区二区三区视频在线观看| 一本大道久久a久久综合婷婷| 26uuuu精品一区二区| 无码av免费一区二区三区试看 | 亚洲国产cao| 91日韩精品一区| 中文av一区特黄| 国产v日产∨综合v精品视频| 精品国产免费人成电影在线观看四季| 亚洲国产日韩精品| 欧美伊人久久久久久久久影院 | 久久99精品久久只有精品| 欧美日韩国产中文| 五月婷婷综合网| 欧美日韩激情一区二区| 亚洲成人动漫av| 欧美片网站yy| 美女在线一区二区| 欧美精品一区视频| 国产精品一区二区三区网站| 精品国产sm最大网站| 国产一区二区三区日韩| 久久久av毛片精品| 成人天堂资源www在线| 国产精品乱人伦| 91丨国产丨九色丨pron| 亚洲男同性视频| 欧美视频在线一区二区三区 | 久久精品99久久久| 日韩一卡二卡三卡| 国产福利精品导航| 亚洲日本中文字幕区| 91久久香蕉国产日韩欧美9色| 一色桃子久久精品亚洲| 91美女精品福利| 午夜久久久久久电影| 日韩欧美国产成人一区二区| 久久福利资源站| 中文子幕无线码一区tr| 欧美午夜电影在线播放| 美日韩黄色大片| 国产精品免费视频网站| 欧美色涩在线第一页| 黄页网站大全一区二区| 亚洲国产岛国毛片在线| 91丨porny丨在线| 偷拍一区二区三区| 精品国产乱码久久久久久闺蜜| 国产精品一区二区黑丝| 亚洲精品日韩一| 日韩一区二区视频| 成人免费高清在线| 日日骚欧美日韩| 日本一区二区成人在线| 欧美日韩国产美女| 成人国产亚洲欧美成人综合网| 亚洲高清在线精品| 日本一区二区免费在线| 欧美视频在线播放| 懂色av一区二区夜夜嗨| 五月天网站亚洲| 亚洲欧洲三级电影| 精品国一区二区三区| 欧美吞精做爰啪啪高潮| 成人自拍视频在线| 日本va欧美va精品发布| 亚洲同性同志一二三专区| 日韩欧美的一区二区| 欧美日韩国产综合久久| av激情亚洲男人天堂| 精品一区二区精品| 亚洲国产精品综合小说图片区| 久久久天堂av| 日韩欧美一区二区三区在线| 欧美主播一区二区三区| a4yy欧美一区二区三区| 国产麻豆精品一区二区| 天天综合色天天| 亚洲国产精品久久艾草纯爱| 国产精品九色蝌蚪自拍| 久久嫩草精品久久久久| 精品久久国产97色综合| 日韩视频在线你懂得| 欧洲精品一区二区三区在线观看| 成人黄色av网站在线| 国产成人免费视频网站高清观看视频| 天堂在线亚洲视频| 亚洲国产视频一区| 亚洲国产视频一区| 亚洲一区二区欧美日韩 | 欧美一区二区成人6969| 在线观看亚洲专区| 在线精品亚洲一区二区不卡| 91在线国内视频| 成人aa视频在线观看| 波多野结衣在线一区| 粉嫩av一区二区三区| 成人高清视频免费观看| 成人精品视频一区二区三区 | 精品伊人久久久久7777人| 日韩激情av在线| 青青草97国产精品免费观看无弹窗版| 亚洲午夜电影网| 午夜不卡av免费| 久久国产成人午夜av影院| 国产精品亚洲人在线观看| 国v精品久久久网| 99久久伊人精品| 色综合咪咪久久| 正在播放亚洲一区| 欧美va天堂va视频va在线| 国产午夜精品福利| 中文字幕一区二区三区色视频| 中文字幕视频一区| 婷婷综合在线观看| 麻豆91在线播放| 国产成人精品免费在线| 99久久精品一区二区| 欧美性生交片4| 日韩你懂的在线观看| 国产清纯白嫩初高生在线观看91| 欧美国产精品中文字幕| 亚洲一区在线免费观看| 九九久久精品视频| 成人免费视频一区二区| 欧美网站大全在线观看| 欧美成va人片在线观看| 中文字幕制服丝袜一区二区三区| 一区二区三区加勒比av| 久久精品999| jlzzjlzz国产精品久久| 制服丝袜在线91| 国产精品久久三区| 日韩专区欧美专区| av高清久久久| 日韩三级高清在线| 亚洲欧美日韩人成在线播放| 日本中文一区二区三区| 99热在这里有精品免费| 欧美一区二区国产| 亚洲女人的天堂| 高清国产午夜精品久久久久久| 精品视频1区2区| 日韩毛片在线免费观看| 国产综合成人久久大片91| 欧美日韩大陆一区二区|