heimdal: import heimdal's trunk svn rev 23697 + lorikeet-heimdal patches
[Samba/vfs_proxy.git] / source4 / heimdal / lib / hx509 / ocsp.asn1
blobeb090a4cc7684f37ce5b25641325c9baf5776e58
1 -- From rfc2560
2 -- $Id$
3 OCSP DEFINITIONS EXPLICIT TAGS::=
5 BEGIN
7 IMPORTS
8         Certificate, AlgorithmIdentifier, CRLReason,
9         Name, GeneralName, CertificateSerialNumber, Extensions
10         FROM rfc2459;
12 OCSPVersion  ::=  INTEGER {  ocsp-v1(0) }
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 }
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 }
28 OCSPSingleResponse ::= SEQUENCE {
29    certID                       OCSPCertID,
30    certStatus                   OCSPCertStatus,
31    thisUpdate                   GeneralizedTime,
32    nextUpdate           [0]     EXPLICIT GeneralizedTime OPTIONAL,
33    singleExtensions     [1]     EXPLICIT Extensions OPTIONAL }
35 OCSPInnerRequest ::=     SEQUENCE {
36     reqCert                    OCSPCertID,
37     singleRequestExtensions    [0] EXPLICIT Extensions OPTIONAL }
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 }
45 OCSPSignature       ::=     SEQUENCE {
46     signatureAlgorithm   AlgorithmIdentifier,
47     signature            BIT STRING,
48     certs                [0] EXPLICIT SEQUENCE OF Certificate OPTIONAL }
50 OCSPRequest     ::=     SEQUENCE {
51     tbsRequest                  OCSPTBSRequest,
52     optionalSignature   [0]     EXPLICIT OCSPSignature OPTIONAL }
54 OCSPResponseBytes ::=       SEQUENCE {
55     responseType   OBJECT IDENTIFIER,
56     response       OCTET STRING }
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
68 OCSPResponse ::= SEQUENCE {
69    responseStatus         OCSPResponseStatus,
70    responseBytes          [0] EXPLICIT OCSPResponseBytes OPTIONAL }
72 OCSPKeyHash ::= OCTET STRING --SHA-1 hash of responder's public key
73                          --(excluding the tag and length fields)
75 OCSPResponderID ::= CHOICE {
76    byName   [1] Name,
77    byKey    [2] OCSPKeyHash }
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 }
86 OCSPBasicOCSPResponse       ::= SEQUENCE {
87    tbsResponseData      OCSPResponseData,
88    signatureAlgorithm   AlgorithmIdentifier,
89    signature            BIT STRING,
90    certs                [0] EXPLICIT SEQUENCE OF Certificate OPTIONAL }
92 -- ArchiveCutoff ::= GeneralizedTime
94 -- AcceptableResponses ::= SEQUENCE OF OBJECT IDENTIFIER
96 -- Object Identifiers
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
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 }