summaryrefslogtreecommitdiffstats
path: root/contrib/slapd-modules/comp_match/certificate.asn1
blob: db81897932eb3172f51cb045e8acd74d53b18ca7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
AuthenticationFramework {joint-iso-itu-t ds(5) module(1) authenticationFramework(7) 4} DEFINITIONS ::=
BEGIN
-- based on RFC 3280 and X.509

Certificate ::=	SEQUENCE {
	toBeSigned TBSCertificate,
	signatureAlgorithm AlgorithmIdentifier,
	signature BIT STRING
}

TBSCertificate ::= SEQUENCE {
		version [0] Version DEFAULT v1,
		serialNumber CertificateSerialNumber,
		signature AlgorithmIdentifier,
		issuer Name,
		validity Validity,
		subject Name,
		subjectPublicKeyInfo SubjectPublicKeyInfo,
		issuerUniqueIdentifier [1] IMPLICIT UniqueIdentifier OPTIONAL,
		-- if present, version shall be v2 or v3
		subjectUniqueIdentifier [2] IMPLICIT UniqueIdentifier OPTIONAL,
		-- if present, version shall be v2 or v3
		extensions [3] Extensions OPTIONAL
		-- If present, version shall be v3 -- }

Version ::= INTEGER { v1(0), v2(1), v3(2) }

CertificateSerialNumber ::= INTEGER

AlgorithmIdentifier ::= SEQUENCE {
	algorithm	OBJECT IDENTIFIER,
	parameters	ANY DEFINED BY algorithm OPTIONAL -- DSA, SHA-1--
}

Name ::= CHOICE {
	rdnSequence RDNSequence }

RDNSequence ::= SEQUENCE OF RelativeDistinguishedName

RelativeDistinguishedName ::= SET OF AttributeTypeAndValue

AttributeTypeAndValue ::= SEQUENCE {
	type     AttributeType,
	value    ANY DEFINED BY type}

AttributeType ::= OBJECT IDENTIFIER

Validity ::= SEQUENCE {
	notBefore Time,
	notAfter Time }

UniqueIdentifier  ::=  BIT STRING

SubjectPublicKeyInfo ::= SEQUENCE {
	algorithm AlgorithmIdentifier,
	subjectPublicKey BIT STRING }

Time ::= CHOICE {
	utcTime UTCTime,
	generalizedTime GeneralizedTime }

Extensions ::= SEQUENCE SIZE(1..MAX) OF Extension

Extension ::= SEQUENCE {
	extnID	OBJECT IDENTIFIER,
	critical BOOLEAN DEFAULT FALSE,
	extnValue OCTET STRING
-- contains a DER encoding of a value of type &ExtnType
-- for the extension object identified by extnId --
}

nullOid OBJECT-TYPE
	SYNTAX	NULL
	ACCESS read-write
	STATUS mandatory
	::= { 1 2 840 113549 1 1 4 }

nullOid2 OBJECT-TYPE
	SYNTAX	NULL
	ACCESS read-write
	STATUS mandatory
	::= { 1 2 840 113549 1 1 1 }

nullOid3 OBJECT-TYPE
	SYNTAX	NULL
	ACCESS read-write
	STATUS mandatory
	::= { 1 2 840 113549 1 1 5 }

printableStringOid OBJECT-TYPE
	SYNTAX PrintableString
	ACCESS read-write
	STATUS mandatory
	::= { 2 5 4 3 }

printableStringOid2 OBJECT-TYPE
	SYNTAX PrintableString
	ACCESS read-write
	STATUS mandatory
	::= { 2 5 4 6 }    

printableStringOid3 OBJECT-TYPE
	SYNTAX PrintableString
	ACCESS read-write
	STATUS mandatory
	::= { 2 5 4 7 }

printableStringOid4 OBJECT-TYPE
	SYNTAX PrintableString
	ACCESS read-write
	STATUS mandatory
	::= { 2 5 4 8 }    

printableStringOid5 OBJECT-TYPE
	SYNTAX PrintableString
	ACCESS read-write
	STATUS mandatory
	::= { 2 5 4 10 }    

printableStringOid6 OBJECT-TYPE
	SYNTAX PrintableString
	ACCESS read-write
	STATUS mandatory
	::= { 2 5 4 11 }

printableStringOid7 OBJECT-TYPE
	SYNTAX PrintableString
	ACCESS read-write
	STATUS mandatory
	::= { 0 9 2342 19200300 100 1 3 }


iA5StringOid OBJECT-TYPE
	SYNTAX IA5String
	ACCESS read-write
	STATUS mandatory
	::= { 1 2 840 113549 1 9 1 }

octetStringOid OBJECT-TYPE
	SYNTAX OCTET STRING
	ACCESS read-write
	STATUS mandatory
	::= { 2 5 29 19 }

octetStringOid2 OBJECT-TYPE
	SYNTAX OCTET STRING
	ACCESS read-write
	STATUS mandatory
	::= { 2 16 840 1 113730 1 13 }

octetStringOid3 OBJECT-TYPE
	SYNTAX OCTET STRING
	ACCESS read-write
	STATUS mandatory
	::= { 2 5 29 14 }

octetStringOid4 OBJECT-TYPE
	SYNTAX OCTET STRING
	ACCESS read-write
	STATUS mandatory
	::= { 2 5 29 21 }

octetStringOid5 OBJECT-TYPE
	SYNTAX OCTET STRING
	ACCESS read-write
	STATUS mandatory
	::= { 2 5 29 20 }

octetStringOid7 OBJECT-TYPE
	SYNTAX OCTET STRING
	ACCESS read-write
	STATUS mandatory
	::= { 2 5 29 28 }

END