14eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Rootpackage org.bouncycastle.asn1.ocsp;
24eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root
34eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Rootimport java.math.BigInteger;
44eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root
54eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Rootimport org.bouncycastle.asn1.ASN1Enumerated;
64eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Rootimport org.bouncycastle.asn1.ASN1Object;
74eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Rootimport org.bouncycastle.asn1.ASN1Primitive;
84eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root
94eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Rootpublic class OCSPResponseStatus
104eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root    extends ASN1Object
114eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root{
124eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root    public static final int SUCCESSFUL = 0;
134eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root    public static final int MALFORMED_REQUEST = 1;
144eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root    public static final int INTERNAL_ERROR = 2;
154eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root    public static final int TRY_LATER = 3;
164eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root    public static final int SIG_REQUIRED = 5;
174eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root    public static final int UNAUTHORIZED = 6;
184eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root
194eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root    private ASN1Enumerated value;
204eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root
214eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root    /**
224eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root     * The OCSPResponseStatus enumeration.
234eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root     * <pre>
244eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root     * OCSPResponseStatus ::= ENUMERATED {
254eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root     *     successful            (0),  --Response has valid confirmations
264eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root     *     malformedRequest      (1),  --Illegal confirmation request
274eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root     *     internalError         (2),  --Internal error in issuer
284eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root     *     tryLater              (3),  --Try again later
294eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root     *                                 --(4) is not used
304eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root     *     sigRequired           (5),  --Must sign the request
314eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root     *     unauthorized          (6)   --Request unauthorized
324eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root     * }
334eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root     * </pre>
344eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root     */
354eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root    public OCSPResponseStatus(
364eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root        int value)
374eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root    {
384eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root        this(new ASN1Enumerated(value));
394eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root    }
404eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root
414eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root    private OCSPResponseStatus(
424eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root        ASN1Enumerated value)
434eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root    {
444eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root        this.value = value;
454eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root    }
464eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root
474eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root    public static OCSPResponseStatus getInstance(
484eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root        Object  obj)
494eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root    {
504eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root        if (obj instanceof OCSPResponseStatus)
514eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root        {
524eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root            return (OCSPResponseStatus)obj;
534eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root        }
544eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root        else if (obj != null)
554eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root        {
564eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root            return new OCSPResponseStatus(ASN1Enumerated.getInstance(obj));
574eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root        }
584eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root
594eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root        return null;
604eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root    }
614eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root
624eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root    public BigInteger getValue()
634eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root    {
644eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root        return value.getValue();
654eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root    }
664eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root
674eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root    public ASN1Primitive toASN1Primitive()
684eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root    {
694eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root        return value;
704eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root    }
714eb438010b8024cfa97cdad1906a8e6963a16f5bKenny Root}
72