]> git.sur5r.net Git - openldap/blob - contrib/slapd-modules/comp_match/certificate.asn1
Merge remote-tracking branch 'origin/mdb.master'
[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 nullOid3 OBJECT-TYPE
85         SYNTAX  NULL
86         ACCESS read-write
87         STATUS mandatory
88         ::= { 1 2 840 113549 1 1 5 }
89
90 printableStringOid OBJECT-TYPE
91         SYNTAX PrintableString
92         ACCESS read-write
93         STATUS mandatory
94         ::= { 2 5 4 3 }
95
96 printableStringOid2 OBJECT-TYPE
97         SYNTAX PrintableString
98         ACCESS read-write
99         STATUS mandatory
100         ::= { 2 5 4 6 }    
101
102 printableStringOid3 OBJECT-TYPE
103         SYNTAX PrintableString
104         ACCESS read-write
105         STATUS mandatory
106         ::= { 2 5 4 7 }
107
108 printableStringOid4 OBJECT-TYPE
109         SYNTAX PrintableString
110         ACCESS read-write
111         STATUS mandatory
112         ::= { 2 5 4 8 }    
113
114 printableStringOid5 OBJECT-TYPE
115         SYNTAX PrintableString
116         ACCESS read-write
117         STATUS mandatory
118         ::= { 2 5 4 10 }    
119
120 printableStringOid6 OBJECT-TYPE
121         SYNTAX PrintableString
122         ACCESS read-write
123         STATUS mandatory
124         ::= { 2 5 4 11 }
125
126 printableStringOid7 OBJECT-TYPE
127         SYNTAX PrintableString
128         ACCESS read-write
129         STATUS mandatory
130         ::= { 0 9 2342 19200300 100 1 3 }
131
132
133 iA5StringOid OBJECT-TYPE
134         SYNTAX IA5String
135         ACCESS read-write
136         STATUS mandatory
137         ::= { 1 2 840 113549 1 9 1 }
138
139 octetStringOid OBJECT-TYPE
140         SYNTAX OCTET STRING
141         ACCESS read-write
142         STATUS mandatory
143         ::= { 2 5 29 19 }
144
145 octetStringOid2 OBJECT-TYPE
146         SYNTAX OCTET STRING
147         ACCESS read-write
148         STATUS mandatory
149         ::= { 2 16 840 1 113730 1 13 }
150
151 octetStringOid3 OBJECT-TYPE
152         SYNTAX OCTET STRING
153         ACCESS read-write
154         STATUS mandatory
155         ::= { 2 5 29 14 }
156
157 octetStringOid4 OBJECT-TYPE
158         SYNTAX OCTET STRING
159         ACCESS read-write
160         STATUS mandatory
161         ::= { 2 5 29 21 }
162
163 octetStringOid5 OBJECT-TYPE
164         SYNTAX OCTET STRING
165         ACCESS read-write
166         STATUS mandatory
167         ::= { 2 5 29 20 }
168
169 octetStringOid7 OBJECT-TYPE
170         SYNTAX OCTET STRING
171         ACCESS read-write
172         STATUS mandatory
173         ::= { 2 5 29 28 }
174
175 END