OCSPResponseCode.java
- /*
- * GovWay - A customizable API Gateway
- * https://govway.org
- *
- * Copyright (c) 2005-2025 Link.it srl (https://link.it).
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 3, as published by
- * the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
- package org.openspcoop2.utils.certificate.ocsp;
- import org.bouncycastle.cert.ocsp.OCSPResp;
- /**
- * OCSPResponseCode
- *
- * @author Poli Andrea (apoli@link.it)
- * @author $Author$
- * @version $Rev$, $Date$
- */
- public enum OCSPResponseCode {
-
- SUCCESSFUL(OCSPResp.SUCCESSFUL), // 0
- // https://www.rfc-editor.org/rfc/rfc6960#section-2.3
- // A server produces the "malformedRequest" response if the request
- //received does not conform to the OCSP syntax.
- MALFORMED_REQUEST(OCSPResp.MALFORMED_REQUEST), // 1
-
- // The response "internalError" indicates that the OCSP responder
- // reached an inconsistent internal state. The query should be retried,
- // potentially with another responder.
- INTERNAL_ERROR(OCSPResp.INTERNAL_ERROR), // 2
-
- // In the event that the OCSP responder is operational but unable to
- // return a status for the requested certificate, the "tryLater"
- // response can be used to indicate that the service exists but is
- // temporarily unable to respond.
- TRY_LATER(OCSPResp.TRY_LATER), // 3
-
- // The response "sigRequired" is returned in cases where the server
- // requires that the client sign the request in order to construct a
- // response.
- SIG_REQUIRED(OCSPResp.SIG_REQUIRED), // 5
-
- // The response "unauthorized" is returned in cases where the client is
- // not authorized to make this query to this server or the server is not
- // capable of responding authoritatively
- UNAUTHORIZED(OCSPResp.UNAUTHORIZED), // 6
-
- // Unknown
- UNKNOWN(-1),
-
- // Situazioni limite prima di avere una risposta
- OCSP_BUILD_REQUEST_FAILED(-2),
- OCSP_INVOKE_FAILED(-3);
-
-
- private int code;
-
- OCSPResponseCode(int code)
- {
- this.code = code;
- }
- public int getCode()
- {
- return this.code;
- }
-
- public String getMessage() {
- switch (this) {
- case SUCCESSFUL:
- return "Successful";
- case INTERNAL_ERROR:
- return "Internal error";
- case TRY_LATER:
- return "Internal error, try later.";
- case SIG_REQUIRED:
- return "Invalid or missing signature";
- case UNAUTHORIZED:
- return "Unauthorized request";
- case MALFORMED_REQUEST:
- return "Malformed request";
- case OCSP_BUILD_REQUEST_FAILED:
- return "OCSP build request signed failed";
- case OCSP_INVOKE_FAILED:
- return "OCSP invoke failed";
- default:
- return "Error";
- }
- }
-
- @Override
- public String toString(){
- return this.name();
- }
-
- public boolean equals(int code){
- return this.code == code;
- }
-
- public static final OCSPResponseCode toOCSPResponseCode(int code){
- if(code == SUCCESSFUL.code) {
- return OCSPResponseCode.SUCCESSFUL;
- }
- else if(code == MALFORMED_REQUEST.code) {
- return OCSPResponseCode.MALFORMED_REQUEST;
- }
- else if(code == INTERNAL_ERROR.code) {
- return OCSPResponseCode.INTERNAL_ERROR;
- }
- else if(code == TRY_LATER.code) {
- return OCSPResponseCode.TRY_LATER;
- }
- else if(code == SIG_REQUIRED.code) {
- return OCSPResponseCode.SIG_REQUIRED;
- }
- else if(code == UNAUTHORIZED.code) {
- return OCSPResponseCode.UNAUTHORIZED;
- }
- else if(code == UNKNOWN.code) {
- return OCSPResponseCode.UNKNOWN;
- }
- else if(code == OCSP_BUILD_REQUEST_FAILED.code) {
- return OCSPResponseCode.OCSP_BUILD_REQUEST_FAILED;
- }
- else if(code == OCSP_INVOKE_FAILED.code) {
- return OCSPResponseCode.OCSP_INVOKE_FAILED;
- }
-
- return OCSPResponseCode.UNKNOWN;
- }
- }