]> git.sur5r.net Git - openldap/blob - contrib/slapd-modules/comp_match/certificate.asn1
0036f4bc07819a69bde34f8e80a3c102a9c44aa2
[openldap] / contrib / slapd-modules / comp_match / certificate.asn1
1 AuthenticationFramework {joint-iso-itu-t ds(5) module(1) authenticationFramework(7) 4} DEFINITIONS ::=
2 BEGIN
3 -- based on RFC 3280 and X.509
4
5 Certificate ::= SEQUENCE {
6         toBeSigned TBSCertificate,
7         signatureAlgorithm AlgorithmIdentifier,
8         signature BIT STRING
9 }
10
11 TBSCertificate ::= SEQUENCE {
12                 version [0] Version DEFAULT v1,
13                 serialNumber CertificateSerialNumber,
14                 signature AlgorithmIdentifier,
15                 issuer Name,
16                 validity Validity,
17                 subject Name,
18                 subjectPublicKeyInfo SubjectPublicKeyInfo,
19                 issuerUniqueIdentifier [1] IMPLICIT UniqueIdentifier OPTIONAL,
20                 -- if present, version shall be v2 or v3
21                 subjectUniqueIdentifier [2] IMPLICIT UniqueIdentifier OPTIONAL,
22                 -- if present, version shall be v2 or v3
23                 extensions [3] Extensions OPTIONAL
24                 -- If present, version shall be v3 -- }
25
26 Version ::= INTEGER { v1(0), v2(1), v3(2) }
27
28 CertificateSerialNumber ::= INTEGER
29
30 AlgorithmIdentifier ::= SEQUENCE {
31         algorithm       OBJECT IDENTIFIER,
32         parameters      ANY DEFINED BY algorithm OPTIONAL -- DSA, SHA-1--
33 }
34
35 Name ::= CHOICE {
36         rdnSequence RDNSequence }
37
38 RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
39
40 RelativeDistinguishedName ::= SET OF AttributeTypeAndValue
41
42 AttributeTypeAndValue ::= SEQUENCE {
43         type     AttributeType,
44         value    ANY DEFINED BY type}
45
46 AttributeType ::= OBJECT IDENTIFIER
47
48 Validity ::= SEQUENCE {
49         notBefore Time,
50         notAfter Time }
51
52 UniqueIdentifier  ::=  BIT STRING
53
54 SubjectPublicKeyInfo ::= SEQUENCE {
55         algorithm AlgorithmIdentifier,
56         subjectPublicKey BIT STRING }
57
58 Time ::= CHOICE {
59         utcTime UTCTime,
60         generalizedTime GeneralizedTime }
61
62 Extensions ::= SEQUENCE SIZE(1..MAX) OF Extension
63
64 Extension ::= SEQUENCE {
65         extnID  OBJECT IDENTIFIER,
66         critical BOOLEAN DEFAULT FALSE,
67         extnValue OCTET STRING
68 -- contains a DER encoding of a value of type &ExtnType
69 -- for the extension object identified by extnId --
70 }
71
72 nullOid OBJECT-TYPE
73         SYNTAX  NULL
74         ACCESS read-write
75         STATUS mandatory
76         ::= { 1 2 840 113549 1 1 4 }
77
78 nullOid2 OBJECT-TYPE
79         SYNTAX  NULL
80         ACCESS read-write
81         STATUS mandatory
82         ::= { 1 2 840 113549 1 1 1 }
83
84 printableStringOid OBJECT-TYPE
85         SYNTAX PrintableString
86         ACCESS read-write
87         STATUS mandatory
88         ::= { 2 5 4 3 }
89
90 printableStringOid2 OBJECT-TYPE
91         SYNTAX PrintableString
92         ACCESS read-write
93         STATUS mandatory
94         ::= { 2 5 4 6 }    
95
96 printableStringOid3 OBJECT-TYPE
97         SYNTAX PrintableString
98         ACCESS read-write
99         STATUS mandatory
100         ::= { 2 5 4 7 }
101
102 printableStringOid4 OBJECT-TYPE
103         SYNTAX PrintableString
104         ACCESS read-write
105         STATUS mandatory
106         ::= { 2 5 4 8 }    
107
108 printableStringOid5 OBJECT-TYPE
109         SYNTAX PrintableString
110         ACCESS read-write
111         STATUS mandatory
112         ::= { 2 5 4 10 }    
113
114 printableStringOid6 OBJECT-TYPE
115         SYNTAX PrintableString
116         ACCESS read-write
117         STATUS mandatory
118         ::= { 2 5 4 11 }
119
120 iA5StringOid OBJECT-TYPE
121         SYNTAX IA5String
122         ACCESS read-write
123         STATUS mandatory
124         ::= { 1 2 840 113549 1 9 1 }
125
126 octetStringOid OBJECT-TYPE
127         SYNTAX OCTET STRING
128         ACCESS read-write
129         STATUS mandatory
130         ::= { 2 5 29 19 }
131
132 octetStringOid2 OBJECT-TYPE
133         SYNTAX OCTET STRING
134         ACCESS read-write
135         STATUS mandatory
136         ::= { 2 16 840 1 113730 1 13 }
137
138 octetStringOid3 OBJECT-TYPE
139         SYNTAX OCTET STRING
140         ACCESS read-write
141         STATUS mandatory
142         ::= { 2 5 29 14 }
143
144 END