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