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

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

?? certreqservlet.java

?? 一套JAVA的CA證書簽發系統.
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/************************************************************************* *                                                                       * *  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.apply;import java.io.*;import java.security.GeneralSecurityException;import java.security.KeyPair;import java.security.KeyStore;import java.security.PrivateKey;import java.security.cert.*;import java.util.*;import javax.ejb.*;import javax.naming.InitialContext;import javax.rmi.PortableRemoteObject;import javax.servlet.*;import javax.servlet.http.*;import org.apache.log4j.Logger;import se.anatom.ejbca.SecConst;import se.anatom.ejbca.ca.exception.AuthLoginException;import se.anatom.ejbca.ca.exception.AuthStatusException;import se.anatom.ejbca.ca.exception.SignRequestException;import se.anatom.ejbca.ca.exception.SignRequestSignatureException;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.ra.raadmin.IRaAdminSessionRemote;import se.anatom.ejbca.ra.raadmin.IRaAdminSessionHome;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.UserDataRemote;import se.anatom.ejbca.util.Base64;import se.anatom.ejbca.util.CertTools;import se.anatom.ejbca.util.KeyTools;/** * Servlet used to install a private key with a corresponding certificate in a browser. A new * certificate is installed in the browser in following steps:<br> * 1. The key pair is generated by the browser. <br> * 2. The public part is sent to the servlet in a POST together with user info ("pkcs10|keygen", * "inst", "user", "password"). For internet explorer the public key is sent as a PKCS10 * certificate request. <br> * 3. The new certificate is created by calling the RSASignSession session bean. <br> * 4. A page containing the new certificate and a script that installs it is returned to the * browser. <br> *  * <p></p> *  * <p> * The following initiation parameters are needed by this servlet: <br> * "responseTemplate" file that defines the response to the user (IE). It should have one line * with the text "cert =". This line is replaced with the new certificate. "keyStorePass". * Password needed to load the key-store. If this parameter is none existing it is assumed that no * password is needed. The path could be absolute or relative.<br> * </p> * * @author Original code by Lars Silv?n * @version $Id: CertReqServlet.java,v 1.45.2.1 2004/06/22 11:04:12 herrvendil Exp $ */public class CertReqServlet extends HttpServlet {    private static Logger log = Logger.getLogger(CertReqServlet.class);    private ISignSessionHome signsessionhome = null;    private IUserAdminSessionHome useradminhome = null;    private IRaAdminSessionHome raadminhome = null;    private IKeyRecoverySessionHome keyrecoveryhome = null;    private byte[] bagattributes = "Bag Attributes\n".getBytes();    private byte[] friendlyname = "    friendlyName: ".getBytes();    private byte[] subject = "subject=/".getBytes();    private byte[] issuer = "issuer=/".getBytes();    private byte[] beginCertificate = "-----BEGIN CERTIFICATE-----".getBytes();    private byte[] endCertificate = "-----END CERTIFICATE-----".getBytes();    private byte[] beginPrivateKey = "-----BEGIN PRIVATE KEY-----".getBytes();    private byte[] endPrivateKey = "-----END PRIVATE KEY-----".getBytes();    private byte[] NL = "\n".getBytes();    /**     * Servlet init     *     * @param config servlet configuration     *     * @throws ServletException on error     */    public void init(ServletConfig config) throws ServletException {        super.init(config);        try {            // Install BouncyCastle provider            CertTools.installBCProvider();            // Get EJB context and home interfaces            InitialContext ctx = new InitialContext();            signsessionhome = (ISignSessionHome) PortableRemoteObject.narrow(                      ctx.lookup("RSASignSession"), ISignSessionHome.class );            useradminhome = (IUserAdminSessionHome) PortableRemoteObject.narrow(                             ctx.lookup("UserAdminSession"), IUserAdminSessionHome.class );            raadminhome   = (IRaAdminSessionHome) PortableRemoteObject.narrow(                             ctx.lookup("RaAdminSession"), IRaAdminSessionHome.class );                        keyrecoveryhome = (IKeyRecoverySessionHome) PortableRemoteObject.narrow(                             ctx.lookup("KeyRecoverySession"), IKeyRecoverySessionHome.class );        } catch( Exception e ) {            throw new ServletException(e);        }    }    /**     * Handles HTTP POST     *     * @param request servlet request     * @param response servlet response     *     * @throws IOException input/output error     * @throws ServletException on error     */    public void doPost(HttpServletRequest request, HttpServletResponse response)        throws IOException, ServletException {        ServletDebug debug = new ServletDebug(request, response);        boolean usekeyrecovery = false;        try {            String username = request.getParameter("user");            String password = request.getParameter("password");            String keylengthstring = request.getParameter("keylength");			int keylength = 1024;			            int resulttype = 0;            if(request.getParameter("resulttype") != null)              resulttype = Integer.parseInt(request.getParameter("resulttype")); // Indicates if certificate or PKCS7 should be returned on manual PKCS10 request.                        String classid = "clsid:127698e4-e730-4e5c-a2b1-21490a70c8a1\" CODEBASE=\"/CertControl/xenroll.cab#Version=5,131,3659,0";            if ((request.getParameter("classid") != null) &&                    !request.getParameter("classid").equals("")) {                classid = request.getParameter("classid");            }            if (keylengthstring != null) {                keylength = Integer.parseInt(keylengthstring);            }            Admin administrator = new Admin(Admin.TYPE_PUBLIC_WEB_USER, request.getRemoteAddr());            IUserAdminSessionRemote adminsession = useradminhome.create();            IRaAdminSessionRemote raadminsession = raadminhome.create();                        ISignSessionRemote signsession = signsessionhome.create();            RequestHelper helper = new RequestHelper(administrator, debug);            log.debug("Got request for " + username + "/" + password);            debug.print("<h3>username: " + username + "</h3>");            // Check user            int tokentype = SecConst.TOKEN_SOFT_BROWSERGEN;            usekeyrecovery = (raadminsession.loadGlobalConfiguration(administrator)).getEnableKeyRecovery();            UserAdminData data = adminsession.findUser(administrator, username);            if (data == null) {                throw new ObjectNotFoundException();            }            boolean savekeys = data.getKeyRecoverable() && usekeyrecovery;            boolean loadkeys = (data.getStatus() == UserDataRemote.STATUS_KEYRECOVERY) &&                usekeyrecovery;            // get users Token Type.            tokentype = data.getTokenType();            if(tokentype == SecConst.TOKEN_SOFT_P12){              KeyStore ks = generateToken(administrator, username, password, data.getCAId(), keylength, false, loadkeys, savekeys);              sendP12Token(ks, username, password, response);            }            if(tokentype == SecConst.TOKEN_SOFT_JKS){              KeyStore ks = generateToken(administrator, username, password, data.getCAId(), keylength, true, loadkeys, savekeys);              sendJKSToken(ks, username, password, response);            }            if(tokentype == SecConst.TOKEN_SOFT_PEM){              KeyStore ks = generateToken(administrator, username, password, data.getCAId(), keylength, false, loadkeys, savekeys);              sendPEMTokens(ks, username, password, response);            }            if(tokentype == SecConst.TOKEN_SOFT_BROWSERGEN){              // first check if it is a netscape request,              if (request.getParameter("keygen") != null) {                  byte[] reqBytes=request.getParameter("keygen").getBytes();                  log.debug("Received NS request:"+new String(reqBytes));                  if (reqBytes != null) {                      byte[] certs = helper.nsCertRequest(signsession, reqBytes, username, password);                      RequestHelper.sendNewCertToNSClient(certs, response);                  }              } else if ( (request.getParameter("pkcs10") != null) || (request.getParameter("PKCS10") != null) ) {                  // if not netscape, check if it's IE                  byte[] reqBytes=request.getParameter("pkcs10").getBytes();                  if (reqBytes == null)                      reqBytes=request.getParameter("PKCS10").getBytes();                  log.debug("Received IE request:"+new String(reqBytes));                  if (reqBytes != null) {                      byte[] b64cert=helper.pkcs10CertRequest(signsession, reqBytes, username, password, RequestHelper.ENCODED_PKCS7);                      debug.ieCertFix(b64cert);                      RequestHelper.sendNewCertToIEClient(b64cert, response.getOutputStream(), getServletContext(), getInitParameter("responseTemplate"),classid);                  }              } else if (request.getParameter("pkcs10req") != null && resulttype != 0) {                  // if not IE, check if it's manual request                  byte[] reqBytes=request.getParameter("pkcs10req").getBytes();                  if (reqBytes != null) {                      byte[] b64cert=helper.pkcs10CertRequest(signsession, reqBytes, username, password, resulttype);                    if(resulttype == RequestHelper.ENCODED_PKCS7)                        RequestHelper.sendNewB64Cert(b64cert, response, RequestHelper.BEGIN_PKCS7_WITH_NL, RequestHelper.END_PKCS7_WITH_NL);                    if(resulttype == RequestHelper.ENCODED_CERTIFICATE)                      RequestHelper.sendNewB64Cert(b64cert, response, RequestHelper.BEGIN_CERTIFICATE_WITH_NL, RequestHelper.END_CERTIFICATE_WITH_NL);	                  }              }            }        } catch (ObjectNotFoundException oe) {            log.debug("Non existent username!");            debug.printMessage("Non existent username!");            debug.printMessage(                "To generate a certificate a valid username and password must be entered.");            debug.printDebugInfo();            return;        } catch (AuthStatusException ase) {            log.debug("Wrong user status!");            debug.printMessage("Wrong user status!");            if (usekeyrecovery) {                debug.printMessage(                    "To generate a certificate for a user the user must have status new, failed or inprocess.");            } else {                debug.printMessage(                    "To generate a certificate for a user the user must have status new, failed or inprocess.");            }            debug.printDebugInfo();            return;        } catch (AuthLoginException ale) {            log.debug("Wrong password for user!");            debug.printMessage("Wrong username or password!");            debug.printMessage(                "To generate a certificate a valid username and password must be entered.");            debug.printDebugInfo();            return;        } catch (SignRequestException re) {            log.debug("Invalid request!");

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美岛国在线观看| 久久精品国产久精国产| 有码一区二区三区| 麻豆国产精品官网| 色哟哟欧美精品| 久久新电视剧免费观看| 福利一区福利二区| 欧美日韩激情一区二区三区| 国产精品久久久久久妇女6080| 午夜视频在线观看一区二区| 成人网在线播放| 精品国产乱码91久久久久久网站| 久久精品人人做人人综合| 日韩精品电影在线| 日本高清不卡在线观看| 国产午夜精品久久久久久久 | 欧美激情中文字幕| 亚洲色图一区二区| 精品一区二区三区视频| 欧美日韩一区二区在线视频| 日韩一区在线免费观看| 国产成人超碰人人澡人人澡| 欧美成人午夜电影| 日韩福利电影在线| 欧美性色综合网| 洋洋av久久久久久久一区| 99国产精品国产精品毛片| 国产精品麻豆99久久久久久| 国产成人亚洲综合色影视| 精品伦理精品一区| 日韩国产欧美三级| 7777精品伊人久久久大香线蕉经典版下载 | 久久网站热最新地址| 亚洲国产一区视频| 色综合天天综合网天天看片| 国产精品美女一区二区在线观看| 国产麻豆日韩欧美久久| 精品国免费一区二区三区| 国内偷窥港台综合视频在线播放| 欧美成人精品高清在线播放| 国产在线播放一区三区四| 精品福利在线导航| 国产成人在线免费观看| 中文字幕亚洲区| 一区二区三区欧美在线观看| 色综合一区二区三区| 亚洲精品乱码久久久久| 91福利在线观看| 日韩vs国产vs欧美| 日韩免费看网站| 国产成人鲁色资源国产91色综| 国产午夜精品一区二区三区嫩草| 成人三级伦理片| 一卡二卡欧美日韩| 男女男精品网站| 欧美精品一区二区高清在线观看| 国产麻豆精品一区二区| 中文字幕在线不卡| 欧美日韩日日摸| 国产综合久久久久久鬼色 | 成人黄色在线看| 国产精品成人一区二区三区夜夜夜| 99国产精品99久久久久久| 亚洲高清中文字幕| 欧美精品一区二区蜜臀亚洲| 99精品欧美一区二区蜜桃免费| 国产精品嫩草99a| 在线免费视频一区二区| 捆绑调教一区二区三区| 亚洲视频免费在线| 日韩一区二区在线观看视频| 国产1区2区3区精品美女| 亚洲卡通欧美制服中文| 精品少妇一区二区三区在线播放| 成人a级免费电影| 美腿丝袜亚洲色图| 亚洲日本电影在线| 久久久久久久久久久黄色| 欧美性受极品xxxx喷水| 国产高清不卡二三区| 日韩精彩视频在线观看| 国产天堂亚洲国产碰碰| 欧美夫妻性生活| 97se亚洲国产综合自在线| 蜜桃视频第一区免费观看| 亚洲私人影院在线观看| 国产亚洲视频系列| 日韩欧美专区在线| 欧美性猛片aaaaaaa做受| 国产白丝精品91爽爽久久 | 亚洲精品日韩专区silk| 精品va天堂亚洲国产| 欧美日韩久久一区| 国产成人免费视频网站 | 亚洲综合精品自拍| 国产精品久久久久久久久动漫| 日韩精品在线一区二区| 欧美午夜片在线观看| 91色porny在线视频| 狠狠色综合色综合网络| 天使萌一区二区三区免费观看| 亚洲欧美日本在线| 亚洲欧洲成人自拍| 国产精品色呦呦| 国产精品天美传媒| 日本一区二区三区dvd视频在线| 欧美电影免费观看高清完整版在线 | 成人av在线观| 欧美成人猛片aaaaaaa| 欧美电影在哪看比较好| 欧美日精品一区视频| 色综合欧美在线| 色综合亚洲欧洲| 91国产福利在线| 欧美在线不卡一区| 色哟哟欧美精品| 欧美日韩aaa| 欧美一区二区播放| 精一区二区三区| 国产伦精品一区二区三区免费迷 | 波多野结衣中文字幕一区二区三区 | 7777精品伊人久久久大香线蕉超级流畅| 一本色道亚洲精品aⅴ| 99精品国产99久久久久久白柏 | 国产一区欧美一区| 精品综合免费视频观看| 国产一区二区0| 国产盗摄视频一区二区三区| 国产精品一区在线观看你懂的| 国产露脸91国语对白| jizzjizzjizz欧美| 91电影在线观看| 在线电影院国产精品| 日韩一区和二区| 国产视频一区在线观看| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 亚洲精品一区二区三区精华液 | 国产在线播放一区| 国产精品综合一区二区三区| youjizz久久| 在线精品亚洲一区二区不卡| 欧美日韩电影在线播放| 欧美精品一区二区高清在线观看| 国产精品夫妻自拍| 香蕉久久一区二区不卡无毒影院 | 中文字幕一区二区三区精华液| 亚洲美女淫视频| 午夜成人免费视频| 国产精品理论片在线观看| 亚洲综合在线电影| 国内精品久久久久影院一蜜桃| 国产成人免费视| 欧美高清视频一二三区 | 91精品在线一区二区| 久久久777精品电影网影网| 亚洲欧美视频在线观看| 久久精品久久久精品美女| 成人性生交大片免费看视频在线| 欧美日韩一区二区在线视频| 国产人伦精品一区二区| 午夜久久福利影院| 粉嫩13p一区二区三区| 欧美美女视频在线观看| 国产精品情趣视频| 美国欧美日韩国产在线播放| 91一区在线观看| 久久精品视频一区二区| 午夜av一区二区三区| 91在线国产福利| 久久久久久久久久久久久夜| 肉色丝袜一区二区| 色哟哟在线观看一区二区三区| 欧美激情一区三区| 精品一区精品二区高清| 欧美午夜理伦三级在线观看| 国产精品久久久久久久久免费相片| 男人的天堂亚洲一区| 91成人在线免费观看| 久久蜜臀精品av| 久久成人18免费观看| eeuss国产一区二区三区| 精品国产乱码久久久久久久久| 视频一区二区不卡| 在线观看日产精品| 亚洲日本在线观看| 成人国产精品免费观看| 久久女同互慰一区二区三区| 免费视频一区二区| 91精品国产综合久久久蜜臀粉嫩| 一区二区在线看| aaa欧美日韩| 久久久不卡网国产精品二区| 日日摸夜夜添夜夜添亚洲女人| 91成人看片片| 亚洲在线免费播放| 91视频免费观看| 夜夜嗨av一区二区三区中文字幕| 日本乱码高清不卡字幕| 夜夜嗨av一区二区三区四季av| 欧美视频一区二区三区四区|