1 // NOTE: this is a machine generated file--editing not recommended
3 // sm_x509af.h - class definitions for ASN.1 module AuthenticationFramework
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
13 //------------------------------------------------------------------------------
14 // class declarations:
17 class AttributeCertificateAssertionSetOf
;
18 class AttributeCertificateInfoSeqOf
;
19 class AlgorithmIdentifier
;
22 class AttCertValidityPeriod
;
24 class SubjectPublicKeyInfo
;
27 class AttributeCertificateAssertionChoice
;
28 class AttributeCertificateInfoChoice
;
29 class CRLToSignSeqOfSeq
;
31 class CertificateToSign
;
33 class AttributeCertificateInfo
;
35 class CrossCertificates
;
36 class CertificatePair
;
37 class CertificateList
;
38 class AttributeCertificate
;
39 class CertificationPathSeqOf
;
40 class ForwardCertificationPath
;
42 class AttributeCertificationPathSeqOf
;
44 class CertificationPath
;
45 class AttributeCertificationPath
;
46 class AttributeCertificateAssertion
;
48 //------------------------------------------------------------------------------
51 typedef enum AuthenticationFrameworkAnyId
54 } AuthenticationFrameworkAnyId
;
57 /* INTEGER { v1 (0), v2 (1), v3 (2) } */
58 class Version
: public AsnInt
61 Version(): AsnInt() {}
62 Version (int i
): AsnInt (i
) {}
72 /* OCTET STRING (SIZE (0..ub-password-length)) */
73 typedef AsnOcts UserPassword
;
75 class AttributeCertificateAssertionSetOf
: public AsnType
78 unsigned long int count
;
84 } *first
, *curr
, *last
;
87 AttributeCertificateAssertionSetOf() { count
= 0; first
= curr
= last
= NULL
; }
88 AttributeCertificateAssertionSetOf (const AttributeCertificateAssertionSetOf
&);
89 virtual ~AttributeCertificateAssertionSetOf();
90 virtual AsnType
*Clone() const;
92 virtual AsnType
*Copy() const;
94 AttributeCertificateAssertionSetOf
&operator = (const AttributeCertificateAssertionSetOf
&);
95 void SetCurrElmt (unsigned long int index
);
96 unsigned long int GetCurrElmtIndex();
97 void SetCurrToFirst() { curr
= first
; }
98 void SetCurrToLast() { curr
= last
; }
99 // reading member fcns
100 int Count() const { return count
; }
101 // NOTE: if your compiler complains about these NULLs, its definition of NULL is broken (and you better change it there!)
102 AttributeType
*First() const { return count
> 0 ? first
->elmt
: NULL
; }
103 AttributeType
*Last() const { return count
> 0 ? last
->elmt
: NULL
; }
104 AttributeType
*Curr() const { return curr
? curr
->elmt
: NULL
; }
105 AttributeType
*Next() const { return curr
&& curr
->next
? curr
->next
->elmt
: NULL
; }
106 AttributeType
*Prev() const { return curr
&& curr
->prev
? curr
->prev
->elmt
: NULL
; }
108 // routines that move the curr elmt
109 AttributeType
*GoNext() { if (curr
) curr
= curr
->next
; return Curr(); }
110 AttributeType
*GoPrev() { if (curr
) curr
= curr
->prev
; return Curr(); }
112 // write & alloc fcns - returns new elmt
113 AttributeType
*Append(); // add elmt to end of list
114 AttributeType
*Prepend(); // add elmt to beginning of list
115 AttributeType
*InsertBefore(); //insert elmt before current elmt
116 AttributeType
*InsertAfter(); //insert elmt after current elmt
118 // write & alloc & copy - returns list after copying elmt
119 AttributeCertificateAssertionSetOf
&AppendCopy (AttributeType
&elmt
); // add elmt to end of list
120 AttributeCertificateAssertionSetOf
&PrependCopy (AttributeType
&elmt
); // add elmt to beginning of list
121 AttributeCertificateAssertionSetOf
&InsertBeforeAndCopy (AttributeType
&elmt
); //insert elmt before current elmt
122 AttributeCertificateAssertionSetOf
&InsertAfterAndCopy (AttributeType
&elmt
); //insert elmt after current elmt
124 // removing the current elmt from the list
125 void RemoveCurrFromList();
127 // encode and decode routines
128 AsnLen
BEnc (BUF_TYPE b
);
129 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
130 AsnLen
BEncContent (BUF_TYPE b
);
131 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
134 void Print (ostream
&os
) const;
138 class AttributeCertificateInfoSeqOf
: public AsnType
141 unsigned long int count
;
147 } *first
, *curr
, *last
;
150 AttributeCertificateInfoSeqOf() { count
= 0; first
= curr
= last
= NULL
; }
151 AttributeCertificateInfoSeqOf (const AttributeCertificateInfoSeqOf
&);
152 virtual ~AttributeCertificateInfoSeqOf();
153 virtual AsnType
*Clone() const;
155 virtual AsnType
*Copy() const;
157 AttributeCertificateInfoSeqOf
&operator = (const AttributeCertificateInfoSeqOf
&);
158 void SetCurrElmt (unsigned long int index
);
159 unsigned long int GetCurrElmtIndex();
160 void SetCurrToFirst() { curr
= first
; }
161 void SetCurrToLast() { curr
= last
; }
162 // reading member fcns
163 int Count() const { return count
; }
164 // NOTE: if your compiler complains about these NULLs, its definition of NULL is broken (and you better change it there!)
165 Attribute
*First() const { return count
> 0 ? first
->elmt
: NULL
; }
166 Attribute
*Last() const { return count
> 0 ? last
->elmt
: NULL
; }
167 Attribute
*Curr() const { return curr
? curr
->elmt
: NULL
; }
168 Attribute
*Next() const { return curr
&& curr
->next
? curr
->next
->elmt
: NULL
; }
169 Attribute
*Prev() const { return curr
&& curr
->prev
? curr
->prev
->elmt
: NULL
; }
171 // routines that move the curr elmt
172 Attribute
*GoNext() { if (curr
) curr
= curr
->next
; return Curr(); }
173 Attribute
*GoPrev() { if (curr
) curr
= curr
->prev
; return Curr(); }
175 // write & alloc fcns - returns new elmt
176 Attribute
*Append(); // add elmt to end of list
177 Attribute
*Prepend(); // add elmt to beginning of list
178 Attribute
*InsertBefore(); //insert elmt before current elmt
179 Attribute
*InsertAfter(); //insert elmt after current elmt
181 // write & alloc & copy - returns list after copying elmt
182 AttributeCertificateInfoSeqOf
&AppendCopy (Attribute
&elmt
); // add elmt to end of list
183 AttributeCertificateInfoSeqOf
&PrependCopy (Attribute
&elmt
); // add elmt to beginning of list
184 AttributeCertificateInfoSeqOf
&InsertBeforeAndCopy (Attribute
&elmt
); //insert elmt before current elmt
185 AttributeCertificateInfoSeqOf
&InsertAfterAndCopy (Attribute
&elmt
); //insert elmt after current elmt
187 // removing the current elmt from the list
188 void RemoveCurrFromList();
190 // encode and decode routines
191 AsnLen
BEnc (BUF_TYPE b
);
192 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
193 AsnLen
BEncContent (BUF_TYPE b
);
194 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
197 void Print (ostream
&os
) const;
202 typedef BigIntegerStr CertificateSerialNumber
;
204 class AlgorithmIdentifier
: public AsnType
210 AlgorithmIdentifier();
211 AlgorithmIdentifier (const AlgorithmIdentifier
&);
212 virtual ~AlgorithmIdentifier();
213 virtual AsnType
*Clone() const;
215 virtual AsnType
*Copy() const;
217 AlgorithmIdentifier
&operator = (const AlgorithmIdentifier
&);
218 AsnLen
BEncContent (BUF_TYPE b
);
219 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
221 AsnLen
BEnc (BUF_TYPE b
);
222 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
223 int BEncPdu (BUF_TYPE b
, AsnLen
&bytesEncoded
);
224 int BDecPdu (BUF_TYPE b
, AsnLen
&bytesDecoded
);
226 void Print (ostream
&os
) const;
230 class Time
: public AsnType
236 generalizedTimeCid
= 1
239 enum ChoiceIdEnum choiceId
;
243 GeneralizedTime
*generalizedTime
;
251 virtual AsnType
*Clone() const;
253 virtual AsnType
*Copy() const;
255 Time
&operator = (const Time
&);
256 AsnLen
BEncContent (BUF_TYPE b
);
257 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
258 AsnLen
BEnc (BUF_TYPE b
);
259 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
260 int BEncPdu (BUF_TYPE b
, AsnLen
&bytesEncoded
);
261 int BDecPdu (BUF_TYPE b
, AsnLen
&bytesDecoded
);
263 void Print (ostream
&os
) const;
267 class Extension
: public AsnType
275 Extension (const Extension
&);
276 virtual ~Extension();
277 virtual AsnType
*Clone() const;
279 virtual AsnType
*Copy() const;
281 Extension
&operator = (const Extension
&);
282 AsnLen
BEncContent (BUF_TYPE b
);
283 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
285 AsnLen
BEnc (BUF_TYPE b
);
286 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
287 int BEncPdu (BUF_TYPE b
, AsnLen
&bytesEncoded
);
288 int BDecPdu (BUF_TYPE b
, AsnLen
&bytesDecoded
);
290 void Print (ostream
&os
) const;
294 class AttCertValidityPeriod
: public AsnType
297 GeneralizedTime notBeforeTime
;
298 GeneralizedTime notAfterTime
;
300 AttCertValidityPeriod();
301 AttCertValidityPeriod (const AttCertValidityPeriod
&);
302 virtual ~AttCertValidityPeriod();
303 virtual AsnType
*Clone() const;
305 virtual AsnType
*Copy() const;
307 AttCertValidityPeriod
&operator = (const AttCertValidityPeriod
&);
308 AsnLen
BEncContent (BUF_TYPE b
);
309 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
311 AsnLen
BEnc (BUF_TYPE b
);
312 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
313 int BEncPdu (BUF_TYPE b
, AsnLen
&bytesEncoded
);
314 int BDecPdu (BUF_TYPE b
, AsnLen
&bytesDecoded
);
316 void Print (ostream
&os
) const;
320 class Validity
: public AsnType
327 Validity (const Validity
&);
329 virtual AsnType
*Clone() const;
331 virtual AsnType
*Copy() const;
333 Validity
&operator = (const Validity
&);
334 AsnLen
BEncContent (BUF_TYPE b
);
335 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
337 AsnLen
BEnc (BUF_TYPE b
);
338 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
339 int BEncPdu (BUF_TYPE b
, AsnLen
&bytesEncoded
);
340 int BDecPdu (BUF_TYPE b
, AsnLen
&bytesDecoded
);
342 void Print (ostream
&os
) const;
346 class SubjectPublicKeyInfo
: public AsnType
349 AlgorithmIdentifier
*algorithm
;
350 AsnBits subjectPublicKey
;
352 SubjectPublicKeyInfo();
353 SubjectPublicKeyInfo (const SubjectPublicKeyInfo
&);
354 virtual ~SubjectPublicKeyInfo();
355 virtual AsnType
*Clone() const;
357 virtual AsnType
*Copy() const;
359 SubjectPublicKeyInfo
&operator = (const SubjectPublicKeyInfo
&);
360 AsnLen
BEncContent (BUF_TYPE b
);
361 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
363 AsnLen
BEnc (BUF_TYPE b
);
364 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
365 int BEncPdu (BUF_TYPE b
, AsnLen
&bytesEncoded
);
366 int BDecPdu (BUF_TYPE b
, AsnLen
&bytesDecoded
);
368 void Print (ostream
&os
) const;
372 class Extensions
: public AsnType
375 unsigned long int count
;
381 } *first
, *curr
, *last
;
384 Extensions() { count
= 0; first
= curr
= last
= NULL
; }
385 Extensions (const Extensions
&);
386 virtual ~Extensions();
387 virtual AsnType
*Clone() const;
389 virtual AsnType
*Copy() const;
391 Extensions
&operator = (const Extensions
&);
392 void SetCurrElmt (unsigned long int index
);
393 unsigned long int GetCurrElmtIndex();
394 void SetCurrToFirst() { curr
= first
; }
395 void SetCurrToLast() { curr
= last
; }
396 // reading member fcns
397 int Count() const { return count
; }
398 // NOTE: if your compiler complains about these NULLs, its definition of NULL is broken (and you better change it there!)
399 Extension
*First() const { return count
> 0 ? first
->elmt
: NULL
; }
400 Extension
*Last() const { return count
> 0 ? last
->elmt
: NULL
; }
401 Extension
*Curr() const { return curr
? curr
->elmt
: NULL
; }
402 Extension
*Next() const { return curr
&& curr
->next
? curr
->next
->elmt
: NULL
; }
403 Extension
*Prev() const { return curr
&& curr
->prev
? curr
->prev
->elmt
: NULL
; }
405 // routines that move the curr elmt
406 Extension
*GoNext() { if (curr
) curr
= curr
->next
; return Curr(); }
407 Extension
*GoPrev() { if (curr
) curr
= curr
->prev
; return Curr(); }
409 // write & alloc fcns - returns new elmt
410 Extension
*Append(); // add elmt to end of list
411 Extension
*Prepend(); // add elmt to beginning of list
412 Extension
*InsertBefore(); //insert elmt before current elmt
413 Extension
*InsertAfter(); //insert elmt after current elmt
415 // write & alloc & copy - returns list after copying elmt
416 Extensions
&AppendCopy (Extension
&elmt
); // add elmt to end of list
417 Extensions
&PrependCopy (Extension
&elmt
); // add elmt to beginning of list
418 Extensions
&InsertBeforeAndCopy (Extension
&elmt
); //insert elmt before current elmt
419 Extensions
&InsertAfterAndCopy (Extension
&elmt
); //insert elmt after current elmt
421 // removing the current elmt from the list
422 void RemoveCurrFromList();
424 // encode and decode routines
425 AsnLen
BEnc (BUF_TYPE b
);
426 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
427 AsnLen
BEncContent (BUF_TYPE b
);
428 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
431 void Print (ostream
&os
) const;
435 class IssuerSerial
: public AsnType
439 CertificateSerialNumber serial
;
440 UniqueIdentifier
*issuerUID
;
443 IssuerSerial (const IssuerSerial
&);
444 virtual ~IssuerSerial();
445 virtual AsnType
*Clone() const;
447 virtual AsnType
*Copy() const;
449 IssuerSerial
&operator = (const IssuerSerial
&);
450 AsnLen
BEncContent (BUF_TYPE b
);
451 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
453 AsnLen
BEnc (BUF_TYPE b
);
454 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
455 int BEncPdu (BUF_TYPE b
, AsnLen
&bytesEncoded
);
456 int BDecPdu (BUF_TYPE b
, AsnLen
&bytesDecoded
);
458 void Print (ostream
&os
) const;
462 class AttributeCertificateAssertionChoice
: public AsnType
467 baseCertificateIDCid
= 0,
471 enum ChoiceIdEnum choiceId
;
474 IssuerSerial
*baseCertificateID
;
479 AttributeCertificateAssertionChoice();
480 AttributeCertificateAssertionChoice (const AttributeCertificateAssertionChoice
&);
481 virtual ~AttributeCertificateAssertionChoice();
483 virtual AsnType
*Clone() const;
485 virtual AsnType
*Copy() const;
487 AttributeCertificateAssertionChoice
&operator = (const AttributeCertificateAssertionChoice
&);
488 AsnLen
BEncContent (BUF_TYPE b
);
489 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
490 AsnLen
BEnc (BUF_TYPE b
);
491 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
492 int BEncPdu (BUF_TYPE b
, AsnLen
&bytesEncoded
);
493 int BDecPdu (BUF_TYPE b
, AsnLen
&bytesDecoded
);
495 void Print (ostream
&os
) const;
499 class AttributeCertificateInfoChoice
: public AsnType
504 baseCertificateIDCid
= 0,
508 enum ChoiceIdEnum choiceId
;
511 IssuerSerial
*baseCertificateID
;
512 GeneralNames
*subjectName
;
516 AttributeCertificateInfoChoice();
517 AttributeCertificateInfoChoice (const AttributeCertificateInfoChoice
&);
518 virtual ~AttributeCertificateInfoChoice();
520 virtual AsnType
*Clone() const;
522 virtual AsnType
*Copy() const;
524 AttributeCertificateInfoChoice
&operator = (const AttributeCertificateInfoChoice
&);
525 AsnLen
BEncContent (BUF_TYPE b
);
526 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
527 AsnLen
BEnc (BUF_TYPE b
);
528 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
529 int BEncPdu (BUF_TYPE b
, AsnLen
&bytesEncoded
);
530 int BDecPdu (BUF_TYPE b
, AsnLen
&bytesDecoded
);
532 void Print (ostream
&os
) const;
536 class CRLToSignSeqOfSeq
: public AsnType
539 CertificateSerialNumber userCertificate
;
540 Time
*revocationDate
;
541 Extensions
*crlEntryExtensions
;
544 CRLToSignSeqOfSeq (const CRLToSignSeqOfSeq
&);
545 virtual ~CRLToSignSeqOfSeq();
546 virtual AsnType
*Clone() const;
548 virtual AsnType
*Copy() const;
550 CRLToSignSeqOfSeq
&operator = (const CRLToSignSeqOfSeq
&);
551 AsnLen
BEncContent (BUF_TYPE b
);
552 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
554 AsnLen
BEnc (BUF_TYPE b
);
555 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
556 int BEncPdu (BUF_TYPE b
, AsnLen
&bytesEncoded
);
557 int BDecPdu (BUF_TYPE b
, AsnLen
&bytesDecoded
);
559 void Print (ostream
&os
) const;
563 class CRLToSignSeqOf
: public AsnType
566 unsigned long int count
;
571 CRLToSignSeqOfSeq
*elmt
;
572 } *first
, *curr
, *last
;
575 CRLToSignSeqOf() { count
= 0; first
= curr
= last
= NULL
; }
576 CRLToSignSeqOf (const CRLToSignSeqOf
&);
577 virtual ~CRLToSignSeqOf();
578 virtual AsnType
*Clone() const;
580 virtual AsnType
*Copy() const;
582 CRLToSignSeqOf
&operator = (const CRLToSignSeqOf
&);
583 void SetCurrElmt (unsigned long int index
);
584 unsigned long int GetCurrElmtIndex();
585 void SetCurrToFirst() { curr
= first
; }
586 void SetCurrToLast() { curr
= last
; }
587 // reading member fcns
588 int Count() const { return count
; }
589 // NOTE: if your compiler complains about these NULLs, its definition of NULL is broken (and you better change it there!)
590 CRLToSignSeqOfSeq
*First() const { return count
> 0 ? first
->elmt
: NULL
; }
591 CRLToSignSeqOfSeq
*Last() const { return count
> 0 ? last
->elmt
: NULL
; }
592 CRLToSignSeqOfSeq
*Curr() const { return curr
? curr
->elmt
: NULL
; }
593 CRLToSignSeqOfSeq
*Next() const { return curr
&& curr
->next
? curr
->next
->elmt
: NULL
; }
594 CRLToSignSeqOfSeq
*Prev() const { return curr
&& curr
->prev
? curr
->prev
->elmt
: NULL
; }
596 // routines that move the curr elmt
597 CRLToSignSeqOfSeq
*GoNext() { if (curr
) curr
= curr
->next
; return Curr(); }
598 CRLToSignSeqOfSeq
*GoPrev() { if (curr
) curr
= curr
->prev
; return Curr(); }
600 // write & alloc fcns - returns new elmt
601 CRLToSignSeqOfSeq
*Append(); // add elmt to end of list
602 CRLToSignSeqOfSeq
*Prepend(); // add elmt to beginning of list
603 CRLToSignSeqOfSeq
*InsertBefore(); //insert elmt before current elmt
604 CRLToSignSeqOfSeq
*InsertAfter(); //insert elmt after current elmt
606 // write & alloc & copy - returns list after copying elmt
607 CRLToSignSeqOf
&AppendCopy (CRLToSignSeqOfSeq
&elmt
); // add elmt to end of list
608 CRLToSignSeqOf
&PrependCopy (CRLToSignSeqOfSeq
&elmt
); // add elmt to beginning of list
609 CRLToSignSeqOf
&InsertBeforeAndCopy (CRLToSignSeqOfSeq
&elmt
); //insert elmt before current elmt
610 CRLToSignSeqOf
&InsertAfterAndCopy (CRLToSignSeqOfSeq
&elmt
); //insert elmt after current elmt
612 // removing the current elmt from the list
613 void RemoveCurrFromList();
615 // encode and decode routines
616 AsnLen
BEnc (BUF_TYPE b
);
617 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
618 AsnLen
BEncContent (BUF_TYPE b
);
619 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
622 void Print (ostream
&os
) const;
626 class CertificateToSign
: public AsnType
630 CertificateSerialNumber serialNumber
;
631 AlgorithmIdentifier
*signature
;
635 SubjectPublicKeyInfo
*subjectPublicKeyInfo
;
636 UniqueIdentifier
*issuerUniqueIdentifier
;
637 UniqueIdentifier
*subjectUniqueIdentifier
;
638 Extensions
*extensions
;
641 CertificateToSign (const CertificateToSign
&);
642 virtual ~CertificateToSign();
643 virtual AsnType
*Clone() const;
645 virtual AsnType
*Copy() const;
647 CertificateToSign
&operator = (const CertificateToSign
&);
648 AsnLen
BEncContent (BUF_TYPE b
);
649 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
651 AsnLen
BEnc (BUF_TYPE b
);
652 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
653 int BEncPdu (BUF_TYPE b
, AsnLen
&bytesEncoded
);
654 int BDecPdu (BUF_TYPE b
, AsnLen
&bytesDecoded
);
656 void Print (ostream
&os
) const;
660 class CRLToSign
: public AsnType
664 AlgorithmIdentifier
*signature
;
668 CRLToSignSeqOf
*revokedCertificates
;
669 Extensions
*crlExtensions
;
672 CRLToSign (const CRLToSign
&);
673 virtual ~CRLToSign();
674 virtual AsnType
*Clone() const;
676 virtual AsnType
*Copy() const;
678 CRLToSign
&operator = (const CRLToSign
&);
679 AsnLen
BEncContent (BUF_TYPE b
);
680 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
682 AsnLen
BEnc (BUF_TYPE b
);
683 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
684 int BEncPdu (BUF_TYPE b
, AsnLen
&bytesEncoded
);
685 int BDecPdu (BUF_TYPE b
, AsnLen
&bytesDecoded
);
687 void Print (ostream
&os
) const;
691 class AttributeCertificateInfo
: public AsnType
695 AttributeCertificateInfoChoice
*subject
;
697 AlgorithmIdentifier
*signature
;
698 CertificateSerialNumber serialNumber
;
699 AttCertValidityPeriod
*attCertValidityPeriod
;
700 AttributeCertificateInfoSeqOf attributes
;
701 UniqueIdentifier
*issuerUniqueID
;
702 Extensions
*extensions
;
704 AttributeCertificateInfo();
705 AttributeCertificateInfo (const AttributeCertificateInfo
&);
706 virtual ~AttributeCertificateInfo();
707 virtual AsnType
*Clone() const;
709 virtual AsnType
*Copy() const;
711 AttributeCertificateInfo
&operator = (const AttributeCertificateInfo
&);
712 AsnLen
BEncContent (BUF_TYPE b
);
713 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
715 AsnLen
BEnc (BUF_TYPE b
);
716 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
717 int BEncPdu (BUF_TYPE b
, AsnLen
&bytesEncoded
);
718 int BDecPdu (BUF_TYPE b
, AsnLen
&bytesDecoded
);
720 void Print (ostream
&os
) const;
724 class Certificate
: public AsnType
727 CertificateToSign
*certificateToSign
;
728 AlgorithmIdentifier
*algorithmIdentifier
;
729 AsnBits signatureValue
;
732 Certificate (const Certificate
&);
733 virtual ~Certificate();
734 virtual AsnType
*Clone() const;
736 virtual AsnType
*Copy() const;
738 Certificate
&operator = (const Certificate
&);
739 AsnLen
BEncContent (BUF_TYPE b
);
740 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
742 AsnLen
BEnc (BUF_TYPE b
);
743 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
744 int BEncPdu (BUF_TYPE b
, AsnLen
&bytesEncoded
);
745 int BDecPdu (BUF_TYPE b
, AsnLen
&bytesDecoded
);
747 void Print (ostream
&os
) const;
751 class CrossCertificates
: public AsnType
754 unsigned long int count
;
760 } *first
, *curr
, *last
;
763 CrossCertificates() { count
= 0; first
= curr
= last
= NULL
; }
764 CrossCertificates (const CrossCertificates
&);
765 virtual ~CrossCertificates();
766 virtual AsnType
*Clone() const;
768 virtual AsnType
*Copy() const;
770 CrossCertificates
&operator = (const CrossCertificates
&);
771 void SetCurrElmt (unsigned long int index
);
772 unsigned long int GetCurrElmtIndex();
773 void SetCurrToFirst() { curr
= first
; }
774 void SetCurrToLast() { curr
= last
; }
775 // reading member fcns
776 int Count() const { return count
; }
777 // NOTE: if your compiler complains about these NULLs, its definition of NULL is broken (and you better change it there!)
778 Certificate
*First() const { return count
> 0 ? first
->elmt
: NULL
; }
779 Certificate
*Last() const { return count
> 0 ? last
->elmt
: NULL
; }
780 Certificate
*Curr() const { return curr
? curr
->elmt
: NULL
; }
781 Certificate
*Next() const { return curr
&& curr
->next
? curr
->next
->elmt
: NULL
; }
782 Certificate
*Prev() const { return curr
&& curr
->prev
? curr
->prev
->elmt
: NULL
; }
784 // routines that move the curr elmt
785 Certificate
*GoNext() { if (curr
) curr
= curr
->next
; return Curr(); }
786 Certificate
*GoPrev() { if (curr
) curr
= curr
->prev
; return Curr(); }
788 // write & alloc fcns - returns new elmt
789 Certificate
*Append(); // add elmt to end of list
790 Certificate
*Prepend(); // add elmt to beginning of list
791 Certificate
*InsertBefore(); //insert elmt before current elmt
792 Certificate
*InsertAfter(); //insert elmt after current elmt
794 // write & alloc & copy - returns list after copying elmt
795 CrossCertificates
&AppendCopy (Certificate
&elmt
); // add elmt to end of list
796 CrossCertificates
&PrependCopy (Certificate
&elmt
); // add elmt to beginning of list
797 CrossCertificates
&InsertBeforeAndCopy (Certificate
&elmt
); //insert elmt before current elmt
798 CrossCertificates
&InsertAfterAndCopy (Certificate
&elmt
); //insert elmt after current elmt
800 // removing the current elmt from the list
801 void RemoveCurrFromList();
803 // encode and decode routines
804 AsnLen
BEnc (BUF_TYPE b
);
805 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
806 AsnLen
BEncContent (BUF_TYPE b
);
807 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
810 void Print (ostream
&os
) const;
814 class CertificatePair
: public AsnType
817 Certificate
*forward
;
818 Certificate
*reverse
;
821 CertificatePair (const CertificatePair
&);
822 virtual ~CertificatePair();
823 virtual AsnType
*Clone() const;
825 virtual AsnType
*Copy() const;
827 CertificatePair
&operator = (const CertificatePair
&);
828 AsnLen
BEncContent (BUF_TYPE b
);
829 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
831 AsnLen
BEnc (BUF_TYPE b
);
832 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
833 int BEncPdu (BUF_TYPE b
, AsnLen
&bytesEncoded
);
834 int BDecPdu (BUF_TYPE b
, AsnLen
&bytesDecoded
);
836 void Print (ostream
&os
) const;
840 class CertificateList
: public AsnType
843 CRLToSign
*crlToSign
;
844 AlgorithmIdentifier
*algorithmIdentifier
;
845 AsnBits signatureValue
;
848 CertificateList (const CertificateList
&);
849 virtual ~CertificateList();
850 virtual AsnType
*Clone() const;
852 virtual AsnType
*Copy() const;
854 CertificateList
&operator = (const CertificateList
&);
855 AsnLen
BEncContent (BUF_TYPE b
);
856 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
858 AsnLen
BEnc (BUF_TYPE b
);
859 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
860 int BEncPdu (BUF_TYPE b
, AsnLen
&bytesEncoded
);
861 int BDecPdu (BUF_TYPE b
, AsnLen
&bytesDecoded
);
863 void Print (ostream
&os
) const;
867 class AttributeCertificate
: public AsnType
870 AttributeCertificateInfo
*attributeCertificateInfo
;
871 AlgorithmIdentifier
*algorithmIdentifier
;
872 AsnBits signatureValue
;
874 AttributeCertificate();
875 AttributeCertificate (const AttributeCertificate
&);
876 virtual ~AttributeCertificate();
877 virtual AsnType
*Clone() const;
879 virtual AsnType
*Copy() const;
881 AttributeCertificate
&operator = (const AttributeCertificate
&);
882 AsnLen
BEncContent (BUF_TYPE b
);
883 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
885 AsnLen
BEnc (BUF_TYPE b
);
886 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
887 int BEncPdu (BUF_TYPE b
, AsnLen
&bytesEncoded
);
888 int BDecPdu (BUF_TYPE b
, AsnLen
&bytesDecoded
);
890 void Print (ostream
&os
) const;
894 class CertificationPathSeqOf
: public AsnType
897 unsigned long int count
;
902 CertificatePair
*elmt
;
903 } *first
, *curr
, *last
;
906 CertificationPathSeqOf() { count
= 0; first
= curr
= last
= NULL
; }
907 CertificationPathSeqOf (const CertificationPathSeqOf
&);
908 virtual ~CertificationPathSeqOf();
909 virtual AsnType
*Clone() const;
911 virtual AsnType
*Copy() const;
913 CertificationPathSeqOf
&operator = (const CertificationPathSeqOf
&);
914 void SetCurrElmt (unsigned long int index
);
915 unsigned long int GetCurrElmtIndex();
916 void SetCurrToFirst() { curr
= first
; }
917 void SetCurrToLast() { curr
= last
; }
918 // reading member fcns
919 int Count() const { return count
; }
920 // NOTE: if your compiler complains about these NULLs, its definition of NULL is broken (and you better change it there!)
921 CertificatePair
*First() const { return count
> 0 ? first
->elmt
: NULL
; }
922 CertificatePair
*Last() const { return count
> 0 ? last
->elmt
: NULL
; }
923 CertificatePair
*Curr() const { return curr
? curr
->elmt
: NULL
; }
924 CertificatePair
*Next() const { return curr
&& curr
->next
? curr
->next
->elmt
: NULL
; }
925 CertificatePair
*Prev() const { return curr
&& curr
->prev
? curr
->prev
->elmt
: NULL
; }
927 // routines that move the curr elmt
928 CertificatePair
*GoNext() { if (curr
) curr
= curr
->next
; return Curr(); }
929 CertificatePair
*GoPrev() { if (curr
) curr
= curr
->prev
; return Curr(); }
931 // write & alloc fcns - returns new elmt
932 CertificatePair
*Append(); // add elmt to end of list
933 CertificatePair
*Prepend(); // add elmt to beginning of list
934 CertificatePair
*InsertBefore(); //insert elmt before current elmt
935 CertificatePair
*InsertAfter(); //insert elmt after current elmt
937 // write & alloc & copy - returns list after copying elmt
938 CertificationPathSeqOf
&AppendCopy (CertificatePair
&elmt
); // add elmt to end of list
939 CertificationPathSeqOf
&PrependCopy (CertificatePair
&elmt
); // add elmt to beginning of list
940 CertificationPathSeqOf
&InsertBeforeAndCopy (CertificatePair
&elmt
); //insert elmt before current elmt
941 CertificationPathSeqOf
&InsertAfterAndCopy (CertificatePair
&elmt
); //insert elmt after current elmt
943 // removing the current elmt from the list
944 void RemoveCurrFromList();
946 // encode and decode routines
947 AsnLen
BEnc (BUF_TYPE b
);
948 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
949 AsnLen
BEncContent (BUF_TYPE b
);
950 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
953 void Print (ostream
&os
) const;
957 class ForwardCertificationPath
: public AsnType
960 unsigned long int count
;
965 CrossCertificates
*elmt
;
966 } *first
, *curr
, *last
;
969 ForwardCertificationPath() { count
= 0; first
= curr
= last
= NULL
; }
970 ForwardCertificationPath (const ForwardCertificationPath
&);
971 virtual ~ForwardCertificationPath();
972 virtual AsnType
*Clone() const;
974 virtual AsnType
*Copy() const;
976 ForwardCertificationPath
&operator = (const ForwardCertificationPath
&);
977 void SetCurrElmt (unsigned long int index
);
978 unsigned long int GetCurrElmtIndex();
979 void SetCurrToFirst() { curr
= first
; }
980 void SetCurrToLast() { curr
= last
; }
981 // reading member fcns
982 int Count() const { return count
; }
983 // NOTE: if your compiler complains about these NULLs, its definition of NULL is broken (and you better change it there!)
984 CrossCertificates
*First() const { return count
> 0 ? first
->elmt
: NULL
; }
985 CrossCertificates
*Last() const { return count
> 0 ? last
->elmt
: NULL
; }
986 CrossCertificates
*Curr() const { return curr
? curr
->elmt
: NULL
; }
987 CrossCertificates
*Next() const { return curr
&& curr
->next
? curr
->next
->elmt
: NULL
; }
988 CrossCertificates
*Prev() const { return curr
&& curr
->prev
? curr
->prev
->elmt
: NULL
; }
990 // routines that move the curr elmt
991 CrossCertificates
*GoNext() { if (curr
) curr
= curr
->next
; return Curr(); }
992 CrossCertificates
*GoPrev() { if (curr
) curr
= curr
->prev
; return Curr(); }
994 // write & alloc fcns - returns new elmt
995 CrossCertificates
*Append(); // add elmt to end of list
996 CrossCertificates
*Prepend(); // add elmt to beginning of list
997 CrossCertificates
*InsertBefore(); //insert elmt before current elmt
998 CrossCertificates
*InsertAfter(); //insert elmt after current elmt
1000 // write & alloc & copy - returns list after copying elmt
1001 ForwardCertificationPath
&AppendCopy (CrossCertificates
&elmt
); // add elmt to end of list
1002 ForwardCertificationPath
&PrependCopy (CrossCertificates
&elmt
); // add elmt to beginning of list
1003 ForwardCertificationPath
&InsertBeforeAndCopy (CrossCertificates
&elmt
); //insert elmt before current elmt
1004 ForwardCertificationPath
&InsertAfterAndCopy (CrossCertificates
&elmt
); //insert elmt after current elmt
1006 // removing the current elmt from the list
1007 void RemoveCurrFromList();
1009 // encode and decode routines
1010 AsnLen
BEnc (BUF_TYPE b
);
1011 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
1012 AsnLen
BEncContent (BUF_TYPE b
);
1013 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
1016 void Print (ostream
&os
) const;
1020 class ACPathData
: public AsnType
1023 Certificate
*certificate
;
1024 AttributeCertificate
*attributeCertificate
;
1027 ACPathData (const ACPathData
&);
1028 virtual ~ACPathData();
1029 virtual AsnType
*Clone() const;
1031 virtual AsnType
*Copy() const;
1033 ACPathData
&operator = (const ACPathData
&);
1034 AsnLen
BEncContent (BUF_TYPE b
);
1035 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
1037 AsnLen
BEnc (BUF_TYPE b
);
1038 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
1039 int BEncPdu (BUF_TYPE b
, AsnLen
&bytesEncoded
);
1040 int BDecPdu (BUF_TYPE b
, AsnLen
&bytesDecoded
);
1042 void Print (ostream
&os
) const;
1046 class AttributeCertificationPathSeqOf
: public AsnType
1049 unsigned long int count
;
1055 } *first
, *curr
, *last
;
1058 AttributeCertificationPathSeqOf() { count
= 0; first
= curr
= last
= NULL
; }
1059 AttributeCertificationPathSeqOf (const AttributeCertificationPathSeqOf
&);
1060 virtual ~AttributeCertificationPathSeqOf();
1061 virtual AsnType
*Clone() const;
1063 virtual AsnType
*Copy() const;
1065 AttributeCertificationPathSeqOf
&operator = (const AttributeCertificationPathSeqOf
&);
1066 void SetCurrElmt (unsigned long int index
);
1067 unsigned long int GetCurrElmtIndex();
1068 void SetCurrToFirst() { curr
= first
; }
1069 void SetCurrToLast() { curr
= last
; }
1070 // reading member fcns
1071 int Count() const { return count
; }
1072 // NOTE: if your compiler complains about these NULLs, its definition of NULL is broken (and you better change it there!)
1073 ACPathData
*First() const { return count
> 0 ? first
->elmt
: NULL
; }
1074 ACPathData
*Last() const { return count
> 0 ? last
->elmt
: NULL
; }
1075 ACPathData
*Curr() const { return curr
? curr
->elmt
: NULL
; }
1076 ACPathData
*Next() const { return curr
&& curr
->next
? curr
->next
->elmt
: NULL
; }
1077 ACPathData
*Prev() const { return curr
&& curr
->prev
? curr
->prev
->elmt
: NULL
; }
1079 // routines that move the curr elmt
1080 ACPathData
*GoNext() { if (curr
) curr
= curr
->next
; return Curr(); }
1081 ACPathData
*GoPrev() { if (curr
) curr
= curr
->prev
; return Curr(); }
1083 // write & alloc fcns - returns new elmt
1084 ACPathData
*Append(); // add elmt to end of list
1085 ACPathData
*Prepend(); // add elmt to beginning of list
1086 ACPathData
*InsertBefore(); //insert elmt before current elmt
1087 ACPathData
*InsertAfter(); //insert elmt after current elmt
1089 // write & alloc & copy - returns list after copying elmt
1090 AttributeCertificationPathSeqOf
&AppendCopy (ACPathData
&elmt
); // add elmt to end of list
1091 AttributeCertificationPathSeqOf
&PrependCopy (ACPathData
&elmt
); // add elmt to beginning of list
1092 AttributeCertificationPathSeqOf
&InsertBeforeAndCopy (ACPathData
&elmt
); //insert elmt before current elmt
1093 AttributeCertificationPathSeqOf
&InsertAfterAndCopy (ACPathData
&elmt
); //insert elmt after current elmt
1095 // removing the current elmt from the list
1096 void RemoveCurrFromList();
1098 // encode and decode routines
1099 AsnLen
BEnc (BUF_TYPE b
);
1100 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
1101 AsnLen
BEncContent (BUF_TYPE b
);
1102 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
1105 void Print (ostream
&os
) const;
1109 class Certificates
: public AsnType
1112 Certificate
*userCertificate
;
1113 ForwardCertificationPath
*certificationPath
;
1116 Certificates (const Certificates
&);
1117 virtual ~Certificates();
1118 virtual AsnType
*Clone() const;
1120 virtual AsnType
*Copy() const;
1122 Certificates
&operator = (const Certificates
&);
1123 AsnLen
BEncContent (BUF_TYPE b
);
1124 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
1126 AsnLen
BEnc (BUF_TYPE b
);
1127 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
1128 int BEncPdu (BUF_TYPE b
, AsnLen
&bytesEncoded
);
1129 int BDecPdu (BUF_TYPE b
, AsnLen
&bytesDecoded
);
1131 void Print (ostream
&os
) const;
1135 class CertificationPath
: public AsnType
1138 Certificate
*userCertificate
;
1139 CertificationPathSeqOf
*theCACertificates
;
1141 CertificationPath();
1142 CertificationPath (const CertificationPath
&);
1143 virtual ~CertificationPath();
1144 virtual AsnType
*Clone() const;
1146 virtual AsnType
*Copy() const;
1148 CertificationPath
&operator = (const CertificationPath
&);
1149 AsnLen
BEncContent (BUF_TYPE b
);
1150 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
1152 AsnLen
BEnc (BUF_TYPE b
);
1153 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
1154 int BEncPdu (BUF_TYPE b
, AsnLen
&bytesEncoded
);
1155 int BDecPdu (BUF_TYPE b
, AsnLen
&bytesDecoded
);
1157 void Print (ostream
&os
) const;
1161 class AttributeCertificationPath
: public AsnType
1164 AttributeCertificate
*attributeCertificate
;
1165 AttributeCertificationPathSeqOf
*acPath
;
1167 AttributeCertificationPath();
1168 AttributeCertificationPath (const AttributeCertificationPath
&);
1169 virtual ~AttributeCertificationPath();
1170 virtual AsnType
*Clone() const;
1172 virtual AsnType
*Copy() const;
1174 AttributeCertificationPath
&operator = (const AttributeCertificationPath
&);
1175 AsnLen
BEncContent (BUF_TYPE b
);
1176 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
1178 AsnLen
BEnc (BUF_TYPE b
);
1179 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
1180 int BEncPdu (BUF_TYPE b
, AsnLen
&bytesEncoded
);
1181 int BDecPdu (BUF_TYPE b
, AsnLen
&bytesDecoded
);
1183 void Print (ostream
&os
) const;
1187 class AttributeCertificateAssertion
: public AsnType
1190 AttributeCertificateAssertionChoice
*subject
;
1192 GeneralizedTime
*attCertValidity
;
1193 AttributeCertificateAssertionSetOf
*attType
;
1195 AttributeCertificateAssertion();
1196 AttributeCertificateAssertion (const AttributeCertificateAssertion
&);
1197 virtual ~AttributeCertificateAssertion();
1198 virtual AsnType
*Clone() const;
1200 virtual AsnType
*Copy() const;
1202 AttributeCertificateAssertion
&operator = (const AttributeCertificateAssertion
&);
1203 AsnLen
BEncContent (BUF_TYPE b
);
1204 void BDecContent (BUF_TYPE b
, AsnTag tag
, AsnLen elmtLen
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
1206 AsnLen
BEnc (BUF_TYPE b
);
1207 void BDec (BUF_TYPE b
, AsnLen
&bytesDecoded
, ENV_TYPE env
);
1208 int BEncPdu (BUF_TYPE b
, AsnLen
&bytesEncoded
);
1209 int BDecPdu (BUF_TYPE b
, AsnLen
&bytesDecoded
);
1211 void Print (ostream
&os
) const;
1216 typedef Certificate UserCertificate
;
1219 typedef Certificate CACertificate
;
1221 /* CertificatePair */
1222 typedef CertificatePair CrossCertificatePair
;
1224 /* CertificateList */
1225 typedef CertificateList AuthorityRevocationList
;
1227 /* CertificateList */
1228 typedef CertificateList CertificateRevocationList
;
1230 /* CertificateList */
1231 typedef CertificateList AttributeCertificateRevocationList
;
1233 //------------------------------------------------------------------------------
1234 // externs for value defs
1236 #define id_at_userPassword_arc 2, 5, 4, 35
1237 #define id_at_userPassword AsnOid(id_at_userPassword_arc)
1238 #define id_at_userCertificate_arc 2, 5, 4, 36
1239 #define id_at_userCertificate AsnOid(id_at_userCertificate_arc)
1240 #define id_at_cAcertificate_arc 2, 5, 4, 37
1241 #define id_at_cAcertificate AsnOid(id_at_cAcertificate_arc)
1242 #define id_at_authorityRevocationList_arc 2, 5, 4, 38
1243 #define id_at_authorityRevocationList AsnOid(id_at_authorityRevocationList_arc)
1244 #define id_at_certificateRevocationList_arc 2, 5, 4, 39
1245 #define id_at_certificateRevocationList AsnOid(id_at_certificateRevocationList_arc)
1246 #define id_at_crossCertificatePair_arc 2, 5, 4, 40
1247 #define id_at_crossCertificatePair AsnOid(id_at_crossCertificatePair_arc)
1248 #define id_at_attributeCertificate_arc 2, 5, 4, 58
1249 #define id_at_attributeCertificate AsnOid(id_at_attributeCertificate_arc)
1250 //------------------------------------------------------------------------------
1252 #endif /* conditional include of sm_x509af.h */