1 | -- From rfc2560
|
---|
2 | -- $Id$
|
---|
3 | OCSP DEFINITIONS EXPLICIT TAGS::=
|
---|
4 |
|
---|
5 | BEGIN
|
---|
6 |
|
---|
7 | IMPORTS
|
---|
8 | Certificate, AlgorithmIdentifier, CRLReason,
|
---|
9 | Name, GeneralName, CertificateSerialNumber, Extensions
|
---|
10 | FROM rfc2459;
|
---|
11 |
|
---|
12 | OCSPVersion ::= INTEGER { ocsp-v1(0) }
|
---|
13 |
|
---|
14 | OCSPCertStatus ::= CHOICE {
|
---|
15 | good [0] IMPLICIT NULL,
|
---|
16 | revoked [1] IMPLICIT -- OCSPRevokedInfo -- SEQUENCE {
|
---|
17 | revocationTime GeneralizedTime,
|
---|
18 | revocationReason[0] EXPLICIT CRLReason OPTIONAL
|
---|
19 | },
|
---|
20 | unknown [2] IMPLICIT NULL }
|
---|
21 |
|
---|
22 | OCSPCertID ::= SEQUENCE {
|
---|
23 | hashAlgorithm AlgorithmIdentifier,
|
---|
24 | issuerNameHash OCTET STRING, -- Hash of Issuer's DN
|
---|
25 | issuerKeyHash OCTET STRING, -- Hash of Issuers public key
|
---|
26 | serialNumber CertificateSerialNumber }
|
---|
27 |
|
---|
28 | OCSPSingleResponse ::= SEQUENCE {
|
---|
29 | certID OCSPCertID,
|
---|
30 | certStatus OCSPCertStatus,
|
---|
31 | thisUpdate GeneralizedTime,
|
---|
32 | nextUpdate [0] EXPLICIT GeneralizedTime OPTIONAL,
|
---|
33 | singleExtensions [1] EXPLICIT Extensions OPTIONAL }
|
---|
34 |
|
---|
35 | OCSPInnerRequest ::= SEQUENCE {
|
---|
36 | reqCert OCSPCertID,
|
---|
37 | singleRequestExtensions [0] EXPLICIT Extensions OPTIONAL }
|
---|
38 |
|
---|
39 | OCSPTBSRequest ::= SEQUENCE {
|
---|
40 | version [0] EXPLICIT OCSPVersion -- DEFAULT v1 -- OPTIONAL,
|
---|
41 | requestorName [1] EXPLICIT GeneralName OPTIONAL,
|
---|
42 | requestList SEQUENCE OF OCSPInnerRequest,
|
---|
43 | requestExtensions [2] EXPLICIT Extensions OPTIONAL }
|
---|
44 |
|
---|
45 | OCSPSignature ::= SEQUENCE {
|
---|
46 | signatureAlgorithm AlgorithmIdentifier,
|
---|
47 | signature BIT STRING,
|
---|
48 | certs [0] EXPLICIT SEQUENCE OF Certificate OPTIONAL }
|
---|
49 |
|
---|
50 | OCSPRequest ::= SEQUENCE {
|
---|
51 | tbsRequest OCSPTBSRequest,
|
---|
52 | optionalSignature [0] EXPLICIT OCSPSignature OPTIONAL }
|
---|
53 |
|
---|
54 | OCSPResponseBytes ::= SEQUENCE {
|
---|
55 | responseType OBJECT IDENTIFIER,
|
---|
56 | response OCTET STRING }
|
---|
57 |
|
---|
58 | OCSPResponseStatus ::= ENUMERATED {
|
---|
59 | successful (0), --Response has valid confirmations
|
---|
60 | malformedRequest (1), --Illegal confirmation request
|
---|
61 | internalError (2), --Internal error in issuer
|
---|
62 | tryLater (3), --Try again later
|
---|
63 | --(4) is not used
|
---|
64 | sigRequired (5), --Must sign the request
|
---|
65 | unauthorized (6) --Request unauthorized
|
---|
66 | }
|
---|
67 |
|
---|
68 | OCSPResponse ::= SEQUENCE {
|
---|
69 | responseStatus OCSPResponseStatus,
|
---|
70 | responseBytes [0] EXPLICIT OCSPResponseBytes OPTIONAL }
|
---|
71 |
|
---|
72 | OCSPKeyHash ::= OCTET STRING --SHA-1 hash of responder's public key
|
---|
73 | --(excluding the tag and length fields)
|
---|
74 |
|
---|
75 | OCSPResponderID ::= CHOICE {
|
---|
76 | byName [1] Name,
|
---|
77 | byKey [2] OCSPKeyHash }
|
---|
78 |
|
---|
79 | OCSPResponseData ::= SEQUENCE {
|
---|
80 | version [0] EXPLICIT OCSPVersion -- DEFAULT v1 -- OPTIONAL,
|
---|
81 | responderID OCSPResponderID,
|
---|
82 | producedAt GeneralizedTime,
|
---|
83 | responses SEQUENCE OF OCSPSingleResponse,
|
---|
84 | responseExtensions [1] EXPLICIT Extensions OPTIONAL }
|
---|
85 |
|
---|
86 | OCSPBasicOCSPResponse ::= SEQUENCE {
|
---|
87 | tbsResponseData OCSPResponseData,
|
---|
88 | signatureAlgorithm AlgorithmIdentifier,
|
---|
89 | signature BIT STRING,
|
---|
90 | certs [0] EXPLICIT SEQUENCE OF Certificate OPTIONAL }
|
---|
91 |
|
---|
92 | -- ArchiveCutoff ::= GeneralizedTime
|
---|
93 |
|
---|
94 | -- AcceptableResponses ::= SEQUENCE OF OBJECT IDENTIFIER
|
---|
95 |
|
---|
96 | -- Object Identifiers
|
---|
97 |
|
---|
98 | id-pkix-ocsp OBJECT IDENTIFIER ::= {
|
---|
99 | iso(1) identified-organization(3) dod(6) internet(1)
|
---|
100 | security(5) mechanisms(5) pkix(7) pkix-ad(48) 1
|
---|
101 | }
|
---|
102 |
|
---|
103 | id-pkix-ocsp-basic OBJECT IDENTIFIER ::= { id-pkix-ocsp 1 }
|
---|
104 | id-pkix-ocsp-nonce OBJECT IDENTIFIER ::= { id-pkix-ocsp 2 }
|
---|
105 | -- id-pkix-ocsp-crl OBJECT IDENTIFIER ::= { id-pkix-ocsp 3 }
|
---|
106 | -- id-pkix-ocsp-response OBJECT IDENTIFIER ::= { id-pkix-ocsp 4 }
|
---|
107 | -- id-pkix-ocsp-nocheck OBJECT IDENTIFIER ::= { id-pkix-ocsp 5 }
|
---|
108 | -- id-pkix-ocsp-archive-cutoff OBJECT IDENTIFIER ::= { id-pkix-ocsp 6 }
|
---|
109 | -- id-pkix-ocsp-service-locator OBJECT IDENTIFIER ::= { id-pkix-ocsp 7 }
|
---|
110 |
|
---|
111 |
|
---|
112 | END
|
---|
113 |
|
---|