📄 certificatedatabean.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.security.cert.Certificate;import java.security.cert.CertificateEncodingException;import java.security.cert.CertificateException;import java.security.cert.X509Certificate;import java.util.Date;import javax.ejb.CreateException;import org.apache.log4j.Logger;import org.ejbca.core.ejb.BaseEntityBean;import org.ejbca.core.model.SecConst;import org.ejbca.core.model.ca.crl.RevokedCertInfo;import org.ejbca.util.Base64;import org.ejbca.util.CertTools;/** * Entity Bean representing a certificate. Information stored: * <pre> * Certificate (base64Cert) * Subject DN (subjectDN) * Issuer DN (issuerDN) * Serial number (serialNumber) * SHA1 fingerprint (fingerprint) * Status (status) * Type (type; endentity, ca etc) * CA SHA1 fingerprint (cAFingerprint) * Expiration date (expireDate) * Revocation date (revocationDate) * Revocation reason (revocationReason) * Username (username) * </pre> * * @version $Id: CertificateDataBean.java,v 1.5 2006/11/10 09:28:51 anatom Exp $ * * @ejb.bean description="This enterprise bean entity represents a certificate with accompanying data" * display-name="CertificateDataEB" * name="CertificateData" * jndi-name="CertificateData" * view-type="local" * type="CMP" * reentrant="False" * cmp-version="2.x" * transaction-type="Container" * schema="CertificateDataBean" * * @ejb.transaction type="Required" * * @ejb.pk class="org.ejbca.core.ejb.ca.store.CertificateDataPK" * extends="java.lang.Object" * implements="java.io.Serializable" * * @ejb.persistence table-name = "CertificateData" * * @ejb.home * generate="local" * local-extends="javax.ejb.EJBLocalHome" * local-class="org.ejbca.core.ejb.ca.store.CertificateDataLocalHome" * * @ejb.interface * generate="local" * local-extends="javax.ejb.EJBLocalObject" * local-class="org.ejbca.core.ejb.ca.store.CertificateDataLocal" * * @ejb.finder description="findByExpireDate" * signature="Collection findByExpireDate(long date)" * query="SELECT OBJECT(a) from CertificateDataBean a WHERE a.expireDate<?1" * * @ejb.finder description="findBySubjectDNAndIssuerDN" * signature="Collection findBySubjectDNAndIssuerDN(java.lang.String subjectDN, java.lang.String issuerDN)" * query="SELECT OBJECT(a) from CertificateDataBean a WHERE a.subjectDN=?1 AND a.issuerDN=?2" * * @ejb.finder description="findBySubjectDN" * signature="Collection findBySubjectDN(java.lang.String subjectDN)" * query="SELECT OBJECT(a) from CertificateDataBean a WHERE a.subjectDN=?1" * * @ejb.finder description="findBySerialNumber" * signature="Collection findBySerialNumber(java.lang.String sn)" * query="SELECT OBJECT(a) from CertificateDataBean a WHERE a.serialNumber=?1" * * @ejb.finder description="findByIssuerDNSerialNumber" * signature="Collection findByIssuerDNSerialNumber(java.lang.String issuerDN, java.lang.String serialNumber)" * query="SELECT OBJECT(a) from CertificateDataBean a WHERE a.issuerDN=?1 AND a.serialNumber=?2" * * @ejb.finder description="findByUsername" * signature="Collection findByUsername(java.lang.String username)" * query="SELECT OBJECT(a) from CertificateDataBean a WHERE a.username=?1" * * @jonas.jdbc-mapping * jndi-name="${datasource.jndi-name}" */public abstract class CertificateDataBean extends BaseEntityBean { /** Certificate doesn't belong to anyone */ public static final int CERT_UNASSIGNED = 0; /** Assigned, but not yet active */ public static final int CERT_INACTIVE = 10; /** Certificate is active and assigned */ public static final int CERT_ACTIVE = 20; /** Certificate is still active and the user is notified that it * will soon expire. */ public static final int CERT_NOTIFIEDABOUTEXPIRATION = 21; /** Certificate is temporarily blocked (reversible) */ public static final int CERT_TEMP_REVOKED = 30; /** Certificate is permanently blocked (terminated) */ public static final int CERT_REVOKED = 40; /** Certificate is expired */ public static final int CERT_EXPIRED = 50; /** Certificate is expired and kept for archive purpose */ public static final int CERT_ARCHIVED = 60; // Certificate types used to create certificates /** Certificate used for encryption. */ public static final int CERT_TYPE_ENCRYPTION = 0x1; /** Certificate used for digital signatures. */ public static final int CERT_TYPE_SIGNATURE = 0x2; /** Certificate used for both encryption and signatures. */ public static final int CERT_TYPE_ENCSIGN = 0x3; // Constants used in certificate generation and publication. */ /** Certificate belongs to an end entity. */ public static final int CERTTYPE_ENDENTITY = 0x1; /** Certificate belongs to a sub ca. */ public static final int CERTTYPE_SUBCA = 0x2; /** Certificate belongs to a root ca. */ public static final int CERTTYPE_ROOTCA = 0x8; /** Certificate belongs on a hard token. */ public static final int CERTTYPE_HARDTOKEN = 0x16; // Constants used to contruct KeyUsage /** * @see org.ejbca.core.ejb.ca.sign.ISignSessionRemote */ public static final int digitalSignature = (1 << 7); public static final int nonRepudiation = (1 << 6); public static final int keyEncipherment = (1 << 5); public static final int dataEncipherment = (1 << 4); public static final int keyAgreement = (1 << 3); public static final int keyCertSign = (1 << 2); public static final int cRLSign = (1 << 1); public static final int encipherOnly = (1 << 0); public static final int decipherOnly = (1 << 15); private static final Logger log = Logger.getLogger(CertificateDataBean.class); /** * DN of issuer of certificate * * @return issuer dn * @ejb.persistence column-name="issuerDN" * @ejb.interface-method */ public abstract String getIssuerDN(); /** * Use setIssuer instead * * @param issuerDN issuer dn * * @see #setIssuer(String) */ public abstract void setIssuerDN(String issuerDN); /** * DN of subject in certificate * * @return subject dn * @ejb.persistence column-name="subjectDN" * @ejb.interface-method */ public abstract String getSubjectDN(); /** * Use setSubject instead * * @param subjectDN subject dn * * @see #setSubject(String) */ public abstract void setSubjectDN(String subjectDN); /** * Fingerprint of certificate * * @return fingerprint * @ejb.persistence column-name="fingerprint" * @ejb.interface-method * @ejb.pk-field */ public abstract String getFingerprint(); /** * Fingerprint of certificate * * @param fingerprint fingerprint */ public abstract void setFingerprint(String fingerprint); /** * Fingerprint of CA certificate * * @return fingerprint * @ejb.persistence column-name="cAFingerprint" * @ejb.interface-method */ public abstract String getCaFingerprint(); /** * Fingerprint of CA certificate * * @param cAFingerprint fingerprint * @ejb.interface-method */ public abstract void setCaFingerprint(String caFingerprint); /** * status of certificate, ex CertificateData.CERT_ACTIVE * * @return status * @ejb.persistence column-name="status" * @ejb.interface-method */ public abstract int getStatus(); /** * status of certificate, ex CertificateData.CERT_ACTIVE * * @param status status * @ejb.interface-method */ public abstract void setStatus(int status); /** * What type of user the certificate belongs to, ex SecConst.USER_ENDUSER * * @return user type * @ejb.persistence column-name="type" * @ejb.interface-method */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -