Added big boy Makefile and updated README accordingly.
[bcr-a2csamples.git] / printcert / rfc3280.h
blob56ae8718d2fe821a78e04745559ef6e08b6b04f9
1 #include <A2C.h>
2 #ifndef __rfc3280__H__
3 #define __rfc3280__H__
5 #ifdef __cplusplus
6 extern "C" {
7 #endif
9 #define Cert_Version_v1 0
10 #define Cert_Version_v2 1
11 #define Cert_Version_v3 2
12 #define Cert_terminalType__Type_telex 3
13 #define Cert_terminalType__Type_teletex 4
14 #define Cert_terminalType__Type_g3_facsimile 5
15 #define Cert_terminalType__Type_g4_facsimile 6
16 #define Cert_terminalType__Type_ia5_terminal 7
17 #define Cert_terminalType__Type_videotex 8
18 #define CertImpl_ReasonFlags_unused 0
19 #define CertImpl_ReasonFlags_keyCompromise 1
20 #define CertImpl_ReasonFlags_cACompromise 2
21 #define CertImpl_ReasonFlags_affiliationChanged 3
22 #define CertImpl_ReasonFlags_superseded 4
23 #define CertImpl_ReasonFlags_cessationOfOperation 5
24 #define CertImpl_ReasonFlags_certificateHold 6
25 #define CertImpl_ReasonFlags_privilegeWithdrawn 7
26 #define CertImpl_ReasonFlags_aACompromise 8
27 #define CertImpl_CRLReason_unspecified 0
28 #define CertImpl_CRLReason_keyCompromise 1
29 #define CertImpl_CRLReason_cACompromise 2
30 #define CertImpl_CRLReason_affiliationChanged 3
31 #define CertImpl_CRLReason_superseded 4
32 #define CertImpl_CRLReason_cessationOfOperation 5
33 #define CertImpl_CRLReason_certificateHold 6
34 #define CertImpl_CRLReason_removeFromCRL 8
35 #define CertImpl_CRLReason_privilegeWithdrawn 9
36 #define CertImpl_CRLReason_aACompromise 10
37 #define CertImpl_KeyUsage_digitalSignature 0
38 #define CertImpl_KeyUsage_nonRepudiation 1
39 #define CertImpl_KeyUsage_keyEncipherment 2
40 #define CertImpl_KeyUsage_dataEncipherment 3
41 #define CertImpl_KeyUsage_keyAgreement 4
42 #define CertImpl_KeyUsage_keyCertSign 5
43 #define CertImpl_KeyUsage_cRLSign 6
44 #define CertImpl_KeyUsage_encipherOnly 7
45 #define CertImpl_KeyUsage_decipherOnly 8
46 extern const A2C_INTEGER_NATIVE Cert_ub_match;
48 typedef A2C_PRINTABLE_STRING Cert_x520countryName__Type;
50 extern const A2C_DESCRIPTOR Cert_x520countryName__Type_descriptor;
51 extern const A2C_INTEGER_NATIVE Cert_ub_common_name;
52 extern const A2C_INTEGER_NATIVE Cert_ub_numeric_user_id_length;
54 typedef struct {
55 A2C_OBJECT_IDENTIFIER type;
56 A2C_OPEN_TYPE value;
57 } Cert_AttributeTypeAndValue;
59 extern const A2C_DESCRIPTOR Cert_AttributeTypeAndValue_descriptor;
61 typedef struct {
62 int count;
63 int countAllocated;
64 Cert_AttributeTypeAndValue * array;
65 } Cert_RelativeDistinguishedName;
67 extern const A2C_DESCRIPTOR Cert_RelativeDistinguishedName_descriptor;
69 typedef struct {
70 int count;
71 int countAllocated;
72 Cert_RelativeDistinguishedName * array;
73 } Cert_RDNSequence;
75 extern const A2C_DESCRIPTOR Cert_RDNSequence_descriptor;
77 typedef struct {
78 int index;
79 union {
80 #define Cert_Name_rdnSequence_index 0
81 Cert_RDNSequence rdnSequence;
83 } Cert_Name;
85 extern const A2C_DESCRIPTOR Cert_Name_descriptor;
87 typedef struct {
88 const A2C_OBJECT_IDENTIFIER * id;
89 const A2C_DESCRIPTOR * Type;
90 } Cert_ATTRIBUTE;
91 extern const Cert_ATTRIBUTE Cert_x520dnQualifier;
92 extern const A2C_INTEGER_NATIVE Cert_teletexDomainDefinedAttributes__id;
93 extern const A2C_INTEGER_NATIVE Cert_ub_country_name_alpha_length;
94 extern const A2C_INTEGER_NATIVE Cert_ub_organization_name;
96 typedef struct {
97 const A2C_INTEGER_NATIVE * id;
98 const A2C_DESCRIPTOR * Type;
99 } Cert_EXTENSION_ATTRIBUTE;
101 typedef struct {
102 unsigned int optionalFields;
103 #define Cert_PDSParameter_printable_string_present 1
104 #define Cert_PDSParameter_teletex_string_present 2
105 A2C_PRINTABLE_STRING printable_string;
106 A2C_TELETEX_STRING teletex_string;
107 } Cert_PDSParameter;
109 extern const A2C_DESCRIPTOR Cert_PDSParameter_descriptor;
110 extern const Cert_EXTENSION_ATTRIBUTE Cert_physicalDeliveryOrganizationName;
112 typedef A2C_PRINTABLE_STRING Cert_ea_commonName__Type;
114 extern const A2C_DESCRIPTOR Cert_ea_commonName__Type_descriptor;
115 extern const Cert_EXTENSION_ATTRIBUTE Cert_ea_commonName;
116 extern const Cert_EXTENSION_ATTRIBUTE Cert_extensionPhysicalDeliveryAddressComponents;
117 extern const Cert_EXTENSION_ATTRIBUTE Cert_extensionORAddressComponents;
118 extern const A2C_INTEGER_NATIVE Cert_ub_terminal_id_length;
120 typedef struct {
121 unsigned int optionalFields;
122 #define Cert_AlgorithmIdentifier_parameters_present 1
123 A2C_OBJECT_IDENTIFIER algorithm;
124 A2C_OPEN_TYPE parameters;
125 } Cert_AlgorithmIdentifier;
127 extern const A2C_DESCRIPTOR Cert_AlgorithmIdentifier_descriptor;
128 extern const A2C_INTEGER_NATIVE Cert_ub_given_name_length;
130 typedef A2C_OBJECT_IDENTIFIER Cert_AttributeType;
132 extern const A2C_DESCRIPTOR Cert_AttributeType_descriptor;
133 extern const Cert_AttributeType Cert_id_at_localityName;
134 extern const A2C_INTEGER_NATIVE Cert_teletexCommonName__id;
135 extern const A2C_OBJECT_IDENTIFIER Cert_id_ad;
136 extern const A2C_INTEGER_NATIVE Cert_ub_country_name_numeric_length;
137 extern const Cert_AttributeType Cert_id_at_generationQualifier;
139 typedef A2C_INTEGER_HUGE Cert_CertificateSerialNumber;
141 extern const A2C_DESCRIPTOR Cert_CertificateSerialNumber_descriptor;
143 typedef struct {
144 int index;
145 union {
146 #define Cert_Time_utcTime_index 0
147 A2C_UTC_TIME utcTime;
148 #define Cert_Time_generalTime_index 1
149 A2C_GENERALIZED_TIME generalTime;
151 } Cert_Time;
153 extern const A2C_DESCRIPTOR Cert_Time_descriptor;
155 typedef struct {
156 A2C_OBJECT_IDENTIFIER extnID;
157 A2C_BOOLEAN critical;
158 A2C_OCTET_STRING extnValue;
159 } Cert_Extension;
161 extern const A2C_DESCRIPTOR Cert_Extension_descriptor;
163 typedef struct {
164 int count;
165 int countAllocated;
166 Cert_Extension * array;
167 } Cert_Extensions;
169 extern const A2C_DESCRIPTOR Cert_Extensions_descriptor;
171 typedef struct {
172 unsigned int optionalFields;
173 #define Cert_TBSCertList__revokedCertificates_array_crlEntryExtensions_present 1
174 Cert_CertificateSerialNumber userCertificate;
175 Cert_Time revocationDate;
177 /* Extension Group version: 2 */
178 Cert_Extensions crlEntryExtensions;
181 } Cert_TBSCertList__revokedCertificates_array;
183 extern const A2C_DESCRIPTOR Cert_TBSCertList__revokedCertificates_array_descriptor;
185 typedef struct {
186 unsigned int optionalFields;
187 #define Cert_unformattedPostalAddress__Type_printable_address_present 1
188 #define Cert_unformattedPostalAddress__Type_teletex_string_present 2
189 struct {
190 int count;
191 int countAllocated;
192 A2C_PRINTABLE_STRING * array;
193 } printable_address;
194 A2C_TELETEX_STRING teletex_string;
195 } Cert_unformattedPostalAddress__Type;
197 extern const A2C_DESCRIPTOR Cert_unformattedPostalAddress__Type_descriptor;
198 extern const Cert_EXTENSION_ATTRIBUTE Cert_unformattedPostalAddress;
199 extern const A2C_INTEGER_NATIVE Cert_ub_state_name;
201 typedef A2C_TELETEX_STRING Cert_TeletexOrganizationalUnitName;
203 extern const A2C_DESCRIPTOR Cert_TeletexOrganizationalUnitName_descriptor;
205 typedef struct {
206 int count;
207 int countAllocated;
208 Cert_TeletexOrganizationalUnitName * array;
209 } Cert_teletexOrganizationalUnitNames__Type;
211 extern const A2C_DESCRIPTOR Cert_teletexOrganizationalUnitNames__Type_descriptor;
212 extern const Cert_AttributeType Cert_id_at_initials;
213 extern const A2C_OBJECT_IDENTIFIER Cert_id_qt;
215 typedef struct {
216 int index;
217 union {
218 #define Cert_CountryName_x121_dcc_code_index 0
219 A2C_NUMERIC_STRING x121_dcc_code;
220 #define Cert_CountryName_iso_3166_alpha2_code_index 1
221 A2C_PRINTABLE_STRING iso_3166_alpha2_code;
223 } Cert_CountryName;
225 extern const A2C_DESCRIPTOR Cert_CountryName_descriptor;
227 typedef struct {
228 int index;
229 union {
230 #define Cert_AdministrationDomainName_numeric_index 0
231 A2C_NUMERIC_STRING numeric;
232 #define Cert_AdministrationDomainName_printable_index 1
233 A2C_PRINTABLE_STRING printable;
235 } Cert_AdministrationDomainName;
237 extern const A2C_DESCRIPTOR Cert_AdministrationDomainName_descriptor;
239 typedef A2C_NUMERIC_STRING Cert_X121Address;
241 extern const A2C_DESCRIPTOR Cert_X121Address_descriptor;
243 typedef Cert_X121Address Cert_NetworkAddress;
245 extern const A2C_DESCRIPTOR Cert_NetworkAddress_descriptor;
247 typedef A2C_PRINTABLE_STRING Cert_TerminalIdentifier;
249 extern const A2C_DESCRIPTOR Cert_TerminalIdentifier_descriptor;
251 typedef struct {
252 int index;
253 union {
254 #define Cert_PrivateDomainName_numeric_index 0
255 A2C_NUMERIC_STRING numeric;
256 #define Cert_PrivateDomainName_printable_index 1
257 A2C_PRINTABLE_STRING printable;
259 } Cert_PrivateDomainName;
261 extern const A2C_DESCRIPTOR Cert_PrivateDomainName_descriptor;
263 typedef A2C_PRINTABLE_STRING Cert_OrganizationName;
265 extern const A2C_DESCRIPTOR Cert_OrganizationName_descriptor;
267 typedef A2C_NUMERIC_STRING Cert_NumericUserIdentifier;
269 extern const A2C_DESCRIPTOR Cert_NumericUserIdentifier_descriptor;
271 typedef struct {
272 unsigned int optionalFields;
273 #define Cert_PersonalName_given_name_present 1
274 #define Cert_PersonalName_initials_present 2
275 #define Cert_PersonalName_generation_qualifier_present 4
276 A2C_PRINTABLE_STRING surname;
277 A2C_PRINTABLE_STRING given_name;
278 A2C_PRINTABLE_STRING initials;
279 A2C_PRINTABLE_STRING generation_qualifier;
280 } Cert_PersonalName;
282 extern const A2C_DESCRIPTOR Cert_PersonalName_descriptor;
284 typedef A2C_PRINTABLE_STRING Cert_OrganizationalUnitName;
286 extern const A2C_DESCRIPTOR Cert_OrganizationalUnitName_descriptor;
288 typedef struct {
289 int count;
290 int countAllocated;
291 Cert_OrganizationalUnitName * array;
292 } Cert_OrganizationalUnitNames;
294 extern const A2C_DESCRIPTOR Cert_OrganizationalUnitNames_descriptor;
296 typedef struct {
297 unsigned int optionalFields;
298 #define Cert_BuiltInStandardAttributes_country_name_present 1
299 #define Cert_BuiltInStandardAttributes_administration_domain_name_present 2
300 #define Cert_BuiltInStandardAttributes_network_address_present 4
301 #define Cert_BuiltInStandardAttributes_terminal_identifier_present 8
302 #define Cert_BuiltInStandardAttributes_private_domain_name_present 16
303 #define Cert_BuiltInStandardAttributes_organization_name_present 32
304 #define Cert_BuiltInStandardAttributes_numeric_user_identifier_present 64
305 #define Cert_BuiltInStandardAttributes_personal_name_present 128
306 #define Cert_BuiltInStandardAttributes_organizational_unit_names_present 256
307 Cert_CountryName country_name;
308 Cert_AdministrationDomainName administration_domain_name;
309 Cert_NetworkAddress network_address;
310 Cert_TerminalIdentifier terminal_identifier;
311 Cert_PrivateDomainName private_domain_name;
312 Cert_OrganizationName organization_name;
313 Cert_NumericUserIdentifier numeric_user_identifier;
314 Cert_PersonalName personal_name;
315 Cert_OrganizationalUnitNames organizational_unit_names;
316 } Cert_BuiltInStandardAttributes;
318 extern const A2C_DESCRIPTOR Cert_BuiltInStandardAttributes_descriptor;
320 typedef struct {
321 A2C_PRINTABLE_STRING type;
322 A2C_PRINTABLE_STRING value;
323 } Cert_BuiltInDomainDefinedAttribute;
325 extern const A2C_DESCRIPTOR Cert_BuiltInDomainDefinedAttribute_descriptor;
327 typedef struct {
328 int count;
329 int countAllocated;
330 Cert_BuiltInDomainDefinedAttribute * array;
331 } Cert_BuiltInDomainDefinedAttributes;
333 extern const A2C_DESCRIPTOR Cert_BuiltInDomainDefinedAttributes_descriptor;
335 typedef struct {
336 A2C_INTEGER_NATIVE extension_attribute_type;
337 A2C_OPEN_TYPE extension_attribute_value;
338 } Cert_ExtensionAttribute;
340 extern const A2C_DESCRIPTOR Cert_ExtensionAttribute_descriptor;
342 typedef struct {
343 int count;
344 int countAllocated;
345 Cert_ExtensionAttribute * array;
346 } Cert_ExtensionAttributes;
348 extern const A2C_DESCRIPTOR Cert_ExtensionAttributes_descriptor;
350 typedef struct {
351 unsigned int optionalFields;
352 #define Cert_ORAddress_built_in_domain_defined_attributes_present 1
353 #define Cert_ORAddress_extension_attributes_present 2
354 Cert_BuiltInStandardAttributes built_in_standard_attributes;
355 Cert_BuiltInDomainDefinedAttributes built_in_domain_defined_attributes;
356 Cert_ExtensionAttributes extension_attributes;
357 } Cert_ORAddress;
359 extern const A2C_DESCRIPTOR Cert_ORAddress_descriptor;
361 typedef A2C_TELETEX_STRING Cert_teletexCommonName__Type;
363 extern const A2C_DESCRIPTOR Cert_teletexCommonName__Type_descriptor;
364 extern const A2C_INTEGER_NATIVE Cert_extensionORAddressComponents__id;
365 extern const A2C_INTEGER_NATIVE Cert_ub_pds_physical_address_lines;
367 typedef A2C_INTEGER_NATIVE Cert_Version;
369 extern const A2C_DESCRIPTOR Cert_Version_descriptor;
371 typedef struct {
372 Cert_Time notBefore;
373 Cert_Time notAfter;
374 } Cert_Validity;
376 extern const A2C_DESCRIPTOR Cert_Validity_descriptor;
378 typedef struct {
379 Cert_AlgorithmIdentifier algorithm;
380 A2C_BIT_STRING subjectPublicKey;
381 } Cert_SubjectPublicKeyInfo;
383 extern const A2C_DESCRIPTOR Cert_SubjectPublicKeyInfo_descriptor;
385 typedef A2C_BIT_STRING Cert_UniqueIdentifier;
387 extern const A2C_DESCRIPTOR Cert_UniqueIdentifier_descriptor;
389 typedef struct {
390 unsigned int optionalFields;
391 #define Cert_TBSCertificate_issuerUniqueID_present 1
392 #define Cert_TBSCertificate_subjectUniqueID_present 2
393 #define Cert_TBSCertificate_extensions_present 4
394 Cert_Version version;
395 Cert_CertificateSerialNumber serialNumber;
396 Cert_AlgorithmIdentifier signature;
397 Cert_Name issuer;
398 Cert_Validity validity;
399 Cert_Name subject;
400 Cert_SubjectPublicKeyInfo subjectPublicKeyInfo;
402 /* Extension Group version: 2 */
403 Cert_UniqueIdentifier issuerUniqueID;
404 Cert_UniqueIdentifier subjectUniqueID;
406 /* Extension Group version: 3 */
407 Cert_Extensions extensions;
410 } Cert_TBSCertificate;
412 extern const A2C_DESCRIPTOR Cert_TBSCertificate_descriptor;
414 typedef struct {
415 unsigned int optionalFields;
416 #define Cert_teletexPersonalName__Type_given_name_present 1
417 #define Cert_teletexPersonalName__Type_initials_present 2
418 #define Cert_teletexPersonalName__Type_generation_qualifier_present 4
419 A2C_TELETEX_STRING surname;
420 A2C_TELETEX_STRING given_name;
421 A2C_TELETEX_STRING initials;
422 A2C_TELETEX_STRING generation_qualifier;
423 } Cert_teletexPersonalName__Type;
425 extern const A2C_DESCRIPTOR Cert_teletexPersonalName__Type_descriptor;
426 extern const A2C_INTEGER_NATIVE Cert_ub_locality_name;
427 extern const A2C_INTEGER_NATIVE Cert_ub_common_name_length;
429 typedef struct {
430 A2C_TELETEX_STRING type;
431 A2C_TELETEX_STRING value;
432 } Cert_TeletexDomainDefinedAttribute;
434 extern const A2C_DESCRIPTOR Cert_TeletexDomainDefinedAttribute_descriptor;
436 typedef struct {
437 int count;
438 int countAllocated;
439 Cert_TeletexDomainDefinedAttribute * array;
440 } Cert_teletexDomainDefinedAttributes__Type;
442 extern const A2C_DESCRIPTOR Cert_teletexDomainDefinedAttributes__Type_descriptor;
443 extern const Cert_EXTENSION_ATTRIBUTE Cert_teletexDomainDefinedAttributes;
444 extern const Cert_EXTENSION_ATTRIBUTE Cert_posteRestanteAddress;
445 extern const A2C_OBJECT_IDENTIFIER Cert_id_at;
447 typedef Cert_RDNSequence Cert_DistinguishedName;
449 extern const A2C_DESCRIPTOR Cert_DistinguishedName_descriptor;
450 extern const A2C_INTEGER_NATIVE Cert_ub_x121_address_length;
452 typedef struct {
453 const A2C_OBJECT_IDENTIFIER * id;
454 const A2C_DESCRIPTOR * Type;
455 } Cert_ALGORITHM;
457 typedef struct {
458 int index;
459 union {
460 #define Cert_postalCode__Type_numeric_code_index 0
461 A2C_NUMERIC_STRING numeric_code;
462 #define Cert_postalCode__Type_printable_code_index 1
463 A2C_PRINTABLE_STRING printable_code;
465 } Cert_postalCode__Type;
467 extern const A2C_DESCRIPTOR Cert_postalCode__Type_descriptor;
469 typedef struct {
470 unsigned int optionalFields;
471 #define Cert_TBSCertList_version_present 1
472 #define Cert_TBSCertList_nextUpdate_present 2
473 #define Cert_TBSCertList_revokedCertificates_present 4
474 #define Cert_TBSCertList_crlExtensions_present 8
475 Cert_Version version;
476 Cert_AlgorithmIdentifier signature;
477 Cert_Name issuer;
478 Cert_Time thisUpdate;
479 Cert_Time nextUpdate;
480 struct {
481 int count;
482 int countAllocated;
483 Cert_TBSCertList__revokedCertificates_array * array;
484 } revokedCertificates;
486 /* Extension Group version: 2 */
487 Cert_Extensions crlExtensions;
490 } Cert_TBSCertList;
492 extern const A2C_DESCRIPTOR Cert_TBSCertList_descriptor;
493 extern const A2C_INTEGER_NATIVE Cert_ub_title;
494 extern const A2C_OBJECT_IDENTIFIER Cert_id_ad_caRepository;
495 extern const A2C_INTEGER_NATIVE Cert_physicalDeliveryCountryName__id;
496 extern const A2C_INTEGER_NATIVE Cert_physicalDeliveryPersonalName__id;
498 typedef struct {
499 int index;
500 union {
501 #define Cert_CommonName_teletexString_index 0
502 A2C_TELETEX_STRING teletexString;
503 #define Cert_CommonName_printableString_index 1
504 A2C_PRINTABLE_STRING printableString;
505 #define Cert_CommonName_universalString_index 2
506 A2C_UNIVERSAL_STRING universalString;
507 #define Cert_CommonName_utf8String_index 3
508 A2C_UTF8_STRING utf8String;
509 #define Cert_CommonName_bmpString_index 4
510 A2C_BMP_STRING bmpString;
512 } Cert_CommonName;
514 extern const A2C_DESCRIPTOR Cert_CommonName_descriptor;
515 extern const A2C_INTEGER_NATIVE Cert_ub_emailaddress_length;
516 extern const A2C_INTEGER_NATIVE Cert_uniquePostalName__id;
517 extern const A2C_INTEGER_NATIVE Cert_ub_domain_name_length;
519 typedef struct {
520 int index;
521 union {
522 #define Cert_X520name_teletexString_index 0
523 A2C_TELETEX_STRING teletexString;
524 #define Cert_X520name_printableString_index 1
525 A2C_PRINTABLE_STRING printableString;
526 #define Cert_X520name_universalString_index 2
527 A2C_UNIVERSAL_STRING universalString;
528 #define Cert_X520name_utf8String_index 3
529 A2C_UTF8_STRING utf8String;
530 #define Cert_X520name_bmpString_index 4
531 A2C_BMP_STRING bmpString;
533 } Cert_X520name;
535 extern const A2C_DESCRIPTOR Cert_X520name_descriptor;
536 extern const Cert_ATTRIBUTE Cert_x520name;
537 extern const A2C_INTEGER_NATIVE Cert_localPostalAttributes__id;
538 extern const A2C_INTEGER_NATIVE Cert_physicalDeliveryOrganizationName__id;
540 typedef struct {
541 int index;
542 union {
543 #define Cert_x520Title__Type_teletexString_index 0
544 A2C_TELETEX_STRING teletexString;
545 #define Cert_x520Title__Type_printableString_index 1
546 A2C_PRINTABLE_STRING printableString;
547 #define Cert_x520Title__Type_universalString_index 2
548 A2C_UNIVERSAL_STRING universalString;
549 #define Cert_x520Title__Type_utf8String_index 3
550 A2C_UTF8_STRING utf8String;
551 #define Cert_x520Title__Type_bmpString_index 4
552 A2C_BMP_STRING bmpString;
554 } Cert_x520Title__Type;
556 extern const A2C_DESCRIPTOR Cert_x520Title__Type_descriptor;
557 extern const Cert_ATTRIBUTE Cert_x520Title;
559 typedef A2C_IA5_STRING Cert_emailAddress__Type;
561 extern const A2C_DESCRIPTOR Cert_emailAddress__Type_descriptor;
562 extern const Cert_ATTRIBUTE Cert_emailAddress;
563 extern const A2C_INTEGER_NATIVE Cert_teletexOrganizationalUnitNames__id;
564 extern const A2C_OBJECT_IDENTIFIER Cert_id_qt_unotice;
566 typedef A2C_PRINTABLE_STRING Cert_x520SerialNumber__Type;
568 extern const A2C_DESCRIPTOR Cert_x520SerialNumber__Type_descriptor;
569 extern const Cert_ATTRIBUTE Cert_x520SerialNumber;
570 extern const A2C_INTEGER_NATIVE Cert_ub_e163_4_number_length;
571 extern const A2C_INTEGER_NATIVE Cert_ub_integer_options;
573 typedef struct {
574 const A2C_OBJECT_IDENTIFIER * id;
575 const A2C_DESCRIPTOR * ExtnType;
576 } Cert_EXTENSION;
578 typedef struct {
579 int index;
580 union {
581 #define Cert_physicalDeliveryCountryName__Type_x121_dcc_code_index 0
582 A2C_NUMERIC_STRING x121_dcc_code;
583 #define Cert_physicalDeliveryCountryName__Type_iso_3166_alpha2_code_index 1
584 A2C_PRINTABLE_STRING iso_3166_alpha2_code;
586 } Cert_physicalDeliveryCountryName__Type;
588 extern const A2C_DESCRIPTOR Cert_physicalDeliveryCountryName__Type_descriptor;
589 extern const Cert_EXTENSION_ATTRIBUTE Cert_physicalDeliveryCountryName;
590 extern const Cert_ATTRIBUTE Cert_commonName;
592 typedef struct {
593 int index;
594 union {
595 #define Cert_x520LocalityName__Type_teletexString_index 0
596 A2C_TELETEX_STRING teletexString;
597 #define Cert_x520LocalityName__Type_printableString_index 1
598 A2C_PRINTABLE_STRING printableString;
599 #define Cert_x520LocalityName__Type_universalString_index 2
600 A2C_UNIVERSAL_STRING universalString;
601 #define Cert_x520LocalityName__Type_utf8String_index 3
602 A2C_UTF8_STRING utf8String;
603 #define Cert_x520LocalityName__Type_bmpString_index 4
604 A2C_BMP_STRING bmpString;
606 } Cert_x520LocalityName__Type;
608 extern const A2C_DESCRIPTOR Cert_x520LocalityName__Type_descriptor;
609 extern const Cert_ATTRIBUTE Cert_x520LocalityName;
611 typedef struct {
612 int index;
613 union {
614 #define Cert_x520StateOrProvinceName__Type_teletexString_index 0
615 A2C_TELETEX_STRING teletexString;
616 #define Cert_x520StateOrProvinceName__Type_printableString_index 1
617 A2C_PRINTABLE_STRING printableString;
618 #define Cert_x520StateOrProvinceName__Type_universalString_index 2
619 A2C_UNIVERSAL_STRING universalString;
620 #define Cert_x520StateOrProvinceName__Type_utf8String_index 3
621 A2C_UTF8_STRING utf8String;
622 #define Cert_x520StateOrProvinceName__Type_bmpString_index 4
623 A2C_BMP_STRING bmpString;
625 } Cert_x520StateOrProvinceName__Type;
627 extern const A2C_DESCRIPTOR Cert_x520StateOrProvinceName__Type_descriptor;
628 extern const Cert_ATTRIBUTE Cert_x520StateOrProvinceName;
630 typedef struct {
631 int index;
632 union {
633 #define Cert_x520OrganizationName__Type_teletexString_index 0
634 A2C_TELETEX_STRING teletexString;
635 #define Cert_x520OrganizationName__Type_printableString_index 1
636 A2C_PRINTABLE_STRING printableString;
637 #define Cert_x520OrganizationName__Type_universalString_index 2
638 A2C_UNIVERSAL_STRING universalString;
639 #define Cert_x520OrganizationName__Type_utf8String_index 3
640 A2C_UTF8_STRING utf8String;
641 #define Cert_x520OrganizationName__Type_bmpString_index 4
642 A2C_BMP_STRING bmpString;
644 } Cert_x520OrganizationName__Type;
646 extern const A2C_DESCRIPTOR Cert_x520OrganizationName__Type_descriptor;
647 extern const Cert_ATTRIBUTE Cert_x520OrganizationName;
649 typedef struct {
650 int index;
651 union {
652 #define Cert_x520OrganizationalUnitName__Type_teletexString_index 0
653 A2C_TELETEX_STRING teletexString;
654 #define Cert_x520OrganizationalUnitName__Type_printableString_index 1
655 A2C_PRINTABLE_STRING printableString;
656 #define Cert_x520OrganizationalUnitName__Type_universalString_index 2
657 A2C_UNIVERSAL_STRING universalString;
658 #define Cert_x520OrganizationalUnitName__Type_utf8String_index 3
659 A2C_UTF8_STRING utf8String;
660 #define Cert_x520OrganizationalUnitName__Type_bmpString_index 4
661 A2C_BMP_STRING bmpString;
663 } Cert_x520OrganizationalUnitName__Type;
665 extern const A2C_DESCRIPTOR Cert_x520OrganizationalUnitName__Type_descriptor;
666 extern const Cert_ATTRIBUTE Cert_x520OrganizationalUnitName;
667 extern const Cert_ATTRIBUTE Cert_x520countryName;
669 typedef struct {
670 int index;
671 union {
672 #define Cert_x520Pseudonym__Type_teletexString_index 0
673 A2C_TELETEX_STRING teletexString;
674 #define Cert_x520Pseudonym__Type_printableString_index 1
675 A2C_PRINTABLE_STRING printableString;
676 #define Cert_x520Pseudonym__Type_universalString_index 2
677 A2C_UNIVERSAL_STRING universalString;
678 #define Cert_x520Pseudonym__Type_utf8String_index 3
679 A2C_UTF8_STRING utf8String;
680 #define Cert_x520Pseudonym__Type_bmpString_index 4
681 A2C_BMP_STRING bmpString;
683 } Cert_x520Pseudonym__Type;
685 extern const A2C_DESCRIPTOR Cert_x520Pseudonym__Type_descriptor;
686 extern const Cert_ATTRIBUTE Cert_x520Pseudonym;
687 extern const Cert_ATTRIBUTE Cert_domainComponent;
689 extern const A2C_OBJECT_SET Cert_SupportedAttributes;
690 extern const A2C_INTEGER_NATIVE Cert_ub_initials_length;
692 typedef struct {
693 Cert_TBSCertificate toBeSigned;
694 Cert_AlgorithmIdentifier algorithm;
695 A2C_BIT_STRING signature;
696 } Cert_Certificate;
698 extern const A2C_DESCRIPTOR Cert_Certificate_descriptor;
699 extern const Cert_AttributeType Cert_id_at_organizationName;
700 extern const A2C_OBJECT_IDENTIFIER Cert_id_kp;
701 extern const A2C_OBJECT_IDENTIFIER Cert_id_ad_caIssuers;
702 extern const Cert_AttributeType Cert_id_domainComponent;
703 extern const A2C_INTEGER_NATIVE Cert_teletexPersonalName__id;
704 extern const A2C_INTEGER_NATIVE Cert_postalCode__id;
705 extern const Cert_EXTENSION_ATTRIBUTE Cert_physicalDeliveryOfficeNumber;
706 extern const A2C_OBJECT_IDENTIFIER Cert_id_pkix;
707 extern const A2C_INTEGER_NATIVE Cert_postOfficeBoxAddress__id;
708 extern const Cert_EXTENSION_ATTRIBUTE Cert_physicalDeliveryPersonalName;
709 extern const A2C_OBJECT_IDENTIFIER Cert_pkcs_9;
710 extern const A2C_INTEGER_NATIVE Cert_ea_commonName__id;
711 extern const A2C_INTEGER_NATIVE Cert_ub_generation_qualifier_length;
713 extern const A2C_OBJECT_SET Cert_ExtensionSet;
714 extern const Cert_EXTENSION_ATTRIBUTE Cert_teletexOrganizationalUnitNames;
715 extern const Cert_AttributeType Cert_id_at_surname;
716 extern const A2C_INTEGER_NATIVE Cert_posteRestanteAddress__id;
717 extern const Cert_AttributeType Cert_id_at_name;
719 typedef A2C_TELETEX_STRING Cert_teletexOrganizationName__Type;
721 extern const A2C_DESCRIPTOR Cert_teletexOrganizationName__Type_descriptor;
722 extern const Cert_EXTENSION_ATTRIBUTE Cert_teletexOrganizationName;
723 extern const Cert_AttributeType Cert_id_at_commonName;
724 extern const A2C_INTEGER_NATIVE Cert_streetAddress__id;
725 extern const Cert_EXTENSION_ATTRIBUTE Cert_teletexPersonalName;
726 extern const Cert_EXTENSION_ATTRIBUTE Cert_localPostalAttributes;
727 extern const A2C_INTEGER_NATIVE Cert_extendedNetworkAddress__id;
729 typedef A2C_PRINTABLE_STRING Cert_pDSName__Type;
731 extern const A2C_DESCRIPTOR Cert_pDSName__Type_descriptor;
732 extern const Cert_AttributeType Cert_id_at_title;
733 extern const A2C_INTEGER_NATIVE Cert_pDSName__id;
734 extern const A2C_INTEGER_NATIVE Cert_ub_pseudonym;
735 extern const A2C_INTEGER_NATIVE Cert_ub_name;
737 typedef struct {
738 unsigned int optionalFields;
739 #define Cert_PresentationAddress_pSelector_present 1
740 #define Cert_PresentationAddress_sSelector_present 2
741 #define Cert_PresentationAddress_tSelector_present 4
742 A2C_OCTET_STRING pSelector;
743 A2C_OCTET_STRING sSelector;
744 A2C_OCTET_STRING tSelector;
745 struct {
746 int count;
747 int countAllocated;
748 A2C_OCTET_STRING * array;
749 } nAddresses;
750 } Cert_PresentationAddress;
752 extern const A2C_DESCRIPTOR Cert_PresentationAddress_descriptor;
753 extern const Cert_AttributeType Cert_id_at_countryName;
754 extern const A2C_INTEGER_NATIVE Cert_ub_organizational_units;
755 extern const Cert_AttributeType Cert_id_at_stateOrProvinceName;
756 extern const A2C_INTEGER_NATIVE Cert_ub_organizational_unit_name_length;
757 extern const Cert_AttributeType Cert_id_at_serialNumber;
758 extern const A2C_INTEGER_NATIVE Cert_ub_domain_defined_attribute_type_length;
759 extern const A2C_INTEGER_NATIVE Cert_ub_unformatted_address_length;
760 extern const A2C_INTEGER_NATIVE Cert_physicalDeliveryOfficeName__id;
761 extern const Cert_EXTENSION_ATTRIBUTE Cert_uniquePostalName;
763 typedef struct {
764 Cert_TBSCertList toBeSigned;
765 Cert_AlgorithmIdentifier algorithm;
766 A2C_BIT_STRING signature;
767 } Cert_CertificateList;
769 extern const A2C_DESCRIPTOR Cert_CertificateList_descriptor;
770 extern const Cert_AttributeType Cert_id_at_dnQualifier;
771 extern const A2C_INTEGER_NATIVE Cert_teletexOrganizationName__id;
772 extern const Cert_EXTENSION_ATTRIBUTE Cert_postalCode;
773 extern const A2C_INTEGER_NATIVE Cert_ub_organizational_unit_name;
774 extern const A2C_INTEGER_NATIVE Cert_ub_serial_number;
775 extern const A2C_INTEGER_NATIVE Cert_ub_organization_name_length;
776 extern const A2C_INTEGER_NATIVE Cert_terminalType__id;
777 extern const A2C_INTEGER_NATIVE Cert_ub_postal_code_length;
778 extern const A2C_INTEGER_NATIVE Cert_ub_surname_length;
780 typedef A2C_INTEGER_NATIVE Cert_terminalType__Type;
782 extern const A2C_DESCRIPTOR Cert_terminalType__Type_descriptor;
783 extern const Cert_EXTENSION_ATTRIBUTE Cert_terminalType;
784 extern const A2C_INTEGER_NATIVE Cert_ub_pds_name_length;
785 extern const A2C_INTEGER_NATIVE Cert_ub_e163_4_sub_address_length;
786 extern const Cert_AttributeType Cert_id_at_givenName;
787 extern const A2C_INTEGER_NATIVE Cert_ub_pds_parameter_length;
788 extern const A2C_OBJECT_IDENTIFIER Cert_id_ad_ocsp;
790 extern const A2C_OBJECT_SET Cert_SupportedAlgorithms;
792 extern const A2C_OBJECT_SET Cert_SupportedExtensionAttributes;
793 extern const A2C_INTEGER_NATIVE Cert_extensionPhysicalDeliveryAddressComponents__id;
794 extern const Cert_EXTENSION_ATTRIBUTE Cert_pDSName;
795 extern const A2C_INTEGER_NATIVE Cert_physicalDeliveryOfficeNumber__id;
796 extern const A2C_INTEGER_NATIVE Cert_unformattedPostalAddress__id;
797 extern const A2C_INTEGER_NATIVE Cert_ub_domain_defined_attributes;
798 extern const Cert_AttributeType Cert_id_at_pseudonym;
799 extern const A2C_INTEGER_NATIVE Cert_ub_domain_defined_attribute_value_length;
800 extern const Cert_AttributeType Cert_id_at_organizationalUnitName;
801 extern const Cert_EXTENSION_ATTRIBUTE Cert_postOfficeBoxAddress;
803 typedef struct {
804 int index;
805 union {
806 #define Cert_extendedNetworkAddress__Type_e163_4_address_index 0
807 struct {
808 unsigned int optionalFields;
809 #define Cert_extendedNetworkAddress__Type__e163_4_address_sub_address_present 1
810 A2C_NUMERIC_STRING number;
811 A2C_NUMERIC_STRING sub_address;
812 } e163_4_address;
813 #define Cert_extendedNetworkAddress__Type_psap_address_index 1
814 Cert_PresentationAddress psap_address;
816 } Cert_extendedNetworkAddress__Type;
818 extern const A2C_DESCRIPTOR Cert_extendedNetworkAddress__Type_descriptor;
819 extern const A2C_OBJECT_IDENTIFIER Cert_id_pe;
820 extern const Cert_EXTENSION_ATTRIBUTE Cert_teletexCommonName;
822 typedef struct {
823 A2C_OBJECT_IDENTIFIER type;
824 struct {
825 int count;
826 int countAllocated;
827 A2C_OPEN_TYPE * array;
828 } values;
829 } Cert_Attribute;
831 extern const A2C_DESCRIPTOR Cert_Attribute_descriptor;
832 extern const Cert_EXTENSION_ATTRIBUTE Cert_extendedNetworkAddress;
833 extern const Cert_EXTENSION_ATTRIBUTE Cert_streetAddress;
834 extern const Cert_EXTENSION_ATTRIBUTE Cert_physicalDeliveryOfficeName;
835 extern const A2C_INTEGER_NATIVE Cert_ub_extension_attributes;
836 extern const Cert_AttributeType Cert_id_emailAddress;
837 extern const A2C_OBJECT_IDENTIFIER Cert_id_ad_timeStamping;
838 extern const A2C_OBJECT_IDENTIFIER Cert_id_qt_cps;
839 extern const A2C_OBJECT_IDENTIFIER CertImpl_id_kp_emailProtection;
841 typedef struct {
842 unsigned int optionalFields;
843 #define CertImpl_EDIPartyName_nameAssigner_present 1
844 struct {
845 int index;
846 union {
847 #define CertImpl_EDIPartyName__nameAssigner_teletexString_index 0
848 A2C_TELETEX_STRING teletexString;
849 #define CertImpl_EDIPartyName__nameAssigner_printableString_index 1
850 A2C_PRINTABLE_STRING printableString;
851 #define CertImpl_EDIPartyName__nameAssigner_universalString_index 2
852 A2C_UNIVERSAL_STRING universalString;
853 #define CertImpl_EDIPartyName__nameAssigner_utf8String_index 3
854 A2C_UTF8_STRING utf8String;
855 #define CertImpl_EDIPartyName__nameAssigner_bmpString_index 4
856 A2C_BMP_STRING bmpString;
858 } nameAssigner;
859 struct {
860 int index;
861 union {
862 #define CertImpl_EDIPartyName__partyName_teletexString_index 0
863 A2C_TELETEX_STRING teletexString;
864 #define CertImpl_EDIPartyName__partyName_printableString_index 1
865 A2C_PRINTABLE_STRING printableString;
866 #define CertImpl_EDIPartyName__partyName_universalString_index 2
867 A2C_UNIVERSAL_STRING universalString;
868 #define CertImpl_EDIPartyName__partyName_utf8String_index 3
869 A2C_UTF8_STRING utf8String;
870 #define CertImpl_EDIPartyName__partyName_bmpString_index 4
871 A2C_BMP_STRING bmpString;
873 } partyName;
874 } CertImpl_EDIPartyName;
876 extern const A2C_DESCRIPTOR CertImpl_EDIPartyName_descriptor;
878 typedef struct {
879 int index;
880 union {
881 #define CertImpl_GeneralName_otherName_index 0
882 struct {
883 A2C_OBJECT_IDENTIFIER type_id;
884 A2C_OPEN_TYPE value;
885 } otherName;
886 #define CertImpl_GeneralName_rfc822Name_index 1
887 A2C_IA5_STRING rfc822Name;
888 #define CertImpl_GeneralName_dNSName_index 2
889 A2C_IA5_STRING dNSName;
890 #define CertImpl_GeneralName_x400Address_index 3
891 Cert_ORAddress x400Address;
892 #define CertImpl_GeneralName_directoryName_index 4
893 Cert_Name directoryName;
894 #define CertImpl_GeneralName_ediPartyName_index 5
895 CertImpl_EDIPartyName ediPartyName;
896 #define CertImpl_GeneralName_uniformResourceIdentifier_index 6
897 A2C_IA5_STRING uniformResourceIdentifier;
898 #define CertImpl_GeneralName_iPAddress_index 7
899 A2C_OCTET_STRING iPAddress;
900 #define CertImpl_GeneralName_registeredID_index 8
901 A2C_OBJECT_IDENTIFIER registeredID;
903 } CertImpl_GeneralName;
905 extern const A2C_DESCRIPTOR CertImpl_GeneralName_descriptor;
907 typedef struct {
908 A2C_OBJECT_IDENTIFIER accessMethod;
909 CertImpl_GeneralName accessLocation;
910 } CertImpl_AccessDescription;
912 extern const A2C_DESCRIPTOR CertImpl_AccessDescription_descriptor;
914 typedef struct {
915 int count;
916 int countAllocated;
917 CertImpl_AccessDescription * array;
918 } CertImpl_AuthorityInfoAccessSyntax;
920 extern const A2C_DESCRIPTOR CertImpl_AuthorityInfoAccessSyntax_descriptor;
921 extern const Cert_EXTENSION CertImpl_ext_AuthorityInfoAccessSyntax;
923 typedef A2C_OBJECT_IDENTIFIER CertImpl_KeyPurposeId;
925 extern const A2C_DESCRIPTOR CertImpl_KeyPurposeId_descriptor;
927 typedef struct {
928 int count;
929 int countAllocated;
930 CertImpl_KeyPurposeId * array;
931 } CertImpl_ExtKeyUsageSyntax;
933 extern const A2C_DESCRIPTOR CertImpl_ExtKeyUsageSyntax_descriptor;
935 typedef struct {
936 int count;
937 int countAllocated;
938 CertImpl_GeneralName * array;
939 } CertImpl_GeneralNames;
941 extern const A2C_DESCRIPTOR CertImpl_GeneralNames_descriptor;
943 typedef struct {
944 int index;
945 union {
946 #define CertImpl_DistributionPointName_fullName_index 0
947 CertImpl_GeneralNames fullName;
948 #define CertImpl_DistributionPointName_nameRelativeToCRLIssuer_index 1
949 Cert_RelativeDistinguishedName nameRelativeToCRLIssuer;
951 } CertImpl_DistributionPointName;
953 extern const A2C_DESCRIPTOR CertImpl_DistributionPointName_descriptor;
955 typedef A2C_BIT_STRING_NAMED CertImpl_ReasonFlags;
957 extern const A2C_DESCRIPTOR CertImpl_ReasonFlags_descriptor;
959 typedef struct {
960 unsigned int optionalFields;
961 #define CertImpl_DistributionPoint_distributionPoint_present 1
962 #define CertImpl_DistributionPoint_reasons_present 2
963 #define CertImpl_DistributionPoint_cRLIssuer_present 4
964 CertImpl_DistributionPointName distributionPoint;
965 CertImpl_ReasonFlags reasons;
966 CertImpl_GeneralNames cRLIssuer;
967 } CertImpl_DistributionPoint;
969 extern const A2C_DESCRIPTOR CertImpl_DistributionPoint_descriptor;
971 typedef struct {
972 int count;
973 int countAllocated;
974 CertImpl_DistributionPoint * array;
975 } CertImpl_CRLDistributionPoints;
977 extern const A2C_DESCRIPTOR CertImpl_CRLDistributionPoints_descriptor;
979 typedef A2C_INTEGER_NATIVE CertImpl_BaseDistance;
981 extern const A2C_DESCRIPTOR CertImpl_BaseDistance_descriptor;
983 typedef struct {
984 unsigned int optionalFields;
985 #define CertImpl_GeneralSubtree_maximum_present 1
986 CertImpl_GeneralName base;
987 CertImpl_BaseDistance minimum;
988 CertImpl_BaseDistance maximum;
989 } CertImpl_GeneralSubtree;
991 extern const A2C_DESCRIPTOR CertImpl_GeneralSubtree_descriptor;
993 typedef struct {
994 int count;
995 int countAllocated;
996 CertImpl_GeneralSubtree * array;
997 } CertImpl_GeneralSubtrees;
999 extern const A2C_DESCRIPTOR CertImpl_GeneralSubtrees_descriptor;
1001 typedef struct {
1002 unsigned int optionalFields;
1003 #define CertImpl_NameConstraints_permittedSubtrees_present 1
1004 #define CertImpl_NameConstraints_excludedSubtrees_present 2
1005 CertImpl_GeneralSubtrees permittedSubtrees;
1006 CertImpl_GeneralSubtrees excludedSubtrees;
1007 } CertImpl_NameConstraints;
1009 extern const A2C_DESCRIPTOR CertImpl_NameConstraints_descriptor;
1010 extern const Cert_EXTENSION CertImpl_ext_NameConstraints;
1012 typedef struct {
1013 const A2C_OBJECT_IDENTIFIER * id;
1014 const A2C_DESCRIPTOR * Type;
1015 } CertImpl_POLICY_QUALIFIER_INFO;
1016 extern const A2C_OBJECT_IDENTIFIER CertImpl_id_ce_policyConstraints;
1018 typedef A2C_OCTET_STRING CertImpl_KeyIdentifier;
1020 extern const A2C_DESCRIPTOR CertImpl_KeyIdentifier_descriptor;
1022 typedef struct {
1023 unsigned int optionalFields;
1024 #define CertImpl_AuthorityKeyIdentifier_keyIdentifier_present 1
1025 #define CertImpl_AuthorityKeyIdentifier_authorityCertIssuer_present 2
1026 #define CertImpl_AuthorityKeyIdentifier_authorityCertSerialNumber_present 4
1027 CertImpl_KeyIdentifier keyIdentifier;
1028 CertImpl_GeneralNames authorityCertIssuer;
1029 Cert_CertificateSerialNumber authorityCertSerialNumber;
1030 } CertImpl_AuthorityKeyIdentifier;
1032 extern const A2C_DESCRIPTOR CertImpl_AuthorityKeyIdentifier_descriptor;
1033 extern const A2C_OBJECT_IDENTIFIER CertImpl_id_ce_nameConstraints;
1035 typedef struct {
1036 unsigned int optionalFields;
1037 #define CertImpl_BasicConstraints_pathLenConstraint_present 1
1038 A2C_BOOLEAN cA;
1039 A2C_INTEGER_NATIVE pathLenConstraint;
1040 } CertImpl_BasicConstraints;
1042 extern const A2C_DESCRIPTOR CertImpl_BasicConstraints_descriptor;
1043 extern const Cert_EXTENSION CertImpl_ext_ExtKeyUsageSyntax;
1045 typedef A2C_ENUMERATED_NATIVE CertImpl_CRLReason;
1047 extern const A2C_DESCRIPTOR CertImpl_CRLReason_descriptor;
1048 extern const A2C_OBJECT_IDENTIFIER CertImpl_id_ce_holdInstructionCode;
1049 extern const A2C_OBJECT_IDENTIFIER CertImpl_id_pe_subjectInfoAccess;
1051 typedef struct {
1052 A2C_OBJECT_IDENTIFIER policyQualifierId;
1053 A2C_OPEN_TYPE qualifier;
1054 } CertImpl_PolicyQualifierInfo;
1056 extern const A2C_DESCRIPTOR CertImpl_PolicyQualifierInfo_descriptor;
1058 typedef A2C_OBJECT_IDENTIFIER CertImpl_CertPolicyId;
1060 extern const A2C_DESCRIPTOR CertImpl_CertPolicyId_descriptor;
1062 typedef struct {
1063 unsigned int optionalFields;
1064 #define CertImpl_PolicyInformation_policyQualifiers_present 1
1065 CertImpl_CertPolicyId policyIdentifier;
1066 struct {
1067 int count;
1068 int countAllocated;
1069 CertImpl_PolicyQualifierInfo * array;
1070 } policyQualifiers;
1071 } CertImpl_PolicyInformation;
1073 extern const A2C_DESCRIPTOR CertImpl_PolicyInformation_descriptor;
1075 typedef struct {
1076 CertImpl_CertPolicyId issuerDomainPolicy;
1077 CertImpl_CertPolicyId subjectDomainPolicy;
1078 } CertImpl_PolicyMappings__array;
1080 extern const A2C_DESCRIPTOR CertImpl_PolicyMappings__array_descriptor;
1082 typedef struct {
1083 int count;
1084 int countAllocated;
1085 CertImpl_PolicyMappings__array * array;
1086 } CertImpl_PolicyMappings;
1088 extern const A2C_DESCRIPTOR CertImpl_PolicyMappings_descriptor;
1090 typedef struct {
1091 int count;
1092 int countAllocated;
1093 Cert_Attribute * array;
1094 } CertImpl_SubjectDirectoryAttributes;
1096 extern const A2C_DESCRIPTOR CertImpl_SubjectDirectoryAttributes_descriptor;
1097 extern const Cert_EXTENSION CertImpl_ext_SubjectDirectoryAttributes;
1099 typedef A2C_IA5_STRING CertImpl_CPSuri;
1101 extern const A2C_DESCRIPTOR CertImpl_CPSuri_descriptor;
1102 extern const CertImpl_POLICY_QUALIFIER_INFO CertImpl_pqid_cps;
1103 extern const Cert_EXTENSION CertImpl_ext_SubjectKeyIdentifier;
1105 typedef A2C_INTEGER_NATIVE CertImpl_SkipCerts;
1107 extern const A2C_DESCRIPTOR CertImpl_SkipCerts_descriptor;
1109 typedef struct {
1110 unsigned int optionalFields;
1111 #define CertImpl_PolicyConstraints_requireExplicitPolicy_present 1
1112 #define CertImpl_PolicyConstraints_inhibitPolicyMapping_present 2
1113 CertImpl_SkipCerts requireExplicitPolicy;
1114 CertImpl_SkipCerts inhibitPolicyMapping;
1115 } CertImpl_PolicyConstraints;
1117 extern const A2C_DESCRIPTOR CertImpl_PolicyConstraints_descriptor;
1118 extern const Cert_EXTENSION CertImpl_ext_PolicyConstraints;
1119 extern const A2C_OBJECT_IDENTIFIER CertImpl_id_ce_privateKeyUsagePeriod;
1120 extern const Cert_EXTENSION CertImpl_ext_BasicConstraints;
1121 extern const Cert_EXTENSION CertImpl_ext_FreshestCRL;
1122 extern const A2C_OBJECT_IDENTIFIER CertImpl_id_ce_issuingDistributionPoint;
1124 typedef struct {
1125 int count;
1126 int countAllocated;
1127 CertImpl_PolicyInformation * array;
1128 } CertImpl_CertificatePolicies;
1130 extern const A2C_DESCRIPTOR CertImpl_CertificatePolicies_descriptor;
1131 extern const A2C_OBJECT_IDENTIFIER CertImpl_id_pe_authorityInfoAccess;
1132 extern const Cert_EXTENSION CertImpl_ext_SubjectAltName;
1133 extern const A2C_OBJECT_IDENTIFIER CertImpl_id_ce;
1135 typedef struct {
1136 int count;
1137 int countAllocated;
1138 CertImpl_AccessDescription * array;
1139 } CertImpl_SubjectInfoAccessSyntax;
1141 extern const A2C_DESCRIPTOR CertImpl_SubjectInfoAccessSyntax_descriptor;
1143 typedef struct {
1144 int index;
1145 union {
1146 #define CertImpl_DisplayText_ia5String_index 0
1147 A2C_IA5_STRING ia5String;
1148 #define CertImpl_DisplayText_visibleString_index 1
1149 A2C_VISIBLE_STRING visibleString;
1150 #define CertImpl_DisplayText_bmpString_index 2
1151 A2C_BMP_STRING bmpString;
1152 #define CertImpl_DisplayText_utf8String_index 3
1153 A2C_UTF8_STRING utf8String;
1155 } CertImpl_DisplayText;
1157 extern const A2C_DESCRIPTOR CertImpl_DisplayText_descriptor;
1159 typedef struct {
1160 CertImpl_DisplayText organization;
1161 struct {
1162 int count;
1163 int countAllocated;
1164 A2C_INTEGER_NATIVE * array;
1165 } noticeNumbers;
1166 } CertImpl_NoticeReference;
1168 extern const A2C_DESCRIPTOR CertImpl_NoticeReference_descriptor;
1170 typedef struct {
1171 unsigned int optionalFields;
1172 #define CertImpl_PrivateKeyUsagePeriod_notBefore_present 1
1173 #define CertImpl_PrivateKeyUsagePeriod_notAfter_present 2
1174 A2C_GENERALIZED_TIME notBefore;
1175 A2C_GENERALIZED_TIME notAfter;
1176 } CertImpl_PrivateKeyUsagePeriod;
1178 extern const A2C_DESCRIPTOR CertImpl_PrivateKeyUsagePeriod_descriptor;
1179 extern const A2C_OBJECT_IDENTIFIER CertImpl_id_kp_serverAuth;
1181 typedef A2C_INTEGER_NATIVE CertImpl_ext_CRLNumber__ExtnType;
1183 extern const A2C_DESCRIPTOR CertImpl_ext_CRLNumber__ExtnType_descriptor;
1184 extern const Cert_EXTENSION CertImpl_ext_PolicyMappings;
1185 extern const Cert_EXTENSION CertImpl_ext_CRLDistributionPoints;
1186 extern const A2C_OBJECT_IDENTIFIER CertImpl_id_holdinstruction_reject;
1187 extern const A2C_OBJECT_IDENTIFIER CertImpl_id_ce_subjectAltName;
1188 extern const A2C_OBJECT_IDENTIFIER CertImpl_id_ce_cRLReasons;
1190 typedef struct {
1191 unsigned int optionalFields;
1192 #define CertImpl_IssuingDistributionPoint_distributionPoint_present 1
1193 #define CertImpl_IssuingDistributionPoint_onlySomeReasons_present 2
1194 CertImpl_DistributionPointName distributionPoint;
1195 A2C_BOOLEAN onlyContainsUserCerts;
1196 A2C_BOOLEAN onlyContainsCACerts;
1197 CertImpl_ReasonFlags onlySomeReasons;
1198 A2C_BOOLEAN indirectCRL;
1199 A2C_BOOLEAN onlyContainsAttributeCerts;
1200 } CertImpl_IssuingDistributionPoint;
1202 extern const A2C_DESCRIPTOR CertImpl_IssuingDistributionPoint_descriptor;
1203 extern const Cert_EXTENSION CertImpl_ext_IssuingDistributionPoint;
1205 typedef struct {
1206 const A2C_OBJECT_IDENTIFIER * id;
1207 const A2C_DESCRIPTOR * Type;
1208 } CertImpl_OTHER_NAME;
1210 typedef A2C_INTEGER_NATIVE CertImpl_CRLNumber;
1212 extern const A2C_DESCRIPTOR CertImpl_CRLNumber_descriptor;
1213 extern const A2C_OBJECT_IDENTIFIER CertImpl_id_ce_inhibitAnyPolicy;
1214 extern const A2C_OBJECT_IDENTIFIER CertImpl_id_ce_authorityKeyIdentifier;
1215 extern const A2C_OBJECT_IDENTIFIER CertImpl_id_ce_cRLNumber;
1216 extern const Cert_EXTENSION CertImpl_ext_CertificateIssuer;
1217 extern const A2C_OBJECT_IDENTIFIER CertImpl_id_ce_keyUsage;
1218 extern const Cert_EXTENSION CertImpl_ext_BaseCRLNumber;
1219 extern const Cert_EXTENSION CertImpl_ext_CRLReason;
1220 extern const A2C_OBJECT_IDENTIFIER CertImpl_id_ce_certificatePolicies;
1221 extern const Cert_EXTENSION CertImpl_ext_SubjectInfoAccessSyntax;
1222 extern const A2C_OBJECT_IDENTIFIER CertImpl_id_ce_certificateIssuer;
1224 typedef A2C_BIT_STRING_NAMED CertImpl_KeyUsage;
1226 extern const A2C_DESCRIPTOR CertImpl_KeyUsage_descriptor;
1227 extern const Cert_EXTENSION CertImpl_ext_KeyUsage;
1228 extern const A2C_OBJECT_IDENTIFIER CertImpl_id_kp_timeStamping;
1229 extern const A2C_OBJECT_IDENTIFIER CertImpl_id_ce_subjectDirectoryAttributes;
1230 extern const A2C_OBJECT_IDENTIFIER CertImpl_id_ce_deltaCRLIndicator;
1231 extern const A2C_OBJECT_IDENTIFIER CertImpl_id_holdinstruction_callissuer;
1232 extern const A2C_OBJECT_IDENTIFIER CertImpl_id_ce_extKeyUsage;
1234 typedef struct {
1235 unsigned int optionalFields;
1236 #define CertImpl_UserNotice_noticeRef_present 1
1237 #define CertImpl_UserNotice_explicitText_present 2
1238 CertImpl_NoticeReference noticeRef;
1239 CertImpl_DisplayText explicitText;
1240 } CertImpl_UserNotice;
1242 extern const A2C_DESCRIPTOR CertImpl_UserNotice_descriptor;
1243 extern const CertImpl_POLICY_QUALIFIER_INFO CertImpl_pqid_unotice;
1245 extern const A2C_OBJECT_SET CertImpl_PolicyQualifierId;
1246 extern const Cert_EXTENSION CertImpl_ext_HoldInstructionCode;
1247 extern const Cert_EXTENSION CertImpl_xt_AuthorityKeyIdentifier;
1248 extern const A2C_INTEGER_NATIVE CertImpl_ubMax;
1249 extern const Cert_EXTENSION CertImpl_ext_PrivateKeyUsagePeriod;
1250 extern const A2C_OBJECT_IDENTIFIER CertImpl_id_ce_policyMappings;
1251 extern const Cert_EXTENSION CertImpl_ext_IssuerAltName;
1252 extern const A2C_OBJECT_IDENTIFIER CertImpl_anyExtendedKeyUsage;
1253 extern const A2C_OBJECT_IDENTIFIER CertImpl_id_ce_basicConstraints;
1254 extern const Cert_EXTENSION CertImpl_ext_InvalidityDate;
1255 extern const Cert_EXTENSION CertImpl_ext_InhibitAnyPolicy;
1256 extern const A2C_OBJECT_IDENTIFIER CertImpl_id_ce_cRLDistributionPoints;
1257 extern const Cert_EXTENSION CertImpl_ext_CertificatePolicies;
1258 extern const A2C_OBJECT_IDENTIFIER CertImpl_id_kp_codeSigning;
1259 extern const A2C_OBJECT_IDENTIFIER CertImpl_id_ce_subjectKeyIdentifier;
1260 extern const A2C_OBJECT_IDENTIFIER CertImpl_id_ce_issuerAltName;
1261 extern const Cert_EXTENSION CertImpl_ext_CRLNumber;
1262 extern const A2C_OBJECT_IDENTIFIER CertImpl_id_kp_OCSPSigning;
1263 extern const A2C_OBJECT_IDENTIFIER CertImpl_id_holdinstruction_none;
1264 extern const A2C_OBJECT_IDENTIFIER CertImpl_id_kp_clientAuth;
1265 extern const A2C_OBJECT_IDENTIFIER CertImpl_id_ce_invalidityDate;
1266 extern const A2C_OBJECT_IDENTIFIER CertImpl_holdInstruction;
1267 extern const A2C_OBJECT_IDENTIFIER CertImpl_id_ce_freshestCRL;
1268 extern const A2C_OBJECT_IDENTIFIER CertImpl_anyPolicy;
1269 #ifdef __cplusplus
1271 #endif
1272 #endif // __rfc3280__H__