]> git.saurik.com Git - apple/security.git/blob - SecurityASN1/inc/sm_x509ce.h
Security-30.1.tar.gz
[apple/security.git] / SecurityASN1 / inc / sm_x509ce.h
1 // NOTE: this is a machine generated file--editing not recommended
2 //
3 // sm_x509ce.h - class definitions for ASN.1 module CertificateExtensions
4 //
5 // This file was generated by snacc on Wed Jun 27 16:40:55 2001
6 // UBC snacc by Mike Sample
7 // A couple of enhancements made by IBM European Networking Center
8
9 #ifndef _sm_x509ce_h_
10 #define _sm_x509ce_h_
11
12
13 //------------------------------------------------------------------------------
14 // class declarations:
15
16 class KeyUsage;
17 class CRLReason;
18 class ReasonFlags;
19 class PolicyQualifierInfo;
20 class AttributesSyntax;
21 class DistributionPointName;
22 class PolicyMappingsSyntaxSeq;
23 class PolicyInformationSeqOf;
24 class PolicyInformation;
25 class GeneralSubtree;
26 class DistributionPoint;
27 class CertificatePoliciesSyntax;
28 class GeneralSubtrees;
29 class AuthorityKeyIdentifier;
30 class ExtKeyUsageSyntax;
31 class PrivateKeyUsagePeriod;
32 class PolicyMappingsSyntax;
33 class SupportedAlgorithm;
34 class BasicConstraintsSyntax;
35 class NameConstraintsSyntax;
36 class PolicyConstraintsSyntax;
37 class CertPolicySet;
38 class CRLDistPointsSyntax;
39 class IssuingDistPointSyntax;
40
41 //------------------------------------------------------------------------------
42 // class definitions:
43
44 typedef enum CertificateExtensionsAnyId
45 {
46
47 } CertificateExtensionsAnyId;
48
49
50 /* OCTET STRING */
51 typedef AsnOcts KeyIdentifier;
52
53 /* BIT STRING { digitalSignature (0), nonRepudiation (1), keyEncipherment (2), dataEncipherment (3), keyAgreement (4), keyCertSign (5), cRLSign (6), encipherOnly (7), decipherOnly (8) } */
54 class KeyUsage: public AsnBits
55 {
56 public:
57 KeyUsage(): AsnBits() {}
58 KeyUsage (const size_t bits): AsnBits (bits) {}
59 KeyUsage (const char *str, const size_t bitLen): AsnBits (str, bitLen) {}
60 KeyUsage (const AsnBits &b): AsnBits (b) {}
61 enum
62 {
63 digitalSignature = 0,
64 nonRepudiation = 1,
65 keyEncipherment = 2,
66 dataEncipherment = 3,
67 keyAgreement = 4,
68 keyCertSign = 5,
69 cRLSign = 6,
70 encipherOnly = 7,
71 decipherOnly = 8
72 };
73 };
74
75
76 /* OBJECT IDENTIFIER */
77 typedef AsnOid KeyPurposeId;
78
79 /* OBJECT IDENTIFIER */
80 typedef AsnOid CertPolicyId;
81
82 /* INTEGER (0..MAX) */
83 typedef AsnInt BaseDistance;
84
85 /* INTEGER (0..MAX) */
86 typedef AsnInt SkipCerts;
87
88 /* INTEGER (0..MAX) */
89 typedef AsnInt CRLNumber;
90
91 /* ENUMERATED { unspecified (0), keyCompromise (1), cACompromise (2), affiliationChanged (3), superseded (4), cessationOfOperation (5), certificateHold (6), removeFromCRL (8) } */
92 class CRLReason: public AsnEnum
93 {
94 public:
95 CRLReason(): AsnEnum() {}
96 CRLReason (int i): AsnEnum (i) {}
97 enum
98 {
99 unspecified = 0,
100 keyCompromise = 1,
101 cACompromise = 2,
102 affiliationChanged = 3,
103 superseded = 4,
104 cessationOfOperation = 5,
105 certificateHold = 6,
106 removeFromCRL = 8
107 };
108 };
109
110
111 /* OBJECT IDENTIFIER */
112 typedef AsnOid HoldInstruction;
113
114 /* BIT STRING { unused (0), keyCompromise (1), caCompromise (2), affiliationChanged (3), superseded (4), cessationOfOperation (5), certificateHold (6) } */
115 class ReasonFlags: public AsnBits
116 {
117 public:
118 ReasonFlags(): AsnBits() {}
119 ReasonFlags (const size_t bits): AsnBits (bits) {}
120 ReasonFlags (const char *str, const size_t bitLen): AsnBits (str, bitLen) {}
121 ReasonFlags (const AsnBits &b): AsnBits (b) {}
122 enum
123 {
124 unused = 0,
125 keyCompromise = 1,
126 caCompromise = 2,
127 affiliationChanged = 3,
128 superseded = 4,
129 cessationOfOperation = 5,
130 certificateHold = 6
131 };
132 };
133
134
135 class PolicyQualifierInfo: public AsnType
136 {
137 public:
138 AsnOid policyQualifierId;
139 AsnAny *qualifier;
140
141 PolicyQualifierInfo();
142 PolicyQualifierInfo (const PolicyQualifierInfo &);
143 virtual ~PolicyQualifierInfo();
144 virtual AsnType *Clone() const;
145
146 virtual AsnType *Copy() const;
147
148 PolicyQualifierInfo &operator = (const PolicyQualifierInfo &);
149 AsnLen BEncContent (BUF_TYPE b);
150 void BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);
151
152 AsnLen BEnc (BUF_TYPE b);
153 void BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
154 int BEncPdu (BUF_TYPE b, AsnLen &bytesEncoded);
155 int BDecPdu (BUF_TYPE b, AsnLen &bytesDecoded);
156
157 void Print (ostream &os) const;
158 };
159
160
161 class AttributesSyntax: public AsnType
162 {
163 protected:
164 unsigned long int count;
165 struct AsnListElmt
166 {
167 AsnListElmt *next;
168 AsnListElmt *prev;
169 Attribute *elmt;
170 } *first, *curr, *last;
171
172 public:
173 AttributesSyntax() { count = 0; first = curr = last = NULL; }
174 AttributesSyntax (const AttributesSyntax &);
175 virtual ~AttributesSyntax();
176 virtual AsnType *Clone() const;
177
178 virtual AsnType *Copy() const;
179
180 AttributesSyntax &operator = (const AttributesSyntax &);
181 void SetCurrElmt (unsigned long int index);
182 unsigned long int GetCurrElmtIndex();
183 void SetCurrToFirst() { curr = first; }
184 void SetCurrToLast() { curr = last; }
185 // reading member fcns
186 int Count() const { return count; }
187 // NOTE: if your compiler complains about these NULLs, its definition of NULL is broken (and you better change it there!)
188 Attribute *First() const { return count > 0 ? first->elmt : NULL; }
189 Attribute *Last() const { return count > 0 ? last->elmt : NULL; }
190 Attribute *Curr() const { return curr ? curr->elmt : NULL; }
191 Attribute *Next() const { return curr && curr->next ? curr->next->elmt : NULL; }
192 Attribute *Prev() const { return curr && curr->prev ? curr->prev->elmt : NULL; }
193
194 // routines that move the curr elmt
195 Attribute *GoNext() { if (curr) curr = curr->next; return Curr(); }
196 Attribute *GoPrev() { if (curr) curr = curr->prev; return Curr(); }
197
198 // write & alloc fcns - returns new elmt
199 Attribute *Append(); // add elmt to end of list
200 Attribute *Prepend(); // add elmt to beginning of list
201 Attribute *InsertBefore(); //insert elmt before current elmt
202 Attribute *InsertAfter(); //insert elmt after current elmt
203
204 // write & alloc & copy - returns list after copying elmt
205 AttributesSyntax &AppendCopy (Attribute &elmt); // add elmt to end of list
206 AttributesSyntax &PrependCopy (Attribute &elmt); // add elmt to beginning of list
207 AttributesSyntax &InsertBeforeAndCopy (Attribute &elmt); //insert elmt before current elmt
208 AttributesSyntax &InsertAfterAndCopy (Attribute &elmt); //insert elmt after current elmt
209
210 // removing the current elmt from the list
211 void RemoveCurrFromList();
212
213 // encode and decode routines
214 AsnLen BEnc (BUF_TYPE b);
215 void BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
216 AsnLen BEncContent (BUF_TYPE b);
217 void BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);
218
219 PDU_MEMBER_MACROS
220 void Print (ostream &os) const;
221 };
222
223
224 class DistributionPointName: public AsnType
225 {
226 public:
227 enum ChoiceIdEnum
228 {
229 fullNameCid = 0,
230 nameRelativeToCRLIssuerCid = 1
231 };
232
233 enum ChoiceIdEnum choiceId;
234 union
235 {
236 GeneralNames *fullName;
237 RelativeDistinguishedName *nameRelativeToCRLIssuer;
238 };
239
240
241 DistributionPointName();
242 DistributionPointName (const DistributionPointName &);
243 virtual ~DistributionPointName();
244
245 virtual AsnType *Clone() const;
246
247 virtual AsnType *Copy() const;
248
249 DistributionPointName &operator = (const DistributionPointName &);
250 AsnLen BEncContent (BUF_TYPE b);
251 void BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);
252 AsnLen BEnc (BUF_TYPE b);
253 void BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
254 int BEncPdu (BUF_TYPE b, AsnLen &bytesEncoded);
255 int BDecPdu (BUF_TYPE b, AsnLen &bytesDecoded);
256
257 void Print (ostream &os) const;
258 };
259
260
261 class PolicyMappingsSyntaxSeq: public AsnType
262 {
263 public:
264 CertPolicyId issuerDomainPolicy;
265 CertPolicyId subjectDomainPolicy;
266
267 PolicyMappingsSyntaxSeq();
268 PolicyMappingsSyntaxSeq (const PolicyMappingsSyntaxSeq &);
269 virtual ~PolicyMappingsSyntaxSeq();
270 virtual AsnType *Clone() const;
271
272 virtual AsnType *Copy() const;
273
274 PolicyMappingsSyntaxSeq &operator = (const PolicyMappingsSyntaxSeq &);
275 AsnLen BEncContent (BUF_TYPE b);
276 void BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);
277
278 AsnLen BEnc (BUF_TYPE b);
279 void BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
280 int BEncPdu (BUF_TYPE b, AsnLen &bytesEncoded);
281 int BDecPdu (BUF_TYPE b, AsnLen &bytesDecoded);
282
283 void Print (ostream &os) const;
284 };
285
286
287 class PolicyInformationSeqOf: public AsnType
288 {
289 protected:
290 unsigned long int count;
291 struct AsnListElmt
292 {
293 AsnListElmt *next;
294 AsnListElmt *prev;
295 PolicyQualifierInfo *elmt;
296 } *first, *curr, *last;
297
298 public:
299 PolicyInformationSeqOf() { count = 0; first = curr = last = NULL; }
300 PolicyInformationSeqOf (const PolicyInformationSeqOf &);
301 virtual ~PolicyInformationSeqOf();
302 virtual AsnType *Clone() const;
303
304 virtual AsnType *Copy() const;
305
306 PolicyInformationSeqOf &operator = (const PolicyInformationSeqOf &);
307 void SetCurrElmt (unsigned long int index);
308 unsigned long int GetCurrElmtIndex();
309 void SetCurrToFirst() { curr = first; }
310 void SetCurrToLast() { curr = last; }
311 // reading member fcns
312 int Count() const { return count; }
313 // NOTE: if your compiler complains about these NULLs, its definition of NULL is broken (and you better change it there!)
314 PolicyQualifierInfo *First() const { return count > 0 ? first->elmt : NULL; }
315 PolicyQualifierInfo *Last() const { return count > 0 ? last->elmt : NULL; }
316 PolicyQualifierInfo *Curr() const { return curr ? curr->elmt : NULL; }
317 PolicyQualifierInfo *Next() const { return curr && curr->next ? curr->next->elmt : NULL; }
318 PolicyQualifierInfo *Prev() const { return curr && curr->prev ? curr->prev->elmt : NULL; }
319
320 // routines that move the curr elmt
321 PolicyQualifierInfo *GoNext() { if (curr) curr = curr->next; return Curr(); }
322 PolicyQualifierInfo *GoPrev() { if (curr) curr = curr->prev; return Curr(); }
323
324 // write & alloc fcns - returns new elmt
325 PolicyQualifierInfo *Append(); // add elmt to end of list
326 PolicyQualifierInfo *Prepend(); // add elmt to beginning of list
327 PolicyQualifierInfo *InsertBefore(); //insert elmt before current elmt
328 PolicyQualifierInfo *InsertAfter(); //insert elmt after current elmt
329
330 // write & alloc & copy - returns list after copying elmt
331 PolicyInformationSeqOf &AppendCopy (PolicyQualifierInfo &elmt); // add elmt to end of list
332 PolicyInformationSeqOf &PrependCopy (PolicyQualifierInfo &elmt); // add elmt to beginning of list
333 PolicyInformationSeqOf &InsertBeforeAndCopy (PolicyQualifierInfo &elmt); //insert elmt before current elmt
334 PolicyInformationSeqOf &InsertAfterAndCopy (PolicyQualifierInfo &elmt); //insert elmt after current elmt
335
336 // removing the current elmt from the list
337 void RemoveCurrFromList();
338
339 // encode and decode routines
340 AsnLen BEnc (BUF_TYPE b);
341 void BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
342 AsnLen BEncContent (BUF_TYPE b);
343 void BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);
344
345 PDU_MEMBER_MACROS
346 void Print (ostream &os) const;
347 };
348
349
350 class PolicyInformation: public AsnType
351 {
352 public:
353 CertPolicyId policyIdentifier;
354 PolicyInformationSeqOf *policyQualifiers;
355
356 PolicyInformation();
357 PolicyInformation (const PolicyInformation &);
358 virtual ~PolicyInformation();
359 virtual AsnType *Clone() const;
360
361 virtual AsnType *Copy() const;
362
363 PolicyInformation &operator = (const PolicyInformation &);
364 AsnLen BEncContent (BUF_TYPE b);
365 void BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);
366
367 AsnLen BEnc (BUF_TYPE b);
368 void BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
369 int BEncPdu (BUF_TYPE b, AsnLen &bytesEncoded);
370 int BDecPdu (BUF_TYPE b, AsnLen &bytesDecoded);
371
372 void Print (ostream &os) const;
373 };
374
375
376 class GeneralSubtree: public AsnType
377 {
378 public:
379 GeneralName *base;
380 BaseDistance *minimum;
381 BaseDistance *maximum;
382
383 GeneralSubtree();
384 GeneralSubtree (const GeneralSubtree &);
385 virtual ~GeneralSubtree();
386 virtual AsnType *Clone() const;
387
388 virtual AsnType *Copy() const;
389
390 GeneralSubtree &operator = (const GeneralSubtree &);
391 AsnLen BEncContent (BUF_TYPE b);
392 void BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);
393
394 AsnLen BEnc (BUF_TYPE b);
395 void BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
396 int BEncPdu (BUF_TYPE b, AsnLen &bytesEncoded);
397 int BDecPdu (BUF_TYPE b, AsnLen &bytesDecoded);
398
399 void Print (ostream &os) const;
400 };
401
402
403 class DistributionPoint: public AsnType
404 {
405 public:
406 DistributionPointName *distributionPoint;
407 ReasonFlags *reasons;
408 GeneralNames *cRLIssuer;
409
410 DistributionPoint();
411 DistributionPoint (const DistributionPoint &);
412 virtual ~DistributionPoint();
413 virtual AsnType *Clone() const;
414
415 virtual AsnType *Copy() const;
416
417 DistributionPoint &operator = (const DistributionPoint &);
418 AsnLen BEncContent (BUF_TYPE b);
419 void BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);
420
421 AsnLen BEnc (BUF_TYPE b);
422 void BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
423 int BEncPdu (BUF_TYPE b, AsnLen &bytesEncoded);
424 int BDecPdu (BUF_TYPE b, AsnLen &bytesDecoded);
425
426 void Print (ostream &os) const;
427 };
428
429
430 class CertificatePoliciesSyntax: public AsnType
431 {
432 protected:
433 unsigned long int count;
434 struct AsnListElmt
435 {
436 AsnListElmt *next;
437 AsnListElmt *prev;
438 PolicyInformation *elmt;
439 } *first, *curr, *last;
440
441 public:
442 CertificatePoliciesSyntax() { count = 0; first = curr = last = NULL; }
443 CertificatePoliciesSyntax (const CertificatePoliciesSyntax &);
444 virtual ~CertificatePoliciesSyntax();
445 virtual AsnType *Clone() const;
446
447 virtual AsnType *Copy() const;
448
449 CertificatePoliciesSyntax &operator = (const CertificatePoliciesSyntax &);
450 void SetCurrElmt (unsigned long int index);
451 unsigned long int GetCurrElmtIndex();
452 void SetCurrToFirst() { curr = first; }
453 void SetCurrToLast() { curr = last; }
454 // reading member fcns
455 int Count() const { return count; }
456 // NOTE: if your compiler complains about these NULLs, its definition of NULL is broken (and you better change it there!)
457 PolicyInformation *First() const { return count > 0 ? first->elmt : NULL; }
458 PolicyInformation *Last() const { return count > 0 ? last->elmt : NULL; }
459 PolicyInformation *Curr() const { return curr ? curr->elmt : NULL; }
460 PolicyInformation *Next() const { return curr && curr->next ? curr->next->elmt : NULL; }
461 PolicyInformation *Prev() const { return curr && curr->prev ? curr->prev->elmt : NULL; }
462
463 // routines that move the curr elmt
464 PolicyInformation *GoNext() { if (curr) curr = curr->next; return Curr(); }
465 PolicyInformation *GoPrev() { if (curr) curr = curr->prev; return Curr(); }
466
467 // write & alloc fcns - returns new elmt
468 PolicyInformation *Append(); // add elmt to end of list
469 PolicyInformation *Prepend(); // add elmt to beginning of list
470 PolicyInformation *InsertBefore(); //insert elmt before current elmt
471 PolicyInformation *InsertAfter(); //insert elmt after current elmt
472
473 // write & alloc & copy - returns list after copying elmt
474 CertificatePoliciesSyntax &AppendCopy (PolicyInformation &elmt); // add elmt to end of list
475 CertificatePoliciesSyntax &PrependCopy (PolicyInformation &elmt); // add elmt to beginning of list
476 CertificatePoliciesSyntax &InsertBeforeAndCopy (PolicyInformation &elmt); //insert elmt before current elmt
477 CertificatePoliciesSyntax &InsertAfterAndCopy (PolicyInformation &elmt); //insert elmt after current elmt
478
479 // removing the current elmt from the list
480 void RemoveCurrFromList();
481
482 // encode and decode routines
483 AsnLen BEnc (BUF_TYPE b);
484 void BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
485 AsnLen BEncContent (BUF_TYPE b);
486 void BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);
487
488 PDU_MEMBER_MACROS
489 void Print (ostream &os) const;
490 };
491
492
493 class GeneralSubtrees: public AsnType
494 {
495 protected:
496 unsigned long int count;
497 struct AsnListElmt
498 {
499 AsnListElmt *next;
500 AsnListElmt *prev;
501 GeneralSubtree *elmt;
502 } *first, *curr, *last;
503
504 public:
505 GeneralSubtrees() { count = 0; first = curr = last = NULL; }
506 GeneralSubtrees (const GeneralSubtrees &);
507 virtual ~GeneralSubtrees();
508 virtual AsnType *Clone() const;
509
510 virtual AsnType *Copy() const;
511
512 GeneralSubtrees &operator = (const GeneralSubtrees &);
513 void SetCurrElmt (unsigned long int index);
514 unsigned long int GetCurrElmtIndex();
515 void SetCurrToFirst() { curr = first; }
516 void SetCurrToLast() { curr = last; }
517 // reading member fcns
518 int Count() const { return count; }
519 // NOTE: if your compiler complains about these NULLs, its definition of NULL is broken (and you better change it there!)
520 GeneralSubtree *First() const { return count > 0 ? first->elmt : NULL; }
521 GeneralSubtree *Last() const { return count > 0 ? last->elmt : NULL; }
522 GeneralSubtree *Curr() const { return curr ? curr->elmt : NULL; }
523 GeneralSubtree *Next() const { return curr && curr->next ? curr->next->elmt : NULL; }
524 GeneralSubtree *Prev() const { return curr && curr->prev ? curr->prev->elmt : NULL; }
525
526 // routines that move the curr elmt
527 GeneralSubtree *GoNext() { if (curr) curr = curr->next; return Curr(); }
528 GeneralSubtree *GoPrev() { if (curr) curr = curr->prev; return Curr(); }
529
530 // write & alloc fcns - returns new elmt
531 GeneralSubtree *Append(); // add elmt to end of list
532 GeneralSubtree *Prepend(); // add elmt to beginning of list
533 GeneralSubtree *InsertBefore(); //insert elmt before current elmt
534 GeneralSubtree *InsertAfter(); //insert elmt after current elmt
535
536 // write & alloc & copy - returns list after copying elmt
537 GeneralSubtrees &AppendCopy (GeneralSubtree &elmt); // add elmt to end of list
538 GeneralSubtrees &PrependCopy (GeneralSubtree &elmt); // add elmt to beginning of list
539 GeneralSubtrees &InsertBeforeAndCopy (GeneralSubtree &elmt); //insert elmt before current elmt
540 GeneralSubtrees &InsertAfterAndCopy (GeneralSubtree &elmt); //insert elmt after current elmt
541
542 // removing the current elmt from the list
543 void RemoveCurrFromList();
544
545 // encode and decode routines
546 AsnLen BEnc (BUF_TYPE b);
547 void BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
548 AsnLen BEncContent (BUF_TYPE b);
549 void BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);
550
551 PDU_MEMBER_MACROS
552 void Print (ostream &os) const;
553 };
554
555
556 class AuthorityKeyIdentifier: public AsnType
557 {
558 public:
559 KeyIdentifier *keyIdentifier;
560 GeneralNames *authorityCertIssuer;
561 CertificateSerialNumber *authorityCertSerialNumber;
562
563 AuthorityKeyIdentifier();
564 AuthorityKeyIdentifier (const AuthorityKeyIdentifier &);
565 virtual ~AuthorityKeyIdentifier();
566 virtual AsnType *Clone() const;
567
568 virtual AsnType *Copy() const;
569
570 AuthorityKeyIdentifier &operator = (const AuthorityKeyIdentifier &);
571 AsnLen BEncContent (BUF_TYPE b);
572 void BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);
573
574 AsnLen BEnc (BUF_TYPE b);
575 void BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
576 int BEncPdu (BUF_TYPE b, AsnLen &bytesEncoded);
577 int BDecPdu (BUF_TYPE b, AsnLen &bytesDecoded);
578
579 void Print (ostream &os) const;
580 };
581
582
583 /* KeyIdentifier */
584 typedef KeyIdentifier SubjectKeyIdentifier;
585
586 class ExtKeyUsageSyntax: public AsnType
587 {
588 protected:
589 unsigned long int count;
590 struct AsnListElmt
591 {
592 AsnListElmt *next;
593 AsnListElmt *prev;
594 KeyPurposeId *elmt;
595 } *first, *curr, *last;
596
597 public:
598 ExtKeyUsageSyntax() { count = 0; first = curr = last = NULL; }
599 ExtKeyUsageSyntax (const ExtKeyUsageSyntax &);
600 virtual ~ExtKeyUsageSyntax();
601 virtual AsnType *Clone() const;
602
603 virtual AsnType *Copy() const;
604
605 ExtKeyUsageSyntax &operator = (const ExtKeyUsageSyntax &);
606 void SetCurrElmt (unsigned long int index);
607 unsigned long int GetCurrElmtIndex();
608 void SetCurrToFirst() { curr = first; }
609 void SetCurrToLast() { curr = last; }
610 // reading member fcns
611 int Count() const { return count; }
612 // NOTE: if your compiler complains about these NULLs, its definition of NULL is broken (and you better change it there!)
613 KeyPurposeId *First() const { return count > 0 ? first->elmt : NULL; }
614 KeyPurposeId *Last() const { return count > 0 ? last->elmt : NULL; }
615 KeyPurposeId *Curr() const { return curr ? curr->elmt : NULL; }
616 KeyPurposeId *Next() const { return curr && curr->next ? curr->next->elmt : NULL; }
617 KeyPurposeId *Prev() const { return curr && curr->prev ? curr->prev->elmt : NULL; }
618
619 // routines that move the curr elmt
620 KeyPurposeId *GoNext() { if (curr) curr = curr->next; return Curr(); }
621 KeyPurposeId *GoPrev() { if (curr) curr = curr->prev; return Curr(); }
622
623 // write & alloc fcns - returns new elmt
624 KeyPurposeId *Append(); // add elmt to end of list
625 KeyPurposeId *Prepend(); // add elmt to beginning of list
626 KeyPurposeId *InsertBefore(); //insert elmt before current elmt
627 KeyPurposeId *InsertAfter(); //insert elmt after current elmt
628
629 // write & alloc & copy - returns list after copying elmt
630 ExtKeyUsageSyntax &AppendCopy (KeyPurposeId &elmt); // add elmt to end of list
631 ExtKeyUsageSyntax &PrependCopy (KeyPurposeId &elmt); // add elmt to beginning of list
632 ExtKeyUsageSyntax &InsertBeforeAndCopy (KeyPurposeId &elmt); //insert elmt before current elmt
633 ExtKeyUsageSyntax &InsertAfterAndCopy (KeyPurposeId &elmt); //insert elmt after current elmt
634
635 // removing the current elmt from the list
636 void RemoveCurrFromList();
637
638 // encode and decode routines
639 AsnLen BEnc (BUF_TYPE b);
640 void BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
641 AsnLen BEncContent (BUF_TYPE b);
642 void BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);
643
644 PDU_MEMBER_MACROS
645 void Print (ostream &os) const;
646 };
647
648
649 class PrivateKeyUsagePeriod: public AsnType
650 {
651 public:
652 GeneralizedTime *notBefore;
653 GeneralizedTime *notAfter;
654
655 PrivateKeyUsagePeriod();
656 PrivateKeyUsagePeriod (const PrivateKeyUsagePeriod &);
657 virtual ~PrivateKeyUsagePeriod();
658 virtual AsnType *Clone() const;
659
660 virtual AsnType *Copy() const;
661
662 PrivateKeyUsagePeriod &operator = (const PrivateKeyUsagePeriod &);
663 AsnLen BEncContent (BUF_TYPE b);
664 void BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);
665
666 AsnLen BEnc (BUF_TYPE b);
667 void BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
668 int BEncPdu (BUF_TYPE b, AsnLen &bytesEncoded);
669 int BDecPdu (BUF_TYPE b, AsnLen &bytesDecoded);
670
671 void Print (ostream &os) const;
672 };
673
674
675 class PolicyMappingsSyntax: public AsnType
676 {
677 protected:
678 unsigned long int count;
679 struct AsnListElmt
680 {
681 AsnListElmt *next;
682 AsnListElmt *prev;
683 PolicyMappingsSyntaxSeq *elmt;
684 } *first, *curr, *last;
685
686 public:
687 PolicyMappingsSyntax() { count = 0; first = curr = last = NULL; }
688 PolicyMappingsSyntax (const PolicyMappingsSyntax &);
689 virtual ~PolicyMappingsSyntax();
690 virtual AsnType *Clone() const;
691
692 virtual AsnType *Copy() const;
693
694 PolicyMappingsSyntax &operator = (const PolicyMappingsSyntax &);
695 void SetCurrElmt (unsigned long int index);
696 unsigned long int GetCurrElmtIndex();
697 void SetCurrToFirst() { curr = first; }
698 void SetCurrToLast() { curr = last; }
699 // reading member fcns
700 int Count() const { return count; }
701 // NOTE: if your compiler complains about these NULLs, its definition of NULL is broken (and you better change it there!)
702 PolicyMappingsSyntaxSeq *First() const { return count > 0 ? first->elmt : NULL; }
703 PolicyMappingsSyntaxSeq *Last() const { return count > 0 ? last->elmt : NULL; }
704 PolicyMappingsSyntaxSeq *Curr() const { return curr ? curr->elmt : NULL; }
705 PolicyMappingsSyntaxSeq *Next() const { return curr && curr->next ? curr->next->elmt : NULL; }
706 PolicyMappingsSyntaxSeq *Prev() const { return curr && curr->prev ? curr->prev->elmt : NULL; }
707
708 // routines that move the curr elmt
709 PolicyMappingsSyntaxSeq *GoNext() { if (curr) curr = curr->next; return Curr(); }
710 PolicyMappingsSyntaxSeq *GoPrev() { if (curr) curr = curr->prev; return Curr(); }
711
712 // write & alloc fcns - returns new elmt
713 PolicyMappingsSyntaxSeq *Append(); // add elmt to end of list
714 PolicyMappingsSyntaxSeq *Prepend(); // add elmt to beginning of list
715 PolicyMappingsSyntaxSeq *InsertBefore(); //insert elmt before current elmt
716 PolicyMappingsSyntaxSeq *InsertAfter(); //insert elmt after current elmt
717
718 // write & alloc & copy - returns list after copying elmt
719 PolicyMappingsSyntax &AppendCopy (PolicyMappingsSyntaxSeq &elmt); // add elmt to end of list
720 PolicyMappingsSyntax &PrependCopy (PolicyMappingsSyntaxSeq &elmt); // add elmt to beginning of list
721 PolicyMappingsSyntax &InsertBeforeAndCopy (PolicyMappingsSyntaxSeq &elmt); //insert elmt before current elmt
722 PolicyMappingsSyntax &InsertAfterAndCopy (PolicyMappingsSyntaxSeq &elmt); //insert elmt after current elmt
723
724 // removing the current elmt from the list
725 void RemoveCurrFromList();
726
727 // encode and decode routines
728 AsnLen BEnc (BUF_TYPE b);
729 void BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
730 AsnLen BEncContent (BUF_TYPE b);
731 void BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);
732
733 PDU_MEMBER_MACROS
734 void Print (ostream &os) const;
735 };
736
737
738 class SupportedAlgorithm: public AsnType
739 {
740 public:
741 AlgorithmIdentifier *algorithmIdentifier;
742 KeyUsage *intendedUsage;
743 CertificatePoliciesSyntax *intendedCertificatePolicies;
744
745 SupportedAlgorithm();
746 SupportedAlgorithm (const SupportedAlgorithm &);
747 virtual ~SupportedAlgorithm();
748 virtual AsnType *Clone() const;
749
750 virtual AsnType *Copy() const;
751
752 SupportedAlgorithm &operator = (const SupportedAlgorithm &);
753 AsnLen BEncContent (BUF_TYPE b);
754 void BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);
755
756 AsnLen BEnc (BUF_TYPE b);
757 void BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
758 int BEncPdu (BUF_TYPE b, AsnLen &bytesEncoded);
759 int BDecPdu (BUF_TYPE b, AsnLen &bytesDecoded);
760
761 void Print (ostream &os) const;
762 };
763
764
765 /* GeneralNames */
766 typedef GeneralNames SubjectName;
767
768 /* GeneralNames */
769 typedef GeneralNames IssuerAltName;
770
771 /* AttributesSyntax */
772 typedef AttributesSyntax SubjectDirectoryAttributes;
773
774 class BasicConstraintsSyntax: public AsnType
775 {
776 public:
777 AsnBool *cA;
778 AsnInt *pathLenConstraint;
779
780 BasicConstraintsSyntax();
781 BasicConstraintsSyntax (const BasicConstraintsSyntax &);
782 virtual ~BasicConstraintsSyntax();
783 virtual AsnType *Clone() const;
784
785 virtual AsnType *Copy() const;
786
787 BasicConstraintsSyntax &operator = (const BasicConstraintsSyntax &);
788 AsnLen BEncContent (BUF_TYPE b);
789 void BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);
790
791 AsnLen BEnc (BUF_TYPE b);
792 void BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
793 int BEncPdu (BUF_TYPE b, AsnLen &bytesEncoded);
794 int BDecPdu (BUF_TYPE b, AsnLen &bytesDecoded);
795
796 void Print (ostream &os) const;
797 };
798
799
800 class NameConstraintsSyntax: public AsnType
801 {
802 public:
803 GeneralSubtrees *permittedSubtrees;
804 GeneralSubtrees *excludedSubtrees;
805
806 NameConstraintsSyntax();
807 NameConstraintsSyntax (const NameConstraintsSyntax &);
808 virtual ~NameConstraintsSyntax();
809 virtual AsnType *Clone() const;
810
811 virtual AsnType *Copy() const;
812
813 NameConstraintsSyntax &operator = (const NameConstraintsSyntax &);
814 AsnLen BEncContent (BUF_TYPE b);
815 void BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);
816
817 AsnLen BEnc (BUF_TYPE b);
818 void BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
819 int BEncPdu (BUF_TYPE b, AsnLen &bytesEncoded);
820 int BDecPdu (BUF_TYPE b, AsnLen &bytesDecoded);
821
822 void Print (ostream &os) const;
823 };
824
825
826 class PolicyConstraintsSyntax: public AsnType
827 {
828 public:
829 SkipCerts *requireExplicitPolicy;
830 SkipCerts *inhibitPolicyMapping;
831
832 PolicyConstraintsSyntax();
833 PolicyConstraintsSyntax (const PolicyConstraintsSyntax &);
834 virtual ~PolicyConstraintsSyntax();
835 virtual AsnType *Clone() const;
836
837 virtual AsnType *Copy() const;
838
839 PolicyConstraintsSyntax &operator = (const PolicyConstraintsSyntax &);
840 AsnLen BEncContent (BUF_TYPE b);
841 void BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);
842
843 AsnLen BEnc (BUF_TYPE b);
844 void BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
845 int BEncPdu (BUF_TYPE b, AsnLen &bytesEncoded);
846 int BDecPdu (BUF_TYPE b, AsnLen &bytesDecoded);
847
848 void Print (ostream &os) const;
849 };
850
851
852 class CertPolicySet: public AsnType
853 {
854 protected:
855 unsigned long int count;
856 struct AsnListElmt
857 {
858 AsnListElmt *next;
859 AsnListElmt *prev;
860 CertPolicyId *elmt;
861 } *first, *curr, *last;
862
863 public:
864 CertPolicySet() { count = 0; first = curr = last = NULL; }
865 CertPolicySet (const CertPolicySet &);
866 virtual ~CertPolicySet();
867 virtual AsnType *Clone() const;
868
869 virtual AsnType *Copy() const;
870
871 CertPolicySet &operator = (const CertPolicySet &);
872 void SetCurrElmt (unsigned long int index);
873 unsigned long int GetCurrElmtIndex();
874 void SetCurrToFirst() { curr = first; }
875 void SetCurrToLast() { curr = last; }
876 // reading member fcns
877 int Count() const { return count; }
878 // NOTE: if your compiler complains about these NULLs, its definition of NULL is broken (and you better change it there!)
879 CertPolicyId *First() const { return count > 0 ? first->elmt : NULL; }
880 CertPolicyId *Last() const { return count > 0 ? last->elmt : NULL; }
881 CertPolicyId *Curr() const { return curr ? curr->elmt : NULL; }
882 CertPolicyId *Next() const { return curr && curr->next ? curr->next->elmt : NULL; }
883 CertPolicyId *Prev() const { return curr && curr->prev ? curr->prev->elmt : NULL; }
884
885 // routines that move the curr elmt
886 CertPolicyId *GoNext() { if (curr) curr = curr->next; return Curr(); }
887 CertPolicyId *GoPrev() { if (curr) curr = curr->prev; return Curr(); }
888
889 // write & alloc fcns - returns new elmt
890 CertPolicyId *Append(); // add elmt to end of list
891 CertPolicyId *Prepend(); // add elmt to beginning of list
892 CertPolicyId *InsertBefore(); //insert elmt before current elmt
893 CertPolicyId *InsertAfter(); //insert elmt after current elmt
894
895 // write & alloc & copy - returns list after copying elmt
896 CertPolicySet &AppendCopy (CertPolicyId &elmt); // add elmt to end of list
897 CertPolicySet &PrependCopy (CertPolicyId &elmt); // add elmt to beginning of list
898 CertPolicySet &InsertBeforeAndCopy (CertPolicyId &elmt); //insert elmt before current elmt
899 CertPolicySet &InsertAfterAndCopy (CertPolicyId &elmt); //insert elmt after current elmt
900
901 // removing the current elmt from the list
902 void RemoveCurrFromList();
903
904 // encode and decode routines
905 AsnLen BEnc (BUF_TYPE b);
906 void BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
907 AsnLen BEncContent (BUF_TYPE b);
908 void BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);
909
910 PDU_MEMBER_MACROS
911 void Print (ostream &os) const;
912 };
913
914
915 /* GeneralizedTime */
916 typedef GeneralizedTime InvalidityDate;
917
918 class CRLDistPointsSyntax: public AsnType
919 {
920 protected:
921 unsigned long int count;
922 struct AsnListElmt
923 {
924 AsnListElmt *next;
925 AsnListElmt *prev;
926 DistributionPoint *elmt;
927 } *first, *curr, *last;
928
929 public:
930 CRLDistPointsSyntax() { count = 0; first = curr = last = NULL; }
931 CRLDistPointsSyntax (const CRLDistPointsSyntax &);
932 virtual ~CRLDistPointsSyntax();
933 virtual AsnType *Clone() const;
934
935 virtual AsnType *Copy() const;
936
937 CRLDistPointsSyntax &operator = (const CRLDistPointsSyntax &);
938 void SetCurrElmt (unsigned long int index);
939 unsigned long int GetCurrElmtIndex();
940 void SetCurrToFirst() { curr = first; }
941 void SetCurrToLast() { curr = last; }
942 // reading member fcns
943 int Count() const { return count; }
944 // NOTE: if your compiler complains about these NULLs, its definition of NULL is broken (and you better change it there!)
945 DistributionPoint *First() const { return count > 0 ? first->elmt : NULL; }
946 DistributionPoint *Last() const { return count > 0 ? last->elmt : NULL; }
947 DistributionPoint *Curr() const { return curr ? curr->elmt : NULL; }
948 DistributionPoint *Next() const { return curr && curr->next ? curr->next->elmt : NULL; }
949 DistributionPoint *Prev() const { return curr && curr->prev ? curr->prev->elmt : NULL; }
950
951 // routines that move the curr elmt
952 DistributionPoint *GoNext() { if (curr) curr = curr->next; return Curr(); }
953 DistributionPoint *GoPrev() { if (curr) curr = curr->prev; return Curr(); }
954
955 // write & alloc fcns - returns new elmt
956 DistributionPoint *Append(); // add elmt to end of list
957 DistributionPoint *Prepend(); // add elmt to beginning of list
958 DistributionPoint *InsertBefore(); //insert elmt before current elmt
959 DistributionPoint *InsertAfter(); //insert elmt after current elmt
960
961 // write & alloc & copy - returns list after copying elmt
962 CRLDistPointsSyntax &AppendCopy (DistributionPoint &elmt); // add elmt to end of list
963 CRLDistPointsSyntax &PrependCopy (DistributionPoint &elmt); // add elmt to beginning of list
964 CRLDistPointsSyntax &InsertBeforeAndCopy (DistributionPoint &elmt); //insert elmt before current elmt
965 CRLDistPointsSyntax &InsertAfterAndCopy (DistributionPoint &elmt); //insert elmt after current elmt
966
967 // removing the current elmt from the list
968 void RemoveCurrFromList();
969
970 // encode and decode routines
971 AsnLen BEnc (BUF_TYPE b);
972 void BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
973 AsnLen BEncContent (BUF_TYPE b);
974 void BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);
975
976 PDU_MEMBER_MACROS
977 void Print (ostream &os) const;
978 };
979
980
981 class IssuingDistPointSyntax: public AsnType
982 {
983 public:
984 DistributionPointName *distributionPoint;
985 AsnBool *onlyContainsUserCerts;
986 AsnBool *onlyContainsCACerts;
987 ReasonFlags *onlySomeReasons;
988 AsnBool *indirectCRL;
989
990 IssuingDistPointSyntax();
991 IssuingDistPointSyntax (const IssuingDistPointSyntax &);
992 virtual ~IssuingDistPointSyntax();
993 virtual AsnType *Clone() const;
994
995 virtual AsnType *Copy() const;
996
997 IssuingDistPointSyntax &operator = (const IssuingDistPointSyntax &);
998 AsnLen BEncContent (BUF_TYPE b);
999 void BDecContent (BUF_TYPE b, AsnTag tag, AsnLen elmtLen, AsnLen &bytesDecoded, ENV_TYPE env);
1000
1001 AsnLen BEnc (BUF_TYPE b);
1002 void BDec (BUF_TYPE b, AsnLen &bytesDecoded, ENV_TYPE env);
1003 int BEncPdu (BUF_TYPE b, AsnLen &bytesEncoded);
1004 int BDecPdu (BUF_TYPE b, AsnLen &bytesDecoded);
1005
1006 void Print (ostream &os) const;
1007 };
1008
1009
1010 /* GeneralNames */
1011 typedef GeneralNames CertificateIssuer;
1012
1013 /* CRLNumber */
1014 typedef CRLNumber BaseCRLNumber;
1015
1016 /* CertificateList */
1017 typedef CertificateList DeltaRevocationList;
1018
1019 //------------------------------------------------------------------------------
1020 // externs for value defs
1021
1022 #define id_at_supportedAlgorithms_arc 2, 5, 4, 52
1023 #define id_at_supportedAlgorithms AsnOid(id_at_supportedAlgorithms_arc)
1024 #define id_at_deltaRevocationList_arc 2, 5, 4, 53
1025 #define id_at_deltaRevocationList AsnOid(id_at_deltaRevocationList_arc)
1026 #define id_ce_subjectDirectoryAttributes_arc 2, 5, 29, 9
1027 #define id_ce_subjectDirectoryAttributes AsnOid(id_ce_subjectDirectoryAttributes_arc)
1028 #define id_ce_subjectKeyIdentifier_arc 2, 5, 29, 14
1029 #define id_ce_subjectKeyIdentifier AsnOid(id_ce_subjectKeyIdentifier_arc)
1030 #define id_ce_keyUsage_arc 2, 5, 29, 15
1031 #define id_ce_keyUsage AsnOid(id_ce_keyUsage_arc)
1032 #define id_ce_privateKeyUsagePeriod_arc 2, 5, 29, 16
1033 #define id_ce_privateKeyUsagePeriod AsnOid(id_ce_privateKeyUsagePeriod_arc)
1034 #define id_ce_subjectAltName_arc 2, 5, 29, 17
1035 #define id_ce_subjectAltName AsnOid(id_ce_subjectAltName_arc)
1036 #define id_ce_issuerAltName_arc 2, 5, 29, 18
1037 #define id_ce_issuerAltName AsnOid(id_ce_issuerAltName_arc)
1038 #define id_ce_basicConstraints_arc 2, 5, 29, 19
1039 #define id_ce_basicConstraints AsnOid(id_ce_basicConstraints_arc)
1040 #define id_ce_cRLNumber_arc 2, 5, 29, 20
1041 #define id_ce_cRLNumber AsnOid(id_ce_cRLNumber_arc)
1042 #define id_ce_reasonCode_arc 2, 5, 29, 21
1043 #define id_ce_reasonCode AsnOid(id_ce_reasonCode_arc)
1044 #define id_ce_instructionCode_arc 2, 5, 29, 23
1045 #define id_ce_instructionCode AsnOid(id_ce_instructionCode_arc)
1046 #define id_ce_invalidityDate_arc 2, 5, 29, 24
1047 #define id_ce_invalidityDate AsnOid(id_ce_invalidityDate_arc)
1048 #define id_ce_deltaCRLIndicator_arc 2, 5, 29, 27
1049 #define id_ce_deltaCRLIndicator AsnOid(id_ce_deltaCRLIndicator_arc)
1050 #define id_ce_issuingDistributionPoint_arc 2, 5, 29, 28
1051 #define id_ce_issuingDistributionPoint AsnOid(id_ce_issuingDistributionPoint_arc)
1052 #define id_ce_certificateIssuer_arc 2, 5, 29, 29
1053 #define id_ce_certificateIssuer AsnOid(id_ce_certificateIssuer_arc)
1054 #define id_ce_nameConstraints_arc 2, 5, 29, 30
1055 #define id_ce_nameConstraints AsnOid(id_ce_nameConstraints_arc)
1056 #define id_ce_cRLDistributionPoints_arc 2, 5, 29, 31
1057 #define id_ce_cRLDistributionPoints AsnOid(id_ce_cRLDistributionPoints_arc)
1058 #define id_ce_certificatePolicies_arc 2, 5, 29, 32
1059 #define id_ce_certificatePolicies AsnOid(id_ce_certificatePolicies_arc)
1060 #define id_ce_policyMappings_arc 2, 5, 29, 33
1061 #define id_ce_policyMappings AsnOid(id_ce_policyMappings_arc)
1062 #define id_ce_authorityKeyIdentifier_arc 2, 5, 29, 35
1063 #define id_ce_authorityKeyIdentifier AsnOid(id_ce_authorityKeyIdentifier_arc)
1064 #define id_ce_policyConstraints_arc 2, 5, 29, 36
1065 #define id_ce_policyConstraints AsnOid(id_ce_policyConstraints_arc)
1066 #define id_ce_extKeyUsage_arc 2, 5, 29, 37
1067 #define id_ce_extKeyUsage AsnOid(id_ce_extKeyUsage_arc)
1068 #define id_mr_certificateExactMatch_arc 2, 5, 13, 34
1069 #define id_mr_certificateExactMatch AsnOid(id_mr_certificateExactMatch_arc)
1070 #define id_mr_certificateMatch_arc 2, 5, 13, 35
1071 #define id_mr_certificateMatch AsnOid(id_mr_certificateMatch_arc)
1072 #define id_mr_certificatePairExactMatch_arc 2, 5, 13, 36
1073 #define id_mr_certificatePairExactMatch AsnOid(id_mr_certificatePairExactMatch_arc)
1074 #define id_mr_certificatePairMatch_arc 2, 5, 13, 37
1075 #define id_mr_certificatePairMatch AsnOid(id_mr_certificatePairMatch_arc)
1076 #define id_mr_certificateListExactMatch_arc 2, 5, 13, 38
1077 #define id_mr_certificateListExactMatch AsnOid(id_mr_certificateListExactMatch_arc)
1078 #define id_mr_certificateListMatch_arc 2, 5, 13, 39
1079 #define id_mr_certificateListMatch AsnOid(id_mr_certificateListMatch_arc)
1080 #define id_mr_algorithmIdentifierMatch_arc 2, 5, 13, 40
1081 #define id_mr_algorithmIdentifierMatch AsnOid(id_mr_algorithmIdentifierMatch_arc)
1082 #define id_kp_arc 1, 3, 6, 1, 5, 5, 7, 3
1083 #define id_kp AsnOid(id_kp_arc)
1084 #define id_kp_serverAuth_arc 1, 3, 6, 1, 5, 5, 7, 3, 1
1085 #define id_kp_serverAuth AsnOid(id_kp_serverAuth_arc)
1086 #define id_kp_clientAuth_arc 1, 3, 6, 1, 5, 5, 7, 3, 2
1087 #define id_kp_clientAuth AsnOid(id_kp_clientAuth_arc)
1088 #define id_kp_codeSigning_arc 1, 3, 6, 1, 5, 5, 7, 3, 3
1089 #define id_kp_codeSigning AsnOid(id_kp_codeSigning_arc)
1090 #define id_kp_emailProtection_arc 1, 3, 6, 1, 5, 5, 7, 3, 4
1091 #define id_kp_emailProtection AsnOid(id_kp_emailProtection_arc)
1092 #define id_kp_timeStamping_arc 1, 3, 6, 1, 5, 5, 7, 3, 8
1093 #define id_kp_timeStamping AsnOid(id_kp_timeStamping_arc)
1094 #define id_netscape_cert_type_arc 2, 16, 840, 1, 113730, 1, 1
1095 #define id_netscape_cert_type AsnOid(id_netscape_cert_type_arc)
1096 //------------------------------------------------------------------------------
1097
1098 #endif /* conditional include of sm_x509ce.h */