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

📄 crldatabean.java

📁 一个免费的CA,基于EJB平台的,老师叫我们测试,现把之共享出来让大家参考
💻 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 org.ejbca.core.ejb.ca.store;import java.io.IOException;import java.security.cert.CRLException;import java.security.cert.X509CRL;import java.util.Date;import javax.ejb.CreateException;import org.apache.log4j.Logger;import org.ejbca.core.ejb.BaseEntityBean;import org.ejbca.util.Base64;import org.ejbca.util.CertTools;/** * Entity Bean representing a CRL. Information stored: * <pre> * CRL (base64Crl) * IssuerDN (issuerDN) * CRLNumber (CRLNumber) * SHA1 fingerprint (fingerprint) * CA SHA1 fingerprint (cAFingerprint) * thisUpdate (thisUpdate) * nextUpdate (nextUpdate) * </pre> * * @version $Id: CRLDataBean.java,v 1.4 2006/11/10 09:28:51 anatom Exp $ * * @ejb.bean description="This enterprise bean entity represents a CRL with accompanying data" * display-name="CRLDataEB" * name="CRLData" * jndi-name="CRLData" * view-type="local" * type="CMP" * reentrant="False" * cmp-version="2.x" * transaction-type="Container" * schema="CRLDataBean" * * @ejb.transaction type="Required" * * @ejb.pk class="org.ejbca.core.ejb.ca.store.CRLDataPK" * extends="java.lang.Object" * implements="java.io.Serializable" * * @ejb.persistence table-name = "CRLData" * @ejb.home * generate="local" * local-extends="javax.ejb.EJBLocalHome" * local-class="org.ejbca.core.ejb.ca.store.CRLDataLocalHome" * * @ejb.interface * generate="local" * local-extends="javax.ejb.EJBLocalObject" * local-class="org.ejbca.core.ejb.ca.store.CRLDataLocal" * * @ejb.finder description="findByIssuerDNAndCRLNumber" *   signature="org.ejbca.core.ejb.ca.store.CRLDataLocal findByIssuerDNAndCRLNumber(java.lang.String issuerdn, int cRLNumber)" *   query="SELECT OBJECT(a) from CRLDataBean a WHERE a.issuerDN=?1 AND a.crlNumber=?2" * * @jonas.jdbc-mapping *   jndi-name="${datasource.jndi-name}" */public abstract class CRLDataBean extends BaseEntityBean {    private static final Logger log = Logger.getLogger(CRLDataBean.class);    /**     * @ejb.persistence column-name="cRLNumber"     * @ejb.interface-method     */    public abstract int getCrlNumber();    /**     * @ejb.interface-method     */    public abstract void setCrlNumber(int crlNumber);    /**     * @ejb.persistence column-name="issuerDN"     * @ejb.interface-method     */    public abstract String getIssuerDN();    /**     * Use setIssuer instead     *     * @see #setIssuer(String)     */    public abstract void setIssuerDN(String issuerDN);    /**     * @ejb.pk-field     * @ejb.persistence column-name="fingerprint"     * @ejb.interface-method     */    public abstract String getFingerprint();    /**     */    public abstract void setFingerprint(String fingerprint);    /**     * @ejb.persistence column-name="cAFingerprint"     * @ejb.interface-method     */    public abstract String getCaFingerprint();    /**     * @ejb.interface-method     */    public abstract void setCaFingerprint(String caFingerprint);    /**     * @ejb.persistence column-name="thisUpdate"     * @ejb.interface-method     */    public abstract long getThisUpdate();    /**     * Date formated as seconds since 1970 (== Date.getTime())     * @ejb.interface-method     */    public abstract void setThisUpdate(long thisUpdate);    /**     * @ejb.persistence column-name="nextUpdate"     * @ejb.interface-method     */    public abstract long getNextUpdate();    /**     * Date formated as seconds since 1970 (== Date.getTime())     * @ejb.interface-method     */    public abstract void setNextUpdate(long nextUpdate);    /**     * @ejb.persistence jdbc-type="LONGVARCHAR" column-name="base64Crl"     * @ejb.interface-method     */    public abstract String getBase64Crl();    /**     * @ejb.interface-method     */    public abstract void setBase64Crl(String base64Crl);    //    // Public methods used to help us manage CRLs    //    /**     * @ejb.interface-method     */    public X509CRL getCRL() {        X509CRL crl = null;        try {            String b64Crl = getBase64Crl();            crl = CertTools.getCRLfromByteArray(Base64.decode(b64Crl.getBytes()));        } catch (IOException ioe) {            log.error("Can't decode CRL.", ioe);            return null;        } catch (CRLException ce) {            log.error("Can't decode CRL.", ce);            return null;        }         return crl;    }    /**     * @ejb.interface-method     */    public void setCRL(X509CRL incrl) {        try {            String b64Crl = new String(Base64.encode((incrl).getEncoded()));            setBase64Crl(b64Crl);        } catch (CRLException ce) {            log.error("Can't extract DER encoded CRL.", ce);        }    }    /**     * @ejb.interface-method     */    public void setIssuer(String dn) {        setIssuerDN(CertTools.stringToBCDNString(dn));    }    /**     * @ejb.interface-method     */    public void setThisUpdate(Date thisUpdate) {        if (thisUpdate == null) {            setThisUpdate(-1L);        }        setThisUpdate(thisUpdate.getTime());    }    /**     * @ejb.interface-method     */    public void setNextUpdate(Date nextUpdate) {        if (nextUpdate == null) {            setNextUpdate(-1L);        }        setNextUpdate(nextUpdate.getTime());    }    //    // Fields required by Container    //    /**     * Entity Bean holding info about a CRL. Create by sending in the CRL, which extracts (from the     * crl) fingerprint (primary key), CRLNumber, issuerDN, thisUpdate, nextUpdate. CAFingerprint     * are set to default values (null) and should be set using the respective set-methods.     *     * @param incrl the (X509)CRL to be stored in the database.     * @param number monotonically increasnig CRL number     *     * @ejb.create-method     */    public CRLDataPK ejbCreate(X509CRL incrl, int number)        throws CreateException {        // Exctract all fields to store with the certificate.        try {            String b64Crl = new String(Base64.encode(incrl.getEncoded()));            setBase64Crl(b64Crl);            setFingerprint(CertTools.getFingerprintAsString(incrl));            // Make sure names are always looking the same            setIssuerDN(CertTools.getIssuerDN(incrl));            log.debug("Creating crldata, issuer=" + getIssuerDN());            // Default values for cafp            setCaFingerprint(null);            setCrlNumber(number);            setThisUpdate(incrl.getThisUpdate());            setNextUpdate(incrl.getNextUpdate());        } catch (CRLException ce) {            log.error("Can't extract DER encoded CRL.", ce);            return null;        }        CRLDataPK pk = new CRLDataPK(getFingerprint());        return pk;    }    /**     * DOCUMENT ME!     *     * @param incrl DOCUMENT ME!     * @param number DOCUMENT ME!     */    public void ejbPostCreate(X509CRL incrl, int number) {        // Do nothing. Required.    }}

⌨️ 快捷键说明

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