org.cesecore.certificates.certificate.CertificateStatus Maven / Gradle / Ivy
/*************************************************************************
* *
* EJBCA Community: 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.cesecore.certificates.certificate;
import java.io.Serializable;
import java.util.Date;
import org.cesecore.certificates.certificateprofile.CertificateProfileConstants;
import org.cesecore.certificates.crl.RevocationReasons;
import org.cesecore.certificates.crl.RevokedCertInfo;
/** Simple class encapsulating the certificate status information needed when making revocation checks.
*
* @version $Id: CertificateStatus.java 22920 2016-03-03 17:44:03Z samuellb $
*/
public class CertificateStatus implements Serializable {
private static final long serialVersionUID = 1515679904853388419L;
public final static CertificateStatus REVOKED = new CertificateStatus("REVOKED", -1L, RevokedCertInfo.REVOCATION_REASON_UNSPECIFIED, CertificateProfileConstants.CERTPROFILE_NO_PROFILE);
public final static CertificateStatus OK = new CertificateStatus("OK", -1L, RevokedCertInfo.NOT_REVOKED, CertificateProfileConstants.CERTPROFILE_NO_PROFILE);
public final static CertificateStatus NOT_AVAILABLE = new CertificateStatus("NOT_AVAILABLE", -1L, RevokedCertInfo.REVOCATION_REASON_UNSPECIFIED, CertificateProfileConstants.CERTPROFILE_NO_PROFILE);
private final String name;
public final Date revocationDate;
/** @see RevocationReasons */
public final int revocationReason;
public final int certificateProfileId;
public CertificateStatus(String name, long date, int reason, int certProfileId ) {
this.name = name;
this.revocationDate = new Date(date);
this.revocationReason = reason;
this.certificateProfileId = certProfileId;
}
@Override
public String toString() {
return this.name;
}
@Override
public boolean equals(Object obj) {
return obj instanceof CertificateStatus && this.equals((CertificateStatus)obj);
}
public boolean equals(CertificateStatus obj) {
return this.name.equals(obj.toString());
}
public boolean isRevoked() {
return revocationReason != RevokedCertInfo.NOT_REVOKED && revocationReason != RevokedCertInfo.REVOCATION_REASON_REMOVEFROMCRL;
}
}