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

📄 caadminsessionbean.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.ca.caadmin;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.UnsupportedEncodingException;import java.security.KeyStore;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import java.security.PrivateKey;import java.security.PublicKey;import java.security.cert.CertPath;import java.security.cert.CertPathValidator;import java.security.cert.CertPathValidatorException;import java.security.cert.CertPathValidatorResult;import java.security.cert.Certificate;import java.security.cert.CertificateEncodingException;import java.security.cert.CertificateException;import java.security.cert.CertificateExpiredException;import java.security.cert.CertificateFactory;import java.security.cert.CertificateNotYetValidException;import java.security.cert.PKIXCertPathValidatorResult;import java.security.cert.PKIXParameters;import java.security.cert.TrustAnchor;import java.security.cert.X509Certificate;import java.security.interfaces.RSAPublicKey;import java.util.ArrayList;import java.util.Collection;import java.util.Date;import java.util.Enumeration;import java.util.HashMap;import java.util.HashSet;import java.util.Iterator;import javax.ejb.CreateException;import javax.ejb.EJBException;import javax.ejb.FinderException;import javax.naming.NamingException;import org.bouncycastle.asn1.ASN1Set;import org.bouncycastle.jce.ECNamedCurveTable;import org.bouncycastle.jce.PKCS10CertificationRequest;import org.bouncycastle.jce.X509KeyUsage;import org.bouncycastle.jce.interfaces.ECPrivateKey;import org.bouncycastle.util.encoders.Hex;import org.ejbca.core.EjbcaException;import org.ejbca.core.ejb.BaseSessionBean;import org.ejbca.core.ejb.ServiceLocator;import org.ejbca.core.ejb.authorization.IAuthorizationSessionLocal;import org.ejbca.core.ejb.authorization.IAuthorizationSessionLocalHome;import org.ejbca.core.ejb.ca.crl.ICreateCRLSessionLocal;import org.ejbca.core.ejb.ca.crl.ICreateCRLSessionLocalHome;import org.ejbca.core.ejb.ca.sign.ISignSessionLocal;import org.ejbca.core.ejb.ca.sign.ISignSessionLocalHome;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.authorization.AvailableAccessRules;import org.ejbca.core.model.ca.caadmin.CA;import org.ejbca.core.model.ca.caadmin.CACacheManager;import org.ejbca.core.model.ca.caadmin.CADoesntExistsException;import org.ejbca.core.model.ca.caadmin.CAExistsException;import org.ejbca.core.model.ca.caadmin.CAInfo;import org.ejbca.core.model.ca.caadmin.IllegalKeyStoreException;import org.ejbca.core.model.ca.caadmin.X509CA;import org.ejbca.core.model.ca.caadmin.X509CAInfo;import org.ejbca.core.model.ca.caadmin.extendedcaservices.CmsCAServiceInfo;import org.ejbca.core.model.ca.caadmin.extendedcaservices.ExtendedCAServiceInfo;import org.ejbca.core.model.ca.caadmin.extendedcaservices.OCSPCAServiceInfo;import org.ejbca.core.model.ca.caadmin.extendedcaservices.XKMSCAServiceInfo;import org.ejbca.core.model.ca.catoken.CAToken;import org.ejbca.core.model.ca.catoken.CATokenAuthenticationFailedException;import org.ejbca.core.model.ca.catoken.CATokenConstants;import org.ejbca.core.model.ca.catoken.CATokenInfo;import org.ejbca.core.model.ca.catoken.CATokenOfflineException;import org.ejbca.core.model.ca.catoken.HardCATokenContainer;import org.ejbca.core.model.ca.catoken.HardCATokenInfo;import org.ejbca.core.model.ca.catoken.HardCATokenManager;import org.ejbca.core.model.ca.catoken.IHardCAToken;import org.ejbca.core.model.ca.catoken.NullCAToken;import org.ejbca.core.model.ca.catoken.SoftCAToken;import org.ejbca.core.model.ca.catoken.SoftCATokenInfo;import org.ejbca.core.model.ca.certificateprofiles.CertificateProfile;import org.ejbca.core.model.ca.crl.RevokedCertInfo;import org.ejbca.core.model.log.Admin;import org.ejbca.core.model.log.LogEntry;import org.ejbca.core.model.ra.ExtendedInformation;import org.ejbca.core.model.ra.UserDataVO;import org.ejbca.core.protocol.IRequestMessage;import org.ejbca.core.protocol.IResponseMessage;import org.ejbca.core.protocol.PKCS10RequestMessage;import org.ejbca.core.protocol.X509ResponseMessage;import org.ejbca.util.Base64;import org.ejbca.util.CertTools;import org.ejbca.util.KeyTools;/** * Administrates and manages CAs in EJBCA system. * * @version $Id: CAAdminSessionBean.java,v 1.42.2.5 2007/05/21 07:31:00 jeklund Exp $ * * @ejb.bean description="Session bean handling core CA function,signing certificates" *   display-name="CAAdminSB" *   name="CAAdminSession" *   jndi-name="CAAdminSession" *   local-jndi-name="CAAdminSessionLocal" *   view-type="both" *   type="Stateless" *   transaction-type="Container" * * @ejb.transaction type="Required" *  * @weblogic.enable-call-by-reference True * * @ejb.env-entry description="Used internally to keystores in database" *   name="keyStorePass" *   type="java.lang.String" *   value="${ca.keystorepass}" * * @ejb.env-entry description="Password for OCSP keystores" *   name="OCSPKeyStorePass" *   type="java.lang.String" *   value="${ca.ocspkeystorepass}" *    * @ejb.env-entry description="Password for XKMS keystores" *   name="XKMSKeyStorePass" *   type="java.lang.String" *   value="${ca.xkmskeystorepass}" * *    * @ejb.env-entry description="Password for CMS keystores" *   name="CMSKeyStorePass" *   type="java.lang.String" *   value="${ca.cmskeystorepass}" *    * @ejb.home *   extends="javax.ejb.EJBHome" *   remote-class="org.ejbca.core.ejb.ca.caadmin.ICAAdminSessionHome" *   local-extends="javax.ejb.EJBLocalHome" *   local-class="org.ejbca.core.ejb.ca.caadmin.ICAAdminSessionLocalHome" * * @ejb.interface *   extends="javax.ejb.EJBObject" *   remote-class="org.ejbca.core.ejb.ca.caadmin.ICAAdminSessionRemote" *   local-extends="javax.ejb.EJBLocalObject" *   local-class="org.ejbca.core.ejb.ca.caadmin.ICAAdminSessionLocal" * * @ejb.ejb-external-ref description="The CA entity bean" *   view-type="local" *   ref-name="ejb/CADataLocal" *   type="Entity" *   home="org.ejbca.core.ejb.ca.caadmin.CADataLocalHome" *   business="org.ejbca.core.ejb.ca.caadmin.CADataLocal" *   link="CAData" * * @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.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 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 Sign Session Bean" *   view-type="local" *   ref-name="ejb/RSASignSessionLocal" *   type="Session" *   home="org.ejbca.core.ejb.ca.sign.ISignSessionLocalHome" *   business="org.ejbca.core.ejb.ca.sign.ISignSessionLocal" *   link="RSASignSession" * * @ejb.ejb-external-ref description="The CRL Create bean" *   view-type="local" *   ref-name="ejb/CreateCRLSessionLocal" *   type="Session" *   home="org.ejbca.core.ejb.ca.crl.ICreateCRLSessionLocalHome" *   business="org.ejbca.core.ejb.ca.crl.ICreateCRLSessionLocal" *   link="CreateCRLSession" * */public class CAAdminSessionBean extends BaseSessionBean {    /** The local home interface of CAData.*/    private CADataLocalHome cadatahome;    /** The local interface of the log session bean */    private ILogSessionLocal logsession;    /** The local interface of the authorization session bean */    private IAuthorizationSessionLocal authorizationsession;    /** The local interface of the certificate store session bean */    private ICertificateStoreSessionLocal certificatestoresession;    /** The local interface of the sign session bean */    private ISignSessionLocal signsession;    /** The local interface of the job runner session bean used to create crls.*/    private ICreateCRLSessionLocal jobrunner;    /** Internal localization of logs and errors */    private static final InternalResources intres = InternalResources.getInstance();    /**     * Default create for SessionBean without any creation Arguments.     * @throws CreateException if bean instance can't be created     */    public void ejbCreate() throws CreateException {        cadatahome = (CADataLocalHome)getLocator().getLocalHome(CADataLocalHome.COMP_NAME);        // Install BouncyCastle provider        CertTools.installBCProvider();    }    /**     * Method used to create a new CA.     *     * The cainfo parameter should at least contain the following information.     *   SubjectDN     *   Name (if null then is subjectDN used).     *   Validity     *   a CATokenInfo     *   Description (optional)     *   Status (SecConst.CA_ACTIVE or SecConst.CA_WAITING_CERTIFICATE_RESPONSE)     *   SignedBy (CAInfo.SELFSIGNED, CAInfo.SIGNEDBYEXTERNALCA or CAId of internal CA)         *     *  For other optional values see:     *  @see org.ejbca.core.model.ca.caadmin.CAInfo     *  @see org.ejbca.core.model.ca.caadmin.X509CAInfo     *       * @ejb.interface-method

⌨️ 快捷键说明

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