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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? batchmakep12.java

?? 一套JAVA的CA證書簽發(fā)系統(tǒng).
?? JAVA
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
/************************************************************************* *                                                                       * *  EJBCA: The OpenSource Certificate Authority                          * *                                                                       * *  This software is free software; you can redistribute it and/or       * *  modify it under the terms of the GNU Lesser General Public           * *  License as published by the Free Software Foundation; either         * *  version 2.1 of the License, or any later version.                    * *                                                                       * *  See terms of license at gnu.org.                                     * *                                                                       * *************************************************************************/ package se.anatom.ejbca.batch;import java.io.*;import java.security.GeneralSecurityException;import java.security.KeyPair;import java.security.KeyStore;import java.security.KeyStoreException;import java.security.NoSuchAlgorithmException;import java.security.NoSuchProviderException;import java.security.UnrecoverableKeyException;import java.security.cert.*;import java.util.Collection;import java.util.Iterator;import javax.naming.Context;import javax.naming.NamingException;import org.apache.log4j.Logger;import org.apache.log4j.PropertyConfigurator;import se.anatom.ejbca.ra.raadmin.IRaAdminSessionHome;import se.anatom.ejbca.ra.raadmin.IRaAdminSessionRemote;import se.anatom.ejbca.SecConst;import se.anatom.ejbca.ca.sign.ISignSessionHome;import se.anatom.ejbca.ca.sign.ISignSessionRemote;import se.anatom.ejbca.keyrecovery.IKeyRecoverySessionHome;import se.anatom.ejbca.keyrecovery.IKeyRecoverySessionRemote;import se.anatom.ejbca.keyrecovery.KeyRecoveryData;import se.anatom.ejbca.log.Admin;import se.anatom.ejbca.ra.IUserAdminSessionHome;import se.anatom.ejbca.ra.IUserAdminSessionRemote;import se.anatom.ejbca.ra.UserAdminData;import se.anatom.ejbca.ra.UserDataLocal;import se.anatom.ejbca.util.CertTools;import se.anatom.ejbca.util.KeyTools;import se.anatom.ejbca.util.P12toPEM;/** * This class generates keys and request certificates for all users with status NEW. The result is * generated PKCS12-files. * * @version $Id: BatchMakeP12.java,v 1.48 2004/04/16 07:38:56 anatom Exp $ */public class BatchMakeP12 {    /** For logging */    private static Logger log = Logger.getLogger(BatchMakeP12.class);    /** Where created P12-files are stored, default username.p12 */    private String mainStoreDir = "";    private IUserAdminSessionHome adminhome;    private IRaAdminSessionHome raadminhome;        private ISignSessionHome signhome;    private IKeyRecoverySessionHome keyrecoveryhome;    private Admin administrator;    private boolean usekeyrecovery = false;    /**     * Gets an initial context     *     * @return new initial context     *     * @throws NamingException if we can't find jndi name     */    public static Context getInitialContext() throws NamingException {        log.debug(">GetInitialContext");        // jndi.properties must exist in classpath        Context ctx = new javax.naming.InitialContext();        log.debug("<GetInitialContext");        return ctx;    }    /**     * Creates new BatchMakeP12 object.     *     * @exception javax.naming.NamingException     * @exception CreateException     * @exception RemoteException     */    public BatchMakeP12()        throws javax.naming.NamingException, javax.ejb.CreateException, java.rmi.RemoteException,             java.io.IOException {        log.debug(">BatchMakeP12:");        administrator = new Admin(Admin.TYPE_BATCHCOMMANDLINE_USER);        // Bouncy Castle security provider        CertTools.installBCProvider();        Context jndiContext = getInitialContext();        Object obj = jndiContext.lookup("UserAdminSession");        adminhome = (IUserAdminSessionHome) javax.rmi.PortableRemoteObject.narrow(obj, IUserAdminSessionHome.class);        obj = jndiContext.lookup("RaAdminSession");        raadminhome = (IRaAdminSessionHome) javax.rmi.PortableRemoteObject.narrow(obj, IRaAdminSessionHome.class);                obj = jndiContext.lookup("RSASignSession");        signhome = (ISignSessionHome) javax.rmi.PortableRemoteObject.narrow(obj, ISignSessionHome.class);        IRaAdminSessionRemote raadmin = raadminhome.create();                usekeyrecovery = (raadmin.loadGlobalConfiguration(administrator)).getEnableKeyRecovery();        if(usekeyrecovery){          obj = jndiContext.lookup("KeyRecoverySession");          keyrecoveryhome = (IKeyRecoverySessionHome) javax.rmi.PortableRemoteObject.narrow(obj, IKeyRecoverySessionHome.class);        }                 log.debug("<BatchMakeP12:");    } // BatchMakeP12    /**     * Gets CA-certificate(s).     *     * @return X509Certificate     */    private X509Certificate getCACertificate(int caid)      throws Exception {        log.debug(">getCACertificate()");        ISignSessionRemote ss = signhome.create();        Certificate[] chain = (Certificate[]) ss.getCertificateChain(administrator, caid).toArray(new Certificate[0]);        X509Certificate rootcert = (X509Certificate)chain[chain.length-1];        log.debug("<getCACertificate()");        return rootcert;    } // getCACertificate    /**     * Gets full CA-certificate chain.     *     * @return Certificate[]     */    private Certificate[] getCACertChain(int caid)      throws Exception {        log.debug(">getCACertChain()");        ISignSessionRemote ss = signhome.create();        Certificate[] chain = (Certificate[]) ss.getCertificateChain(administrator, caid).toArray(new Certificate[0]);        log.debug("<getCACertChain()");        return chain;    } // getCACertificate    /**     * Sets the location where generated P12-files will be stored, full name will be:     * mainStoreDir/username.p12.     *     * @param dir existing directory     */    public void setMainStoreDir(String dir) {        mainStoreDir = dir;    }    /**     * Stores keystore.     *     * @param ks KeyStore     * @param username username, the owner of the keystore     * @param kspassword the password used to protect the peystore     * @param createJKS if a jks should be created     * @param createPEM if pem files should be created     *     * @exception IOException if directory to store keystore cannot be created     */    private void storeKeyStore(KeyStore ks, String username, String kspassword, boolean createJKS,        boolean createPEM)        throws IOException, KeyStoreException, UnrecoverableKeyException, NoSuchAlgorithmException,             NoSuchProviderException, CertificateException {        log.debug(">storeKeyStore: ks=" + ks.toString() + ", username=" + username);        // Where to store it?        if (mainStoreDir == null) {            throw new IOException("Can't find directory to store keystore in.");        }        String keyStoreFilename = mainStoreDir + "/" + username;        if (createJKS) {            keyStoreFilename += ".jks";        } else {            keyStoreFilename += ".p12";        }        // If we should also create PEM-files, do that        if (createPEM) {            String PEMfilename = mainStoreDir + "/pem";            P12toPEM p12topem = new P12toPEM(ks, kspassword, true);            p12topem.setExportPath(PEMfilename);            p12topem.createPEM();        }else{			FileOutputStream os = new FileOutputStream(keyStoreFilename);			ks.store(os, kspassword.toCharArray());        	        }        log.debug("Keystore stored in " + keyStoreFilename);        log.debug("<storeKeyStore: ks=" + ks.toString() + ", username=" + username);    } // storeKeyStore    /**     * Creates files for a user, sends request to CA, receives reploy and creates P12.     *     * @param username username     * @param password user's password     * @param id of CA used to issue the keystore certificates     * @param rsaKeys a previously generated RSA keypair     * @param createJKS if a jks should be created     * @param createPEM if pem files should be created     * @param savekeys if generated keys should be saved in db (key recovery)     *     * @exception Exception if the certificate is not an X509 certificate     * @exception Exception if the CA-certificate is corrupt     * @exception Exception if verification of certificate or CA-cert fails     * @exception Exception if keyfile (generated by ourselves) is corrupt     */    private void createUser(String username, String password, int caid, KeyPair rsaKeys, boolean createJKS, boolean createPEM, boolean savekeys)      throws Exception {        log.debug(">createUser: username=" + username);        // Send the certificate request to the CA        ISignSessionRemote ss = signhome.create();        X509Certificate cert = (X509Certificate) ss.createCertificate(administrator, username,                password, rsaKeys.getPublic());        //System.out.println("issuer " + CertTools.getIssuerDN(cert) + ", " + cert.getClass().getName());        // Make a certificate chain from the certificate and the CA-certificate        Certificate[] cachain = getCACertChain(caid);        // Verify CA-certificate        if (CertTools.isSelfSigned((X509Certificate) cachain[cachain.length - 1])) {            try {                cachain[cachain.length - 1].verify(cachain[cachain.length - 1].getPublicKey());            } catch (GeneralSecurityException se) {                throw new Exception("RootCA certificate does not verify");            }        } else {            throw new Exception("RootCA certificate not self-signed");        }        // Verify that the user-certificate is signed by our CA        try {            cert.verify(cachain[0].getPublicKey());        } catch (GeneralSecurityException se) {            throw new Exception("Generated certificate does not verify using CA-certificate.");        }        if (usekeyrecovery && savekeys) {            // Save generated keys to database.            IKeyRecoverySessionRemote keyrecoverysession = keyrecoveryhome.create();            keyrecoverysession.addKeyRecoveryData(administrator, cert, username, rsaKeys);        }        // Use CN if as alias in the keystore, if CN is not present use username        String alias = CertTools.getPartFromDN(CertTools.getSubjectDN(cert), "CN");        if (alias == null) alias = username;        // Store keys and certificates in keystore.        KeyStore ks = null;        if (createJKS) {            ks = KeyTools.createJKS(alias, rsaKeys.getPrivate(), password, cert, cachain);        } else {            ks = KeyTools.createP12(alias, rsaKeys.getPrivate(), cert, cachain);        }        storeKeyStore(ks, username, password, createJKS, createPEM);        log.info("Created Keystore for " + username + ".");        log.debug("<createUser: username=" + username);    } // createUser    /**     * Does the deed with one user...     *     * @param data user data for user     * @param createJKS if a jks should be created     * @param createPEM if pem files should be created

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
五月激情综合网| 欧美—级在线免费片| 亚洲v日本v欧美v久久精品| 91捆绑美女网站| 亚洲久本草在线中文字幕| 97精品久久久久中文字幕| 国产精品久久久久毛片软件| 成人av一区二区三区| 中文字幕日本乱码精品影院| 在线一区二区观看| 视频在线观看国产精品| 精品免费99久久| 国产99久久久久| 一区二区三区鲁丝不卡| 91精品国产综合久久精品app| 精品影视av免费| 国产精品国产三级国产普通话三级| 一本色道久久综合亚洲aⅴ蜜桃| 亚洲第一福利一区| 精品乱码亚洲一区二区不卡| 国产一区二区在线观看免费| 亚洲欧美在线视频观看| 欧美日韩精品一区二区三区蜜桃| 久久99精品网久久| 亚洲欧洲av在线| 91精品综合久久久久久| 成人午夜大片免费观看| 亚洲图片自拍偷拍| 久久久久久久久久看片| 色哟哟亚洲精品| 加勒比av一区二区| 一区二区三区美女| 久久久久久久久久久久久女国产乱 | 欧美激情综合五月色丁香| 色婷婷激情一区二区三区| 国模娜娜一区二区三区| 亚洲一区二区三区影院| 久久综合成人精品亚洲另类欧美| 在线观看日韩精品| 国产不卡高清在线观看视频| 亚洲国产精品麻豆| 中文字幕一区二区三区四区不卡 | 欧美一区二视频| bt7086福利一区国产| 麻豆久久一区二区| 亚洲一区二区三区不卡国产欧美| 久久久蜜桃精品| 91精品国产欧美日韩| 99精品欧美一区二区蜜桃免费| 久久不见久久见免费视频1| 亚洲理论在线观看| 国产日韩欧美综合一区| 欧美一区二区黄色| 欧美亚洲国产一区二区三区va| 国产精品夜夜爽| 久久9热精品视频| 亚洲成人你懂的| 一区二区三区不卡在线观看| 中文一区在线播放| 久久久精品人体av艺术| 欧美大片一区二区三区| 欧美视频你懂的| 91麻豆自制传媒国产之光| 丁香婷婷综合网| 国产成人精品亚洲777人妖| 久久91精品国产91久久小草| 日韩成人一区二区| 亚洲成av人综合在线观看| 亚洲欧美日韩国产综合| 国产精品传媒视频| 国产精品久久久久aaaa樱花| 亚洲国产精品二十页| 欧美成人福利视频| 欧美精品一区二区高清在线观看| 56国语精品自产拍在线观看| 欧美日韩激情一区| 欧美三级欧美一级| 欧美日韩国产综合视频在线观看 | 极品少妇一区二区| 久久爱www久久做| 美女尤物国产一区| 激情欧美日韩一区二区| 国产精品香蕉一区二区三区| 高潮精品一区videoshd| 成人精品一区二区三区四区| 成人精品视频网站| 99精品在线免费| 在线亚洲+欧美+日本专区| 精品视频一区二区三区免费| 欧美日韩视频在线一区二区| 欧美精选一区二区| 91精品国产免费| 久久久精品免费网站| 国产精品素人视频| 日韩理论在线观看| 亚洲国产精品久久久久秋霞影院 | 久久99久久久久| 国模套图日韩精品一区二区| 国产高清精品在线| bt欧美亚洲午夜电影天堂| 日本韩国精品在线| 欧美一区二区三区免费在线看| 日韩视频在线你懂得| 久久久精品日韩欧美| 亚洲伦理在线免费看| 性做久久久久久久久| 国内精品国产成人国产三级粉色 | 欧美激情一区二区三区不卡| 国产精品短视频| 亚洲国产精品尤物yw在线观看| 美女视频一区二区三区| 丁香桃色午夜亚洲一区二区三区| 色婷婷国产精品综合在线观看| 欧美日韩久久久久久| 久久久久久久av麻豆果冻| 亚洲色图在线视频| 日韩高清中文字幕一区| 成人av网站在线| 777欧美精品| 日本一区二区电影| 日韩不卡一区二区三区| 成人污污视频在线观看| 欧美伦理视频网站| 国产精品丝袜91| 日本强好片久久久久久aaa| 成人av在线影院| 日韩精品中文字幕在线不卡尤物| 国产精品国产三级国产专播品爱网| 日韩专区中文字幕一区二区| 成人黄色av网站在线| 欧美成人精品1314www| 亚洲永久免费av| 国产99一区视频免费| 欧美一区二区三区色| 一区二区三区在线免费观看 | 成年人午夜久久久| 欧美一级免费观看| 亚洲精品五月天| 国产精品一二三四五| 91精品国产一区二区三区香蕉| 最新日韩av在线| 成人av在线看| 久久美女高清视频| 天堂久久久久va久久久久| 色综合中文字幕| 亚洲欧洲av另类| 风间由美一区二区三区在线观看| 欧美一区二区三区日韩| 午夜激情久久久| 欧美中文字幕一区二区三区| 国产精品三级视频| 经典三级视频一区| 欧美一区二区三区免费视频| 亚洲国产cao| 在线观看视频一区| 亚洲自拍另类综合| 99视频一区二区三区| 中文字幕日本乱码精品影院| 国产精品一区二区三区99| 久久综合狠狠综合| 一本到三区不卡视频| 亚洲欧洲日韩av| 色综合久久精品| 亚洲日本护士毛茸茸| 国产丶欧美丶日本不卡视频| 成人v精品蜜桃久久一区| 欧美经典一区二区| 国产一区二区在线观看免费| 久久久精品tv| 国内不卡的二区三区中文字幕 | 国产一区视频导航| 欧美日韩电影在线| 一区二区三区在线观看动漫 | 国产一区欧美二区| 日韩一区二区麻豆国产| 天堂在线一区二区| 91国产免费看| 亚洲精品中文在线观看| www.日韩在线| 国产精品久久三区| 91在线观看视频| 国产精品理论在线观看| av资源网一区| 国产精品久久久久婷婷二区次| 成人黄页在线观看| 亚洲精品国产高清久久伦理二区| av一本久道久久综合久久鬼色| 国产精品色一区二区三区| 一本色道久久综合亚洲aⅴ蜜桃| 亚洲欧洲日韩女同| 在线视频中文字幕一区二区| 1024精品合集| 欧美日韩国产免费一区二区 | 亚洲aⅴ怡春院| 7777精品伊人久久久大香线蕉 | 欧美电影免费观看高清完整版| 日韩精品一二三区| 欧美一区二区私人影院日本| 黑人巨大精品欧美黑白配亚洲| 欧美精品一区二区久久久|