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

📄 localhardtokensessionbean.java

📁 一个免费的CA,基于EJB平台的,老师叫我们测试,现把之共享出来让大家参考
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
/************************************************************************* *                                                                       * *  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.hardtoken;import java.math.BigInteger;import java.security.cert.Certificate;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.Collections;import java.util.Date;import java.util.HashMap;import java.util.HashSet;import java.util.Iterator;import java.util.Random;import java.util.TreeMap;import javax.ejb.CreateException;import javax.ejb.EJBException;import javax.ejb.FinderException;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.CertificateDataBean;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.model.InternalResources;import org.ejbca.core.model.SecConst;import org.ejbca.core.model.authorization.AuthorizationDeniedException;import org.ejbca.core.model.hardtoken.HardTokenData;import org.ejbca.core.model.hardtoken.HardTokenDoesntExistsException;import org.ejbca.core.model.hardtoken.HardTokenExistsException;import org.ejbca.core.model.hardtoken.HardTokenIssuer;import org.ejbca.core.model.hardtoken.HardTokenIssuerData;import org.ejbca.core.model.hardtoken.HardTokenProfileExistsException;import org.ejbca.core.model.hardtoken.UnavailableTokenException;import org.ejbca.core.model.hardtoken.profiles.EIDProfile;import org.ejbca.core.model.hardtoken.profiles.HardTokenProfile;import org.ejbca.core.model.hardtoken.types.HardToken;import org.ejbca.core.model.log.Admin;import org.ejbca.core.model.log.LogConstants;import org.ejbca.core.model.log.LogEntry;import org.ejbca.core.model.ra.UserAdminConstants;import org.ejbca.core.model.ra.UserDataVO;import org.ejbca.util.CertTools;import org.ejbca.util.JDBCUtil;/** * Stores data used by web server clients. * Uses JNDI name for datasource as defined in env 'Datasource' in ejb-jar.xml. * * @ejb.bean *   description="Session bean handling hard token data, both about hard tokens and hard token issuers." *   display-name="HardTokenSessionSB" *   name="HardTokenSession" *   jndi-name="HardTokenSession" *   local-jndi-name="HardTokenSessionLocal" *   view-type="both" *   type="Stateless" *   transaction-type="Container" * * @ejb.transaction type="Supports" * * @weblogic.enable-call-by-reference True * * @ejb.env-entry *   description="The JDBC datasource to be used" *  name="DataSource" *  type="java.lang.String" *  value="${datasource.jndi-name-prefix}${datasource.jndi-name}" * * @ejb.home *   extends="javax.ejb.EJBHome" *   local-extends="javax.ejb.EJBLocalHome" *   local-class="org.ejbca.core.ejb.hardtoken.IHardTokenSessionLocalHome" *   remote-class="org.ejbca.core.ejb.hardtoken.IHardTokenSessionHome" * * @ejb.interface *   extends="javax.ejb.EJBObject" *   local-extends="javax.ejb.EJBLocalObject" *   local-class="org.ejbca.core.ejb.hardtoken.IHardTokenSessionLocal" *   remote-class="org.ejbca.core.ejb.hardtoken.IHardTokenSessionRemote" * * @ejb.ejb-external-ref *   description="The hard token profile data entity bean" *   view-type="local" *   ref-name="ejb/HardTokenProfileDataLocal" *   type="Entity" *   home="org.ejbca.core.ejb.hardtoken.HardTokenProfileDataLocalHome" *   business="org.ejbca.core.ejb.hardtoken.HardTokenProfileDataLocal" *   link="HardTokenProfileData" * * @ejb.ejb-external-ref *   description="The hard token issuers data entity bean" *   view-type="local" *   ref-name="ejb/HardTokenIssuerDataLocal" *   type="Entity" *   home="org.ejbca.core.ejb.hardtoken.HardTokenIssuerDataLocalHome" *   business="org.ejbca.core.ejb.hardtoken.HardTokenIssuerDataLocal" *   link="HardTokenIssuerData" * * @ejb.ejb-external-ref *   description="The hard token data entity bean" *   view-type="local" *   ref-name="ejb/HardTokenDataLocal" *   type="Entity" *   home="org.ejbca.core.ejb.hardtoken.HardTokenDataLocalHome" *   business="org.ejbca.core.ejb.hardtoken.HardTokenDataLocal" *   link="HardTokenData" * * @ejb.ejb-external-ref *   description="The hard token property data entity bean" *   view-type="local" *   ref-name="ejb/HardTokenPropertyDataLocal" *   type="Entity" *   home="org.ejbca.core.ejb.hardtoken.HardTokenPropertyLocalHome" *   business="org.ejbca.core.ejb.hardtoken.HardTokenPropertyLocal" *   link="HardTokenPropertyData" * * @ejb.ejb-external-ref *   description="The hard token to certificate map data entity bean" *   view-type="local" *   ref-name="ejb/HardTokenCertificateMapLocal" *   type="Entity" *   home="org.ejbca.core.ejb.hardtoken.HardTokenCertificateMapLocalHome" *   business="org.ejbca.core.ejb.hardtoken.HardTokenCertificateMapLocal" *   link="HardTokenCertificateMap" * * @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 Certificate Store session bean" *   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 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" * * @jonas.bean *   ejb-name="HardTokenSession" * */public class LocalHardTokenSessionBean extends BaseSessionBean  {    public static final int NO_ISSUER = 0;    /** Internal localization of logs and errors */    private static final InternalResources intres = InternalResources.getInstance();        /** The local home interface of hard token issuer entity bean. */    private HardTokenIssuerDataLocalHome hardtokenissuerhome = null;    /** The local home interface of hard token entity bean. */    private HardTokenDataLocalHome hardtokendatahome = null;	/** The local home interface of hard token entity bean. */	private HardTokenProfileDataLocalHome hardtokenprofilehome = null;    /** The local home interface of hard token certificate map entity bean. */    private HardTokenCertificateMapLocalHome hardtokencertificatemaphome = null;    /** The local home interface of hard token property entity bean. */    private HardTokenPropertyLocalHome hardtokenpropertyhome = null;    /** The local interface of authorization session bean */    private IAuthorizationSessionLocal authorizationsession = null;    /** The local interface of certificate store session bean */    private ICertificateStoreSessionLocal certificatestoresession = null;    /** The remote interface of  log session bean */    private ILogSessionLocal logsession = null;     /**     * Default create for SessionBean without any creation Arguments.     * @throws CreateException if bean instance can't be created     */    public void ejbCreate() throws CreateException {      try{        hardtokenissuerhome = (HardTokenIssuerDataLocalHome) getLocator().getLocalHome(HardTokenIssuerDataLocalHome.COMP_NAME);        hardtokendatahome = (HardTokenDataLocalHome) getLocator().getLocalHome(HardTokenDataLocalHome.COMP_NAME);        hardtokencertificatemaphome = (HardTokenCertificateMapLocalHome) getLocator().getLocalHome(HardTokenCertificateMapLocalHome.COMP_NAME);		hardtokenprofilehome = (HardTokenProfileDataLocalHome) getLocator().getLocalHome(HardTokenProfileDataLocalHome.COMP_NAME);		hardtokenpropertyhome = (HardTokenPropertyLocalHome) getLocator().getLocalHome(HardTokenPropertyLocalHome.COMP_NAME);      }catch(Exception e){         throw new EJBException(e);      }    }    /** 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(Exception e){             throw new EJBException(e);          }        }        return logsession;    } //getLogSession    /** Gets connection to certificate store session bean     * @return Connection     */    private ICertificateStoreSessionLocal getCertificateStoreSession() {        if(certificatestoresession == null){          try{            ICertificateStoreSessionLocalHome certificatestoresessionhome = (ICertificateStoreSessionLocalHome) getLocator().getLocalHome(ICertificateStoreSessionLocalHome.COMP_NAME);            certificatestoresession = certificatestoresessionhome.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(Exception e){             throw new EJBException(e);          }        }        return authorizationsession;    } //getAuthorizationSession	/**	 * Adds a hard token profile to the database.	 *	 * @throws HardTokenProfileExistsException if hard token already exists.	 * @throws EJBException if a communication or other error occurs.     * @ejb.interface-method view-type="both"	 */	public void addHardTokenProfile(Admin admin, String name, HardTokenProfile profile) throws HardTokenProfileExistsException{	   debug(">addHardTokenProfile(name: " + name + ")");       addHardTokenProfile(admin,findFreeHardTokenProfileId().intValue(),name,profile);	   debug("<addHardTokenProfile()");	} // addHardTokenProfile	/**	 * Adds a hard token profile to the database.	 * Used for importing and exporting profiles from xml-files.	 *	 * @throws HardTokenProfileExistsException if hard token already exists.	 * @throws EJBException if a communication or other error occurs.     * @ejb.interface-method view-type="both"     * @ejb.transaction type="Required"	 */	public void addHardTokenProfile(Admin admin, int profileid, String name, HardTokenProfile profile) throws HardTokenProfileExistsException{	    debug(">addHardTokenProfile(name: " + name + ", id: " + profileid +")");	    boolean success=false;	    try{	        hardtokenprofilehome.findByName(name);

⌨️ 快捷键说明

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