📄 certificatedatabean.java
字号:
public abstract int getType(); /** * What type of user the certificate belongs to, ex SecConst.USER_ENDUSER * * @param type type * @ejb.interface-method */ public abstract void setType(int type); /** * Serialnumber formated as BigInteger.toString() * * @return serial number * @ejb.persistence column-name="serialNumber" * @ejb.interface-method */ public abstract String getSerialNumber(); /** * Serialnumber formated as BigInteger.toString() * * @param serialNumber serial number * @ejb.interface-method */ public abstract void setSerialNumber(String serialNumber); /** * Date formated as seconds since 1970 (== Date.getTime()) * * @return expire date * @ejb.persistence column-name="expireDate" * @ejb.interface-method */ public abstract long getExpireDate(); /** * Date formated as seconds since 1970 (== Date.getTime()) * * @param expireDate expire date * @ejb.interface-method */ public abstract void setExpireDate(long expireDate); /** * Set to date when revocation occured if status== CERT_REVOKED. Format == Date.getTime() * * @return revocation date * @ejb.persistence column-name="revocationDate" * @ejb.interface-method */ public abstract long getRevocationDate(); /** * Set to date when revocation occured if status== CERT_REVOKED. Format == Date.getTime() * * @param revocationDate revocation date * @ejb.interface-method */ public abstract void setRevocationDate(long revocationDate); /** * Set to revocation reason if status== CERT_REVOKED * * @return revocation reason * @ejb.persistence column-name="revocationReason" * @ejb.interface-method */ public abstract int getRevocationReason(); /** * Set to revocation reason if status== CERT_REVOKED * * @param revocationReason revocation reason * @ejb.interface-method */ public abstract void setRevocationReason(int revocationReason); /** * certificate itself * * @return base64 encoded certificate * @ejb.persistence jdbc-type="LONGVARCHAR" column-name="base64Cert" * @ejb.interface-method */ public abstract String getBase64Cert(); /** * certificate itself * * @param base64Cert base64 encoded certificate * @ejb.interface-method */ public abstract void setBase64Cert(String base64Cert); /** * username in database * * @return username * @ejb.persistence column-name="username" * @ejb.interface-method */ public abstract String getUsername(); /** * username must be called 'striped' using StringTools.strip() * * @param username username * * @see org.ejbca.util.StringTools * @ejb.interface-method */ public abstract void setUsername(String username); // // Public business methods used to help us manage certificates // /** * certificate itself * * @return certificate * @ejb.interface-method */ public Certificate getCertificate() { X509Certificate cert = null; try { cert = CertTools.getCertfromByteArray(Base64.decode(getBase64Cert().getBytes())); } catch (CertificateException ce) { log.error("Can't decode certificate.", ce); return null; } return cert; } /** * certificate itself * * @param incert certificate * @ejb.interface-method */ public void setCertificate(Certificate incert) { try { String b64Cert = new String(Base64.encode(incert.getEncoded())); setBase64Cert(b64Cert); X509Certificate tmpcert = (X509Certificate) incert; String fp = CertTools.getFingerprintAsString(tmpcert); setFingerprint(fp); setSubjectDN(CertTools.getSubjectDN(tmpcert)); setIssuerDN(CertTools.getIssuerDN(tmpcert)); setSerialNumber(tmpcert.getSerialNumber().toString()); } catch (CertificateEncodingException cee) { log.error("Can't extract DER encoded certificate information.", cee); } } /** * DN of issuer of certificate * * @param dn issuer dn * @ejb.interface-method */ public void setIssuer(String dn) { setIssuerDN(CertTools.stringToBCDNString(dn)); } /** * DN of subject in certificate * * @param dn subject dn * @ejb.interface-method */ public void setSubject(String dn) { setSubjectDN(CertTools.stringToBCDNString(dn)); } /** * expire date of certificate * * @param expireDate expire date * @ejb.interface-method */ public void setExpireDate(Date expireDate) { if (expireDate == null) { setExpireDate(-1L); } else { setExpireDate(expireDate.getTime()); } } /** * date the certificate was revoked * * @param revocationDate revocation date * @ejb.interface-method */ public void setRevocationDate(Date revocationDate) { if (revocationDate == null) { setRevocationDate(-1L); } else { setRevocationDate(revocationDate.getTime()); } } // // Fields required by Container // /** * Entity Bean holding info about a certficate. Create by sending in the certificate, which * extracts (from the cert) fingerprint (primary key), subjectDN, issuerDN, serial number, * expiration date. Status, Type, CAFingerprint, revocationDate and revocationReason are set * to default values (CERT_UNASSIGNED, USER_INVALID, null, null and * REVOKATION_REASON_UNSPECIFIED) and should be set using the respective set-methods. * * @param incert the (X509)Certificate to be stored in the database. * * @return primary key * @ejb.create-method */ public CertificateDataPK ejbCreate(Certificate incert) throws CreateException { // Exctract all fields to store with the certificate. X509Certificate tmpcert; try { String b64Cert = new String(Base64.encode(incert.getEncoded())); setBase64Cert(b64Cert); tmpcert = (X509Certificate) incert; String fp = CertTools.getFingerprintAsString(tmpcert); setFingerprint(fp); // Make sure names are always looking the same setSubjectDN(CertTools.getSubjectDN(tmpcert)); setIssuerDN(CertTools.getIssuerDN(tmpcert)); log.debug("Creating certdata, subject=" + getSubjectDN() + ", issuer=" + getIssuerDN()); setSerialNumber(tmpcert.getSerialNumber().toString()); // Default values for status and type setStatus(CERT_UNASSIGNED); setType(SecConst.USER_INVALID); setCaFingerprint(null); setExpireDate(tmpcert.getNotAfter()); setRevocationDate(-1L); setRevocationReason(RevokedCertInfo.NOT_REVOKED); } catch (CertificateEncodingException cee) { log.error("Can't extract DER encoded certificate information.", cee); // TODO should throw an exception } return null; } /** * required method, does nothing * * @param incert certificate */ public void ejbPostCreate(Certificate incert) { // Do nothing. Required. }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -