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

📄 hardtokeninterfacebean.java

📁 一套JAVA的CA证书签发系统.
💻 JAVA
字号:
/************************************************************************* *                                                                       * *  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.webdist.hardtokeninterface;import java.rmi.RemoteException;import java.security.cert.X509Certificate;import java.util.Collection;import java.util.Iterator;import java.util.TreeMap;import javax.naming.InitialContext;import javax.servlet.http.HttpServletRequest;import se.anatom.ejbca.authorization.AdminGroup;import se.anatom.ejbca.authorization.AdminInformation;import se.anatom.ejbca.authorization.IAuthorizationSessionLocal;import se.anatom.ejbca.authorization.IAuthorizationSessionLocalHome;import se.anatom.ejbca.ca.store.ICertificateStoreSessionLocal;import se.anatom.ejbca.ca.store.ICertificateStoreSessionLocalHome;import se.anatom.ejbca.hardtoken.HardTokenData;import se.anatom.ejbca.hardtoken.HardTokenIssuer;import se.anatom.ejbca.hardtoken.HardTokenIssuerData;import se.anatom.ejbca.hardtoken.HardTokenIssuerDoesntExistsException;import se.anatom.ejbca.hardtoken.HardTokenIssuerExistsException;import se.anatom.ejbca.hardtoken.IHardTokenBatchJobSessionLocal;import se.anatom.ejbca.hardtoken.IHardTokenBatchJobSessionLocalHome;import se.anatom.ejbca.hardtoken.IHardTokenSessionLocal;import se.anatom.ejbca.hardtoken.IHardTokenSessionLocalHome;import se.anatom.ejbca.log.Admin;import se.anatom.ejbca.ra.IUserAdminSessionLocal;import se.anatom.ejbca.ra.IUserAdminSessionLocalHome;import se.anatom.ejbca.webdist.webconfiguration.EjbcaWebBean;import se.anatom.ejbca.webdist.webconfiguration.InformationMemory;/** * A java bean handling the interface between EJBCA hard token module and JSP pages. * * @author  Philip Vendil * @version $Id: LogInterfaceBean.java,v 1.13 2002/08/28 12:22:25 herrvendil Exp $ */public class HardTokenInterfaceBean {    /** Creates new LogInterfaceBean */    public HardTokenInterfaceBean(){    }    // Public methods.    /**     * Method that initialized the bean.     *     * @param request is a reference to the http request.     */    public void initialize(HttpServletRequest request, EjbcaWebBean ejbcawebbean) throws  Exception{      if(!initialized){        admininformation = new AdminInformation(((X509Certificate[]) request.getAttribute( "javax.servlet.request.X509Certificate" ))[0]);        admin           = new Admin(((X509Certificate[]) request.getAttribute( "javax.servlet.request.X509Certificate" ))[0]);        InitialContext jndicontext = new InitialContext();        IHardTokenSessionLocalHome hardtokensessionhome = (IHardTokenSessionLocalHome) javax.rmi.PortableRemoteObject.narrow(jndicontext.lookup("java:comp/env/HardTokenSessionLocal"),                                                                                 IHardTokenSessionLocalHome.class);        hardtokensession = hardtokensessionhome.create();        IHardTokenBatchJobSessionLocalHome  hardtokenbatchsessionhome = (IHardTokenBatchJobSessionLocalHome) javax.rmi.PortableRemoteObject.narrow(jndicontext.lookup("java:comp/env/HardTokenBatchJobSessionLocal"),                                                                                 IHardTokenBatchJobSessionLocalHome.class);        hardtokenbatchsession = hardtokenbatchsessionhome.create();        		IAuthorizationSessionLocalHome  authorizationsessionhome = (IAuthorizationSessionLocalHome) javax.rmi.PortableRemoteObject.narrow(jndicontext.lookup("java:comp/env/AuthorizationSessionLocal"),																				 IAuthorizationSessionLocalHome.class);		IAuthorizationSessionLocal authorizationsession = authorizationsessionhome.create();		Object obj1 = jndicontext.lookup("java:comp/env/UserAdminSessionLocal");		IUserAdminSessionLocalHome adminsessionhome = (IUserAdminSessionLocalHome) javax.rmi.PortableRemoteObject.narrow(obj1, IUserAdminSessionLocalHome.class);		IUserAdminSessionLocal useradminsession = adminsessionhome.create();		obj1 = jndicontext.lookup("java:comp/env/CertificateStoreSessionLocal");		ICertificateStoreSessionLocalHome certificatestorehome = (ICertificateStoreSessionLocalHome) javax.rmi.PortableRemoteObject.narrow(obj1, ICertificateStoreSessionLocalHome.class);		ICertificateStoreSessionLocal certificatesession = certificatestorehome.create();		        initialized=true;                this.informationmemory = ejbcawebbean.getInformationMemory();                              this.hardtokenprofiledatahandler = new HardTokenProfileDataHandler(admin, hardtokensession, certificatesession, authorizationsession , useradminsession, informationmemory);		      }    }    /* Returns the first found hard token for the given username. */    public HardTokenView getHardTokenViewWithUsername(String username) throws RemoteException{      HardTokenView  returnval = null;      this.result=null;      Collection res = hardtokensession.getHardTokens(admin, username);      Iterator iter = res.iterator();      if(res.size() > 0){        this.result = new HardTokenView[res.size()];        for(int i=0;iter.hasNext();i++){          this.result[i]=new HardTokenView((HardTokenData) iter.next());        }      }      else        this.result = null;      if(this.result!= null && this.result.length > 0)        return this.result[0];      else        return null;    }    public HardTokenView getHardTokenViewWithIndex(String username, int index) throws RemoteException{      HardTokenView returnval=null;      if(result == null)        getHardTokenViewWithUsername(username);      if(result!=null)        if(index < result.length)          returnval=result[index];      return returnval;    }    public int getHardTokensInCache() {      int returnval = 0;      if(result!=null)        returnval = result.length;      return returnval;    }    public HardTokenView getHardTokenView(String tokensn) throws RemoteException{      HardTokenView  returnval = null;      this.result=null;      HardTokenData token =  hardtokensession.getHardToken(admin, tokensn);      if(token != null)        returnval = new  HardTokenView(token);      return returnval;    }    public Collection getHardTokenIssuerDatas() throws RemoteException{      return hardtokensession.getHardTokenIssuerDatas(admin);    }    public TreeMap getHardTokenIssuers() throws RemoteException{      return hardtokensession.getHardTokenIssuers(admin);    }    public String[] getHardTokenIssuerAliases() throws RemoteException{      return (String[]) hardtokensession.getHardTokenIssuers(admin).keySet().toArray(new String[0]);    }    /** Returns the alias from id. */    public String getHardTokenIssuerAlias(int id) throws RemoteException{      return hardtokensession.getHardTokenIssuerAlias(admin, id);    }    public int getHardTokenIssuerId(String alias) throws RemoteException{      return hardtokensession.getHardTokenIssuerId(admin, alias);    }    public HardTokenIssuerData getHardTokenIssuerData(String alias) throws RemoteException{      return hardtokensession.getHardTokenIssuerData(admin, alias);    }    public HardTokenIssuerData getHardTokenIssuerData(int id) throws RemoteException{      return hardtokensession.getHardTokenIssuerData(admin, id);    }    public void addHardTokenIssuer(String alias, int admingroupid) throws HardTokenIssuerExistsException, RemoteException{      Iterator iter = this.informationmemory.getHardTokenIssuingAdminGroups().iterator();      while(iter.hasNext()){      	if(((AdminGroup) iter.next()).getAdminGroupId() == admingroupid){			if(!hardtokensession.addHardTokenIssuer(admin, alias, admingroupid, new HardTokenIssuer()))			  throw new HardTokenIssuerExistsException();			informationmemory.hardTokenDataEdited();      		      	}      }          }    public void addHardTokenIssuer(String alias, int admingroupid, HardTokenIssuer hardtokenissuer) throws HardTokenIssuerExistsException, RemoteException {		Iterator iter = this.informationmemory.getHardTokenIssuingAdminGroups().iterator();		while(iter.hasNext()){		  if(((AdminGroup) iter.next()).getAdminGroupId() == admingroupid){			  if(!hardtokensession.addHardTokenIssuer(admin, alias, admingroupid, new HardTokenIssuer()))				throw new HardTokenIssuerExistsException();			  informationmemory.hardTokenDataEdited();      				  }		}    }    public void changeHardTokenIssuer(String alias, HardTokenIssuer hardtokenissuer) throws HardTokenIssuerDoesntExistsException, RemoteException{      if(informationmemory.authorizedToHardTokenIssuer(alias)){	          	        if(!hardtokensession.changeHardTokenIssuer(admin, alias, hardtokenissuer))          throw new HardTokenIssuerDoesntExistsException();        informationmemory.hardTokenDataEdited();      }    }    /* Returns false if profile is used by any user or in authorization rules. */    public boolean removeHardTokenIssuer(String alias)throws RemoteException{		        boolean issuerused = false;		if(informationmemory.authorizedToHardTokenIssuer(alias)){          int issuerid = hardtokensession.getHardTokenIssuerId(admin, alias);        // Check if any users or authorization rule use the profile.          issuerused = hardtokenbatchsession.checkForHardTokenIssuerId(admin, issuerid);          if(!issuerused){            hardtokensession.removeHardTokenIssuer(admin, alias);		    informationmemory.hardTokenDataEdited();          }				}         return !issuerused;	    }    public void renameHardTokenIssuer(String oldalias, String newalias, int newadmingroupid) throws HardTokenIssuerExistsException, RemoteException{      if(informationmemory.authorizedToHardTokenIssuer(oldalias)){	                if(!hardtokensession.renameHardTokenIssuer(admin, oldalias, newalias, newadmingroupid))         throw new HardTokenIssuerExistsException();                informationmemory.hardTokenDataEdited();      }       }    public void cloneHardTokenIssuer(String oldalias, String newalias, int newadmingroupid) throws HardTokenIssuerExistsException, RemoteException{	  if(informationmemory.authorizedToHardTokenIssuer(oldalias)){    	                if(!hardtokensession.cloneHardTokenIssuer(admin, oldalias, newalias, newadmingroupid))          throw new HardTokenIssuerExistsException();                informationmemory.hardTokenDataEdited();	  }    }        		public HardTokenProfileDataHandler getHardTokenProfileDataHandler() {			return hardtokenprofiledatahandler;	}        // Private fields.    private IHardTokenSessionLocal                hardtokensession;    private IHardTokenBatchJobSessionLocal  hardtokenbatchsession;            private AdminInformation                         admininformation;    private Admin                                          admin;    private InformationMemory                      informationmemory;    private boolean                                       initialized=false;    private HardTokenView[]                          result;    private HardTokenProfileDataHandler         hardtokenprofiledatahandler;}

⌨️ 快捷键说明

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