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

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

?? x509v2attributecertificategenerator.java

?? 內容:基于jdk1.4的加密算法的具體實現
?? JAVA
字號:
package org.bouncycastle.x509;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.util.Date;import java.util.Hashtable;import java.util.Iterator;import java.util.Vector;import org.bouncycastle.asn1.ASN1Encodable;import org.bouncycastle.asn1.ASN1EncodableVector;import org.bouncycastle.asn1.DERBitString;import org.bouncycastle.asn1.DERGeneralizedTime;import org.bouncycastle.asn1.DERInteger;import org.bouncycastle.asn1.DERNull;import org.bouncycastle.asn1.DERObjectIdentifier;import org.bouncycastle.asn1.DEROctetString;import org.bouncycastle.asn1.DEROutputStream;import org.bouncycastle.asn1.DERSequence;import org.bouncycastle.asn1.x509.AlgorithmIdentifier;import org.bouncycastle.asn1.x509.AttCertIssuer;import org.bouncycastle.asn1.x509.Attribute;import org.bouncycastle.asn1.x509.AttributeCertificate;import org.bouncycastle.asn1.x509.V2AttributeCertificateInfoGenerator;import org.bouncycastle.asn1.x509.AttributeCertificateInfo;import org.bouncycastle.asn1.x509.X509Extension;import org.bouncycastle.asn1.x509.X509Extensions;/** * class to produce an X.509 Version 2 AttributeCertificate. */public class X509V2AttributeCertificateGenerator{    private V2AttributeCertificateInfoGenerator   acInfoGen;    private DERObjectIdentifier         sigOID;    private AlgorithmIdentifier         sigAlgId;    private String                      signatureAlgorithm;    private Hashtable                   extensions = null;    private Vector                      extOrdering = null;    public X509V2AttributeCertificateGenerator()    {        acInfoGen = new V2AttributeCertificateInfoGenerator();    }    /**     * reset the generator     */    public void reset()    {        acInfoGen = new V2AttributeCertificateInfoGenerator();        extensions = null;        extOrdering = null;    }    /**     * Set the Holder of this Attribute Certificate     */    public void setHolder(        AttributeCertificateHolder     holder)    {        acInfoGen.setHolder(holder.holder);    }    /**     * Set the issuer     */    public void setIssuer(        AttributeCertificateIssuer  issuer)    {        acInfoGen.setIssuer(AttCertIssuer.getInstance(issuer.form));    }    /**     * set the serial number for the certificate.     */    public void setSerialNumber(        BigInteger      serialNumber)    {        acInfoGen.setSerialNumber(new DERInteger(serialNumber));    }    public void setNotBefore(        Date    date)    {        acInfoGen.setStartDate(new DERGeneralizedTime(date));    }    public void setNotAfter(        Date    date)    {        acInfoGen.setEndDate(new DERGeneralizedTime(date));    }    /**     * Set the signature algorithm. This can be either a name or an OID, names     * are treated as case insensitive.     *      * @param signatureAlgorithm string representation of the algorithm name.     */    public void setSignatureAlgorithm(        String  signatureAlgorithm)    {        this.signatureAlgorithm = signatureAlgorithm;        try        {            sigOID = X509Util.getAlgorithmOID(signatureAlgorithm);        }        catch (Exception e)        {            throw new IllegalArgumentException("Unknown signature type requested");        }        sigAlgId = new AlgorithmIdentifier(this.sigOID, new DERNull());        acInfoGen.setSignature(sigAlgId);    }        /**     * add an attribute     */    public void addAttribute(        X509Attribute       attribute)    {        acInfoGen.addAttribute(Attribute.getInstance(attribute.toASN1Object()));    }    public void setIssuerUniqueId(        boolean[] iui)    {        // [TODO] convert boolean array to bit string        //acInfoGen.setIssuerUniqueID(iui);        throw new RuntimeException("not implemented (yet)");    }         /**     * add a given extension field for the standard extensions tag     * @throws IOException     */    public void addExtension(        String          OID,        boolean         critical,        ASN1Encodable   value)        throws IOException    {        this.addExtension(OID, critical, value.getEncoded());    }    /**     * add a given extension field for the standard extensions tag     * The value parameter becomes the contents of the octet string associated     * with the extension.     */    public void addExtension(        String          OID,        boolean         critical,        byte[]          value)    {        if (extensions == null)        {            extensions = new Hashtable();            extOrdering = new Vector();        }        DERObjectIdentifier oid = new DERObjectIdentifier(OID);                extensions.put(oid, new X509Extension(critical, new DEROctetString(value)));        extOrdering.addElement(oid);    }    /**     * generate an X509 certificate, based on the current issuer and subject,     * using the passed in provider for the signing.     */    public X509AttributeCertificate generateCertificate(        PrivateKey      key,        String          provider)        throws NoSuchProviderException, SecurityException, SignatureException, InvalidKeyException    {        return generateCertificate(key, provider, null);    }    /**     * generate an X509 certificate, based on the current issuer and subject,     * using the passed in provider for the signing and the supplied source     * of randomness, if required.     */    public X509AttributeCertificate generateCertificate(        PrivateKey      key,        String          provider,        SecureRandom    random)        throws NoSuchProviderException, SecurityException, SignatureException, InvalidKeyException    {        Signature sig = null;        if (sigOID == null)        {            throw new IllegalStateException("no signature algorithm specified");        }        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)        {            acInfoGen.setExtensions(new X509Extensions(extOrdering, extensions));        }        AttributeCertificateInfo acInfo = acInfoGen.generateAttributeCertificateInfo();        try        {            ByteArrayOutputStream   bOut = new ByteArrayOutputStream();            DEROutputStream         dOut = new DEROutputStream(bOut);            dOut.writeObject(acInfo);            sig.update(bOut.toByteArray());        }        catch (Exception e)        {            throw new SecurityException("exception encoding Attribute cert - " + e);        }        ASN1EncodableVector  v = new ASN1EncodableVector();        v.add(acInfo);        v.add(sigAlgId);        v.add(new DERBitString(sig.sign()));        try        {            return new X509V2AttributeCertificate(new AttributeCertificate(new DERSequence(v)));        }        catch (IOException e)        {            throw new RuntimeException("constructed invalid certificate!");        }    }        /**     * Return an iterator of the signature names supported by the generator.     *      * @return an iterator containing recognised names.     */    public Iterator getSignatureAlgNames()    {        return X509Util.getAlgNames();    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产成人一区二区三区| 国产99精品国产| 中文字幕欧美三区| 久久精品一区二区三区不卡| 欧美一级片在线看| 日韩一级完整毛片| 亚洲精品在线免费播放| 日韩美女视频一区二区在线观看| 欧美一级欧美三级在线观看| 日韩一区二区精品在线观看| www国产成人| 欧美激情一区二区三区不卡 | 日本亚洲天堂网| 日日欢夜夜爽一区| 精品一区精品二区高清| 国产精品自产自拍| 91免费观看在线| 欧美日韩国产三级| 日韩免费电影一区| 亚洲欧洲精品一区二区精品久久久| 国产精品久久午夜| 亚洲电影第三页| 激情综合色播激情啊| 成人黄色av网站在线| 欧美主播一区二区三区美女| 欧美一级片在线| 国产精品水嫩水嫩| 午夜电影一区二区三区| 极品少妇xxxx精品少妇偷拍| 91伊人久久大香线蕉| 欧美日韩二区三区| 久久久久高清精品| 亚洲一区二区视频在线| 免费日韩伦理电影| 99精品国产视频| 欧美成人乱码一区二区三区| 国产欧美日韩综合| 爽好久久久欧美精品| 成人免费视频caoporn| 欧美日韩国产小视频在线观看| 精品欧美一区二区久久| 亚洲免费观看在线视频| 麻豆精品新av中文字幕| 欧美午夜电影网| 国产欧美一区二区三区在线看蜜臀| 一区二区三区在线免费播放| 国产一区二区精品在线观看| 色婷婷综合久久久中文字幕| 久久中文字幕电影| 日韩有码一区二区三区| 99久久亚洲一区二区三区青草| 欧美成人三级电影在线| 夜夜嗨av一区二区三区| 成人av电影在线观看| 欧美本精品男人aⅴ天堂| 亚洲成人免费在线| 色域天天综合网| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 亚洲国产美国国产综合一区二区| 国产一区二区电影| 精品国产一区二区国模嫣然| 亚洲妇女屁股眼交7| 色欧美片视频在线观看在线视频| 国产欧美一区二区精品婷婷 | 99久久亚洲一区二区三区青草| 精品国产乱码久久久久久久| 蜜桃av一区二区| 欧美精品第一页| 午夜欧美电影在线观看| 欧美制服丝袜第一页| 亚洲精品亚洲人成人网| 色综合久久久久综合99| 中文字幕一区二区三区av| 成人免费观看视频| 亚洲欧洲日韩一区二区三区| 福利一区二区在线| 中文字幕在线观看一区| 成人av网址在线观看| 国产精品天美传媒沈樵| 97精品国产97久久久久久久久久久久 | 欧美日韩二区三区| 日韩电影免费在线观看网站| 欧美一区二区久久久| 日本成人在线视频网站| 欧美大黄免费观看| 国产一区二区剧情av在线| 国产欧美日韩卡一| 91色porny蝌蚪| 亚洲国产欧美一区二区三区丁香婷 | 国产麻豆视频一区二区| 久久久久国色av免费看影院| 国产高清不卡一区| 国产精品色婷婷| 色综合久久天天| 日韩高清不卡一区| 国产偷国产偷精品高清尤物| 成人黄色软件下载| 亚洲va韩国va欧美va精品| 日韩一区二区麻豆国产| 成人性视频免费网站| 一区二区三区国产| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | youjizz国产精品| 亚洲综合小说图片| 日韩精品一区在线| av中文字幕亚洲| 午夜电影久久久| 国产欧美一区二区三区鸳鸯浴| 91在线视频播放| 久久99国产精品成人| 最近日韩中文字幕| 欧美一级高清片| 色婷婷久久久久swag精品| 久久精品国内一区二区三区 | 欧美影院一区二区| 狠狠色丁香婷综合久久| 亚洲黄色小视频| xf在线a精品一区二区视频网站| eeuss鲁片一区二区三区 | 久久综合网色—综合色88| 91在线国产福利| 激情综合网激情| 亚洲午夜成aⅴ人片| 久久久av毛片精品| 欧美日韩视频一区二区| 成人国产电影网| 国产精品一区在线观看乱码| 亚洲香蕉伊在人在线观| 中文字幕一区二区三区av| 久久亚洲捆绑美女| 欧美精品在线视频| 欧美最猛黑人xxxxx猛交| 成人小视频免费在线观看| 激情成人午夜视频| 日本女优在线视频一区二区| 一区二区三区电影在线播| 亚洲国产精品ⅴa在线观看| 欧美成人bangbros| 欧美一区二区网站| 欧美日韩在线精品一区二区三区激情| 国产大片一区二区| 国产麻豆欧美日韩一区| 日韩成人午夜电影| 日韩综合小视频| 午夜精品视频在线观看| 亚洲国产精品精华液网站| 亚洲欧美二区三区| 亚洲欧美日韩一区| 亚洲精品五月天| 亚洲综合成人在线视频| 亚洲欧美日韩系列| 一区二区三区高清| 亚洲mv在线观看| 天堂蜜桃91精品| 久久国产精品色| 久久99精品久久久久婷婷| 久久精品72免费观看| 麻豆精品视频在线观看视频| 日本成人中文字幕在线视频| 久久精品噜噜噜成人88aⅴ| 黄网站免费久久| 国产精品一区二区三区99| 国产成a人无v码亚洲福利| 成人黄色a**站在线观看| 色综合中文字幕国产 | ww久久中文字幕| 中文字幕国产一区| 亚洲人成人一区二区在线观看 | 国产精品免费视频一区| 亚洲欧洲无码一区二区三区| 亚洲免费在线电影| 日韩高清电影一区| 国产精一品亚洲二区在线视频| 国产成人免费视频精品含羞草妖精| 国产精品一二三四区| 99久久国产免费看| 欧美色倩网站大全免费| 精品欧美一区二区久久| 国产精品乱人伦| 亚洲不卡一区二区三区| 久久97超碰色| 一本在线高清不卡dvd| 欧美一区二区三区白人| 国产精品视频在线看| 亚洲香蕉伊在人在线观| 国产乱码精品一区二区三区忘忧草 | 亚洲永久精品国产| 美女视频网站黄色亚洲| 成人激情动漫在线观看| 欧美日韩第一区日日骚| 中文字幕乱码亚洲精品一区| 亚洲综合久久av| 国产成人h网站| 欧美日韩aaaaa| 中文字幕一区二区日韩精品绯色| 日韩精品91亚洲二区在线观看| 国产成人高清在线| 日韩欧美中文字幕制服| 国产精品嫩草影院av蜜臀| 青青草精品视频|