⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 localapprovalsessionbean.java

📁 一个免费的CA,基于EJB平台的,老师叫我们测试,现把之共享出来让大家参考
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
/************************************************************************* *                                                                       * *  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 org.ejbca.core.ejb.approval;import java.math.BigInteger;import java.security.cert.X509Certificate;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.ArrayList;import java.util.Collection;import java.util.Date;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Random;import javax.ejb.CreateException;import javax.ejb.EJBException;import javax.ejb.FinderException;import javax.ejb.RemoveException;import javax.mail.Message;import javax.mail.Session;import javax.mail.Transport;import javax.mail.internet.InternetAddress;import org.apache.log4j.Logger;import org.ejbca.core.ejb.BaseSessionBean;import org.ejbca.core.ejb.JNDINames;import org.ejbca.core.ejb.authorization.IAuthorizationSessionLocal;import org.ejbca.core.ejb.authorization.IAuthorizationSessionLocalHome;import org.ejbca.core.ejb.ca.store.ICertificateStoreSessionLocal;import org.ejbca.core.ejb.ca.store.ICertificateStoreSessionLocalHome;import org.ejbca.core.ejb.log.ILogSessionLocal;import org.ejbca.core.ejb.log.ILogSessionLocalHome;import org.ejbca.core.ejb.ra.IUserAdminSessionLocal;import org.ejbca.core.ejb.ra.IUserAdminSessionLocalHome;import org.ejbca.core.ejb.ra.raadmin.IRaAdminSessionLocal;import org.ejbca.core.ejb.ra.raadmin.IRaAdminSessionLocalHome;import org.ejbca.core.model.InternalResources;import org.ejbca.core.model.approval.AdminAlreadyApprovedRequestException;import org.ejbca.core.model.approval.Approval;import org.ejbca.core.model.approval.ApprovalDataUtil;import org.ejbca.core.model.approval.ApprovalDataVO;import org.ejbca.core.model.approval.ApprovalException;import org.ejbca.core.model.approval.ApprovalRequest;import org.ejbca.core.model.approval.ApprovalRequestExecutionException;import org.ejbca.core.model.approval.ApprovalRequestExpiredException;import org.ejbca.core.model.authorization.AuthorizationDeniedException;import org.ejbca.core.model.authorization.AvailableAccessRules;import org.ejbca.core.model.log.Admin;import org.ejbca.core.model.log.LogEntry;import org.ejbca.core.model.ra.RAAuthorization;import org.ejbca.core.model.ra.UserDataVO;import org.ejbca.core.model.ra.raadmin.GlobalConfiguration;import org.ejbca.util.CertTools;import org.ejbca.util.JDBCUtil;import org.ejbca.util.NotificationParamGen;import org.ejbca.util.TemplateMimeMessage;import org.ejbca.util.query.IllegalQueryException;import org.ejbca.util.query.Query;/** * Keeps track of approval requests and their approval or rejects. *  * Uses JNDI name for datasource as defined in env 'Datasource' in ejb-jar.xml. * * @ejb.bean description="Session bean handling interface with user data sources" *   display-name="ApprovalSessionSB" *   name="ApprovalSession" *   jndi-name="ApprovalSession" *   local-jndi-name="ApprovalSessionLocal" *   view-type="both" *   type="Stateless" *   transaction-type="Container" * * @ejb.transaction type="Required" * * @weblogic.enable-call-by-reference True * * @ejb.env-entry name="DataSource" *   type="java.lang.String" *   value="${datasource.jndi-name-prefix}${datasource.jndi-name}" * * @ejb.env-entry *   description="Defines the JNDI name of the mail service used" *   name="MailJNDIName" *   type="java.lang.String" *   value="${mail.jndi-name}" * * @ejb.ejb-external-ref description="The Approval entity bean" *   view-type="local" *   ref-name="ejb/ApprovalDataLocal" *   type="Entity" *   home="org.ejbca.core.ejb.approval.ApprovalDataLocalHome" *   business="org.ejbca.core.ejb.approval.ApprovalDataLocal" *   link="ApprovalData" *    * @ejb.ejb-external-ref description="The Certificate store used to store and fetch certificates" *   view-type="local" *   ref-name="ejb/CertificateStoreSessionLocal" *   type="Session" *   home="org.ejbca.core.ejb.ca.store.ICertificateStoreSessionLocalHome" *   business="org.ejbca.core.ejb.ca.store.ICertificateStoreSessionLocal" *   link="CertificateStoreSession" * * @ejb.ejb-external-ref description="The Authorization Session Bean" *   view-type="local" *   ref-name="ejb/AuthorizationSessionLocal" *   type="Session" *   home="org.ejbca.core.ejb.authorization.IAuthorizationSessionLocalHome" *   business="org.ejbca.core.ejb.authorization.IAuthorizationSessionLocal" *   link="AuthorizationSession" *    * @ejb.ejb-external-ref *   description="The Ra Admin session bean" *   view-type="local" *   ref-name="ejb/RaAdminSessionLocal" *   type="Session" *   home="org.ejbca.core.ejb.ra.raadmin.IRaAdminSessionLocalHome" *   business="org.ejbca.core.ejb.ra.raadmin.IRaAdminSessionLocal" *   link="RaAdminSession" *    * @ejb.ejb-external-ref *   description="The User Admin session bean" *   view-type="local" *   ref-name="ejb/UserAdminSessionLocal" *   type="Session" *   home="org.ejbca.core.ejb.ra.IUserAdminSessionLocalHome" *   business="org.ejbca.core.ejb.ra.IUserAdminSessionLocal" *   link="UserAdminSession" * * @ejb.ejb-external-ref *   description="The Certificate Store session bean" *   view-type="local" *   ref-name="ejb/HardTokenSessionLocal" *   type="Session" *   home="org.ejbca.core.ejb.hardtoken.IHardTokenSessionLocalHome" *   business="org.ejbca.core.ejb.hardtoken.IHardTokenSessionLocal" *   link="HardTokenSession" * * @ejb.ejb-external-ref *   description="The Key Recovery session bean" *   view-type="local" *   ref-name="ejb/KeyRecoverySessionLocal" *   type="Session" *   home="org.ejbca.core.ejb.keyrecovery.IKeyRecoverySessionLocalHome" *   business="org.ejbca.core.ejb.keyrecovery.IKeyRecoverySessionLocal" *   link="KeyRecoverySession" * * @ejb.ejb-external-ref description="The CAAdmin Session Bean" *   view-type="local" *   ref-name="ejb/CAAdminSessionLocal" *   type="Session" *   home="org.ejbca.core.ejb.ca.caadmin.ICAAdminSessionLocalHome" *   business="org.ejbca.core.ejb.ca.caadmin.ICAAdminSessionLocal" *   link="CAAdminSession" *    * @ejb.ejb-external-ref description="The log session bean" *   view-type="local" *   ref-name="ejb/LogSessionLocal" *   type="Session" *   home="org.ejbca.core.ejb.log.ILogSessionLocalHome" *   business="org.ejbca.core.ejb.log.ILogSessionLocal" *   link="LogSession" * * @ejb.home extends="javax.ejb.EJBHome" *   local-extends="javax.ejb.EJBLocalHome" *   local-class="org.ejbca.core.ejb.approval.IApprovalSessionLocalHome" *   remote-class="org.ejbca.core.ejb.approval.IApprovalSessionHome" * * @ejb.interface extends="javax.ejb.EJBObject" *   local-extends="javax.ejb.EJBLocalObject" *   local-class="org.ejbca.core.ejb.approval.IApprovalSessionLocal" *   remote-class="org.ejbca.core.ejb.approval.IApprovalSessionRemote" * *  @jonas.bean ejb-name="ApprovalSession" */public class LocalApprovalSessionBean extends BaseSessionBean {		private static final Logger log = Logger.getLogger(LocalApprovalSessionBean.class);    /** Internal localization of logs and errors */    private static final InternalResources intres = InternalResources.getInstance();	    /**     * The local home interface of approval entity bean.     */    private ApprovalDataLocalHome approvalHome = null;    /**     * The local interface of RaAdmin Session Bean.     */    private IRaAdminSessionLocal raadminsession;    /**     * The local interface of User Admin Session Bean.     */    private IUserAdminSessionLocal useradminsession;        /**     * The local interface of authorization session bean     */    private IAuthorizationSessionLocal authorizationsession = null;    /**     * The remote interface of  log session bean     */    private ILogSessionLocal logsession = null;    /** The local interface of the certificate store session bean */    private ICertificateStoreSessionLocal certificatestoresession;        /**     * Columns in the database used in select     */    private static final String APPROVALDATA_COL = "id, approvalid, approvaltype, endentityprofileid, caid, reqadmincertissuerdn, reqadmincertsn, status, approvaldata, requestdata, requestdate, expiredate, remainingapprovals";        /**     * Default create for SessionBean without any creation Arguments.     *     * @throws CreateException if bean instance can't be created     */    public void ejbCreate() throws CreateException {    	approvalHome = (ApprovalDataLocalHome) getLocator().getLocalHome(ApprovalDataLocalHome.COMP_NAME);    }    /**     * Gets connection to log session bean     *     * @return Connection     */    private ILogSessionLocal getLogSession() {        if (logsession == null) {            try {                ILogSessionLocalHome logsessionhome = (ILogSessionLocalHome) getLocator().getLocalHome(ILogSessionLocalHome.COMP_NAME);                logsession = logsessionhome.create();            } catch (CreateException e) {                throw new EJBException(e);            }        }        return logsession;    } //getLogSession        /**     * Gets connection to ra admin session bean     *     * @return Connection     */    private IRaAdminSessionLocal getRAAdminSession() {        if (raadminsession == null) {            try {            	IRaAdminSessionLocalHome raadminsessionhome = (IRaAdminSessionLocalHome) getLocator().getLocalHome(IRaAdminSessionLocalHome.COMP_NAME);                raadminsession = raadminsessionhome.create();            } catch (CreateException e) {                throw new EJBException(e);            }        }        return raadminsession;    } //getRAAdminSession    /**     * Gets connection to user admin session bean     *     * @return Connection     */    private IUserAdminSessionLocal getUserAdminSession() {        if (useradminsession == null) {            try {            	IUserAdminSessionLocalHome useradminsessionhome = (IUserAdminSessionLocalHome) getLocator().getLocalHome(IUserAdminSessionLocalHome.COMP_NAME);            	useradminsession = useradminsessionhome.create();            } catch (CreateException e) {                throw new EJBException(e);            }        }        return useradminsession;    } //getUserAdminSession    /** Gets connection to certificate store session bean     * @return Connection     */    private ICertificateStoreSessionLocal getCertificateStoreSession() {        if(certificatestoresession == null){            try{                ICertificateStoreSessionLocalHome home = (ICertificateStoreSessionLocalHome) getLocator().getLocalHome(ICertificateStoreSessionLocalHome.COMP_NAME);                certificatestoresession = home.create();            }catch(Exception e){                throw new EJBException(e);            }        }        return certificatestoresession;    } //getCertificateStoreSession        /**     * Gets connection to authorization session bean     *     * @return IAuthorizationSessionLocal     */    private IAuthorizationSessionLocal getAuthorizationSession() {        if (authorizationsession == null) {            try {                IAuthorizationSessionLocalHome authorizationsessionhome = (IAuthorizationSessionLocalHome) getLocator().getLocalHome(IAuthorizationSessionLocalHome.COMP_NAME);                authorizationsession = authorizationsessionhome.create();            } catch (CreateException e) {                throw new EJBException(e);            }        }        return authorizationsession;    } //getAuthorizationSession   /**

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -