1 /*	$NetBSD: certificate.h,v 1.2 2021/08/14 16:14:51 christos Exp $	*/
2 
3 
4 #include "asn-incl.h"
5 /*
6  *    certificate.h
7  *    "AuthenticationFramework" ASN.1 module encode/decode/extracting/matching/free C src.
8  *    This file was generated by modified eSMACC compiler Sat Dec 11 11:22:49 2004
9  *    The generated files are strongly encouraged to be
10  *    compiled as a module for OpenLDAP Software
11  */
12 
13 #ifndef _certificate_h_
14 #define _certificate_h_
15 
16 
17 
18 
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22 #ifdef _WIN32
23 #pragma warning( disable : 4101 )
24 #endif
25 #include "componentlib.h"
26 typedef enum AuthenticationFrameworkAnyId
27 {
28     nullOid_ANY_ID = 0,
29     nullOid2_ANY_ID = 1,
30     nullOid3_ANY_ID = 2,
31     printableStringOid_ANY_ID = 3,
32     printableStringOid2_ANY_ID = 4,
33     printableStringOid3_ANY_ID = 5,
34     printableStringOid4_ANY_ID = 6,
35     printableStringOid5_ANY_ID = 7,
36     printableStringOid6_ANY_ID = 8,
37     printableStringOid7_ANY_ID = 9,
38     iA5StringOid_ANY_ID = 10,
39     octetStringOid_ANY_ID = 11,
40     octetStringOid2_ANY_ID = 12,
41     octetStringOid3_ANY_ID = 13,
42     octetStringOid4_ANY_ID = 14,
43     octetStringOid5_ANY_ID = 15,
44     octetStringOid7_ANY_ID = 17} AuthenticationFrameworkAnyId;
45 
46 void InitAnyAuthenticationFramework();
47 
48 
49 #define V1 0
50 #define V2 1
51 #define V3 2
52 
53 typedef ComponentInt ComponentVersion; /* INTEGER { V1 (0), V2 (1), V3 (2) }  */
54 
55 #define MatchingComponentVersion MatchingComponentInt
56 
57 #define ExtractingComponentVersion ExtractingComponentInt
58 
59 #define BDecComponentVersion BDecComponentInt
60 
61 #define GDecComponentVersion GDecComponentInt
62 
63 
64 typedef ComponentInt ComponentCertificateSerialNumber; /* INTEGER */
65 
66 #define MatchingComponentCertificateSerialNumber MatchingComponentInt
67 
68 #define ExtractingComponentCertificateSerialNumber ExtractingComponentInt
69 
70 #define BDecComponentCertificateSerialNumber BDecComponentInt
71 
72 #define GDecComponentCertificateSerialNumber GDecComponentInt
73 
74 
75 typedef ComponentOid ComponentAttributeType; /* OBJECT IDENTIFIER */
76 
77 #define MatchingComponentAttributeType MatchingComponentOid
78 
79 #define ExtractingComponentAttributeType ExtractingComponentOid
80 
81 #define BDecComponentAttributeType BDecComponentOid
82 
83 #define GDecComponentAttributeType GDecComponentOid
84 
85 
86 typedef ComponentBits ComponentUniqueIdentifier; /* BIT STRING */
87 
88 #define MatchingComponentUniqueIdentifier MatchingComponentBits
89 
90 #define ExtractingComponentUniqueIdentifier ExtractingComponentBits
91 
92 #define BDecComponentUniqueIdentifier BDecComponentBits
93 
94 #define GDecComponentUniqueIdentifier GDecComponentBits
95 
96 
97 typedef struct AlgorithmIdentifier /* SEQUENCE */
98 {
99 	Syntax* syntax;
100 	ComponentDesc* comp_desc;
101 	struct berval identifier;
102 	char id_buf[MAX_IDENTIFIER_LEN];
103 	ComponentOid algorithm; /* OBJECT IDENTIFIER */
104 	ComponentAnyDefinedBy parameters; /* ANY DEFINED BY algorithm OPTIONAL */
105 } ComponentAlgorithmIdentifier;
106 
107 int MatchingComponentAlgorithmIdentifier PROTO (( char *oid, ComponentSyntaxInfo *, ComponentSyntaxInfo *v2 ));
108 
109 
110 void* ExtractingComponentAlgorithmIdentifier PROTO (( void* mem_op, ComponentReference *cr, ComponentAlgorithmIdentifier *comp ));
111 
112 
113 int BDecComponentAlgorithmIdentifier PROTO ((void* mem_op, GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentAlgorithmIdentifier **v, AsnLen *bytesDecoded, int mode));
114 
115 
116 int GDecComponentAlgorithmIdentifier PROTO (( void* mem_op, GenBuf * b, ComponentAlgorithmIdentifier **v, AsnLen *bytesDecoded, int mode));
117 
118 
119 
120 typedef struct Time /* CHOICE */
121 {
122 	Syntax* syntax;
123 	ComponentDesc* comp_desc;
124 	struct berval identifier;
125 	char id_buf[MAX_IDENTIFIER_LEN];
126     enum TimeChoiceId
127     {
128         TIME_UTCTIME,
129         TIME_GENERALIZEDTIME
130     } choiceId;
131     union TimeChoiceUnion
132     {
133 	ComponentUTCTime* utcTime; /* < unknown type id ?! > */
134 	ComponentGeneralizedTime* generalizedTime; /* < unknown type id ?! > */
135     } a;
136 } ComponentTime;
137 
138 int MatchingComponentTime PROTO (( char *oid, ComponentSyntaxInfo *, ComponentSyntaxInfo *v2 ));
139 
140 
141 void* ExtractingComponentTime PROTO (( void* mem_op, ComponentReference *cr, ComponentTime *comp ));
142 
143 
144 int BDecComponentTime PROTO ((void* mem_op, GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentTime **v, AsnLen *bytesDecoded, int mode));
145 
146 
147 int GDecComponentTime PROTO (( void* mem_op, GenBuf * b, ComponentTime **v, AsnLen *bytesDecoded, int mode));
148 
149 
150 
151 typedef struct Extension /* SEQUENCE */
152 {
153 	Syntax* syntax;
154 	ComponentDesc* comp_desc;
155 	struct berval identifier;
156 	char id_buf[MAX_IDENTIFIER_LEN];
157 	ComponentOid extnID; /* OBJECT IDENTIFIER */
158 	ComponentBool* critical; /* BOOLEAN DEFAULT FALSE */
159 	ComponentOcts extnValue; /* OCTET STRING */
160 } ComponentExtension;
161 
162 int MatchingComponentExtension PROTO (( char *oid, ComponentSyntaxInfo *, ComponentSyntaxInfo *v2 ));
163 
164 
165 void* ExtractingComponentExtension PROTO (( void* mem_op, ComponentReference *cr, ComponentExtension *comp ));
166 
167 
168 int BDecComponentExtension PROTO ((void* mem_op, GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentExtension **v, AsnLen *bytesDecoded, int mode));
169 
170 
171 int GDecComponentExtension PROTO (( void* mem_op, GenBuf * b, ComponentExtension **v, AsnLen *bytesDecoded, int mode));
172 
173 
174 
175 typedef struct AttributeTypeAndValue /* SEQUENCE */
176 {
177 	Syntax* syntax;
178 	ComponentDesc* comp_desc;
179 	struct berval identifier;
180 	char id_buf[MAX_IDENTIFIER_LEN];
181 	ComponentAttributeType type; /* AttributeType */
182 	ComponentAnyDefinedBy value; /* ANY DEFINED BY type */
183 } ComponentAttributeTypeAndValue;
184 
185 int MatchingComponentAttributeTypeAndValue PROTO (( char *oid, ComponentSyntaxInfo *, ComponentSyntaxInfo *v2 ));
186 
187 
188 void* ExtractingComponentAttributeTypeAndValue PROTO (( void* mem_op, ComponentReference *cr, ComponentAttributeTypeAndValue *comp ));
189 
190 
191 int BDecComponentAttributeTypeAndValue PROTO ((void* mem_op, GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentAttributeTypeAndValue **v, AsnLen *bytesDecoded, int mode));
192 
193 
194 int GDecComponentAttributeTypeAndValue PROTO (( void* mem_op, GenBuf * b, ComponentAttributeTypeAndValue **v, AsnLen *bytesDecoded, int mode));
195 
196 
197 
198 typedef struct Validity /* SEQUENCE */
199 {
200 	Syntax* syntax;
201 	ComponentDesc* comp_desc;
202 	struct berval identifier;
203 	char id_buf[MAX_IDENTIFIER_LEN];
204 	ComponentTime* notBefore; /* Time */
205 	ComponentTime* notAfter; /* Time */
206 } ComponentValidity;
207 
208 int MatchingComponentValidity PROTO (( char *oid, ComponentSyntaxInfo *, ComponentSyntaxInfo *v2 ));
209 
210 
211 void* ExtractingComponentValidity PROTO (( void* mem_op, ComponentReference *cr, ComponentValidity *comp ));
212 
213 
214 int BDecComponentValidity PROTO ((void* mem_op, GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentValidity **v, AsnLen *bytesDecoded, int mode));
215 
216 
217 int GDecComponentValidity PROTO (( void* mem_op, GenBuf * b, ComponentValidity **v, AsnLen *bytesDecoded, int mode));
218 
219 
220 
221 typedef struct SubjectPublicKeyInfo /* SEQUENCE */
222 {
223 	Syntax* syntax;
224 	ComponentDesc* comp_desc;
225 	struct berval identifier;
226 	char id_buf[MAX_IDENTIFIER_LEN];
227 	ComponentAlgorithmIdentifier* algorithm; /* AlgorithmIdentifier */
228 	ComponentBits subjectPublicKey; /* BIT STRING */
229 } ComponentSubjectPublicKeyInfo;
230 
231 int MatchingComponentSubjectPublicKeyInfo PROTO (( char *oid, ComponentSyntaxInfo *, ComponentSyntaxInfo *v2 ));
232 
233 
234 void* ExtractingComponentSubjectPublicKeyInfo PROTO (( void* mem_op, ComponentReference *cr, ComponentSubjectPublicKeyInfo *comp ));
235 
236 
237 int BDecComponentSubjectPublicKeyInfo PROTO ((void* mem_op, GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentSubjectPublicKeyInfo **v, AsnLen *bytesDecoded, int mode));
238 
239 
240 int GDecComponentSubjectPublicKeyInfo PROTO (( void* mem_op, GenBuf * b, ComponentSubjectPublicKeyInfo **v, AsnLen *bytesDecoded, int mode));
241 
242 
243 
244 typedef ComponentList ComponentExtensions; /* SEQUENCE SIZE 1..MAX OF Extension */
245 
246 int MatchingComponentExtensions PROTO (( char *oid, ComponentSyntaxInfo *, ComponentSyntaxInfo *v2 ));
247 
248 
249 void* ExtractingComponentExtensions PROTO (( void* mem_op, ComponentReference *cr, ComponentExtensions *comp ));
250 
251 
252 int BDecComponentExtensions PROTO ((void* mem_op, GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentExtensions **v, AsnLen *bytesDecoded, int mode));
253 
254 
255 int GDecComponentExtensions PROTO (( void* mem_op, GenBuf * b, ComponentExtensions **v, AsnLen *bytesDecoded, int mode));
256 
257 
258 
259 typedef ComponentList ComponentRelativeDistinguishedName; /* SET OF AttributeTypeAndValue */
260 
261 int MatchingComponentRelativeDistinguishedName PROTO (( char *oid, ComponentSyntaxInfo *, ComponentSyntaxInfo *v2 ));
262 
263 
264 void* ExtractingComponentRelativeDistinguishedName PROTO (( void* mem_op, ComponentReference *cr, ComponentRelativeDistinguishedName *comp ));
265 
266 
267 int BDecComponentRelativeDistinguishedName PROTO ((void* mem_op, GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentRelativeDistinguishedName **v, AsnLen *bytesDecoded, int mode));
268 
269 
270 int GDecComponentRelativeDistinguishedName PROTO (( void* mem_op, GenBuf * b, ComponentRelativeDistinguishedName **v, AsnLen *bytesDecoded, int mode));
271 
272 
273 
274 typedef ComponentList ComponentRDNSequence; /* SEQUENCE OF RelativeDistinguishedName */
275 
276 int MatchingComponentRDNSequence PROTO (( char *oid, ComponentSyntaxInfo *, ComponentSyntaxInfo *v2 ));
277 
278 
279 void* ExtractingComponentRDNSequence PROTO (( void* mem_op, ComponentReference *cr, ComponentRDNSequence *comp ));
280 
281 
282 int BDecComponentRDNSequence PROTO ((void* mem_op, GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentRDNSequence **v, AsnLen *bytesDecoded, int mode));
283 
284 
285 int GDecComponentRDNSequence PROTO (( void* mem_op, GenBuf * b, ComponentRDNSequence **v, AsnLen *bytesDecoded, int mode));
286 
287 
288 
289 typedef struct Name /* CHOICE */
290 {
291 	Syntax* syntax;
292 	ComponentDesc* comp_desc;
293 	struct berval identifier;
294 	char id_buf[MAX_IDENTIFIER_LEN];
295     enum NameChoiceId
296     {
297         NAME_RDNSEQUENCE
298     } choiceId;
299     union NameChoiceUnion
300     {
301 	ComponentRDNSequence* rdnSequence; /* RDNSequence */
302     } a;
303 } ComponentName;
304 
305 int MatchingComponentName PROTO (( char *oid, ComponentSyntaxInfo *, ComponentSyntaxInfo *v2 ));
306 
307 
308 void* ExtractingComponentName PROTO (( void* mem_op, ComponentReference *cr, ComponentName *comp ));
309 
310 
311 int BDecComponentName PROTO ((void* mem_op, GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentName **v, AsnLen *bytesDecoded, int mode));
312 
313 
314 int GDecComponentName PROTO (( void* mem_op, GenBuf * b, ComponentName **v, AsnLen *bytesDecoded, int mode));
315 
316 
317 
318 typedef struct TBSCertificate /* SEQUENCE */
319 {
320 	Syntax* syntax;
321 	ComponentDesc* comp_desc;
322 	struct berval identifier;
323 	char id_buf[MAX_IDENTIFIER_LEN];
324 	ComponentVersion* version; /* [0] Version DEFAULT v1 */
325 	ComponentCertificateSerialNumber serialNumber; /* CertificateSerialNumber */
326 	ComponentAlgorithmIdentifier* signature; /* AlgorithmIdentifier */
327 	ComponentName* issuer; /* Name */
328 	ComponentValidity* validity; /* Validity */
329 	ComponentName* subject; /* Name */
330 	ComponentSubjectPublicKeyInfo* subjectPublicKeyInfo; /* SubjectPublicKeyInfo */
331 	ComponentUniqueIdentifier issuerUniqueIdentifier; /* [1] IMPLICIT UniqueIdentifier OPTIONAL */
332 	ComponentUniqueIdentifier subjectUniqueIdentifier; /* [2] IMPLICIT UniqueIdentifier OPTIONAL */
333 	ComponentExtensions* extensions; /* [3] Extensions OPTIONAL */
334 } ComponentTBSCertificate;
335 
336 int MatchingComponentTBSCertificate PROTO (( char *oid, ComponentSyntaxInfo *, ComponentSyntaxInfo *v2 ));
337 
338 
339 void* ExtractingComponentTBSCertificate PROTO (( void* mem_op, ComponentReference *cr, ComponentTBSCertificate *comp ));
340 
341 
342 int BDecComponentTBSCertificate PROTO ((void* mem_op, GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentTBSCertificate **v, AsnLen *bytesDecoded, int mode));
343 
344 
345 int GDecComponentTBSCertificate PROTO (( void* mem_op, GenBuf * b, ComponentTBSCertificate **v, AsnLen *bytesDecoded, int mode));
346 
347 
348 
349 typedef struct Certificate /* SEQUENCE */
350 {
351 	Syntax* syntax;
352 	ComponentDesc* comp_desc;
353 	struct berval identifier;
354 	char id_buf[MAX_IDENTIFIER_LEN];
355 	ComponentTBSCertificate* toBeSigned; /* TBSCertificate */
356 	ComponentAlgorithmIdentifier* signatureAlgorithm; /* AlgorithmIdentifier */
357 	ComponentBits signature; /* BIT STRING */
358 } ComponentCertificate;
359 
360 int MatchingComponentCertificate PROTO (( char *oid, ComponentSyntaxInfo *, ComponentSyntaxInfo *v2 ));
361 
362 
363 void* ExtractingComponentCertificate PROTO (( void* mem_op, ComponentReference *cr, ComponentCertificate *comp ));
364 
365 
366 int BDecComponentCertificate PROTO ((void* mem_op, GenBuf * b, AsnTag tagId0, AsnLen elmtLen0, ComponentCertificate **v, AsnLen *bytesDecoded, int mode));
367 
368 
369 int GDecComponentCertificate PROTO (( void* mem_op, GenBuf * b, ComponentCertificate **v, AsnLen *bytesDecoded, int mode));
370 
371 
372 
373 /* ========== Object Declarations ========== */
374 
375 
376 /* ========== Object Set Declarations ========== */
377 #ifdef __cplusplus
378 extern "C" {
379 #endif
380 
381 #endif /* conditional include of certificate.h */
382