Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

149 lines
3.7 KiB

  1. // V1Cert.h: interface for the CV1Certificate class.
  2. //
  3. // (c) Copyright Schlumberger Technology Corp., unpublished work, created
  4. // 1999. This computer program includes Confidential, Proprietary
  5. // Information and is a Trade Secret of Schlumberger Technology Corp. All
  6. // use, disclosure, and/or reproduction is prohibited unless authorized
  7. // in writing. All Rights Reserved.
  8. //////////////////////////////////////////////////////////////////////
  9. // Note: This file should only be included by the CCI, not directly
  10. // by the client.
  11. #if !defined(SLBCCI_V1CERT_H)
  12. #define SLBCCI_V1CERT_H
  13. #include <string>
  14. #include <memory> // for auto_ptr
  15. #include <slbRCObj.h>
  16. #include "iop.h"
  17. #include "slbarch.h"
  18. #include "cciCard.h"
  19. #include "ACert.h"
  20. namespace cci {
  21. class CV1Card;
  22. class CV1Certificate
  23. : public CAbstractCertificate
  24. {
  25. public:
  26. // Types
  27. // C'tors/D'tors
  28. CV1Certificate(CV1Card const &rv1card,
  29. KeySpec ks);
  30. virtual
  31. ~CV1Certificate() throw();
  32. // Operators
  33. // Operations
  34. void
  35. AssociateWith(KeySpec ks);
  36. virtual void
  37. CredentialID(std::string const &rstrCredId);
  38. virtual void
  39. ID(std::string const &rstrId);
  40. virtual void
  41. Issuer(std::string const &rstrIssuer);
  42. virtual void
  43. Label(std::string const &rstrLabel);
  44. static CV1Certificate *
  45. Make(CV1Card const &rv1card,
  46. KeySpec ks);
  47. virtual void
  48. Modifiable(bool flag);
  49. virtual void
  50. Subject(std::string const &rstrSubject);
  51. virtual void
  52. Serial(std::string const &rstrSerialNumber);
  53. // Access
  54. virtual std::string
  55. CredentialID();
  56. virtual std::string
  57. ID();
  58. virtual std::string
  59. Issuer();
  60. virtual std::string
  61. Label();
  62. virtual bool
  63. Modifiable();
  64. virtual bool
  65. Private();
  66. virtual std::string
  67. Serial();
  68. virtual std::string
  69. Subject();
  70. // Predicates
  71. protected:
  72. // Types
  73. // C'tors/D'tors
  74. // Operators
  75. // Operations
  76. virtual void
  77. DoDelete();
  78. virtual void
  79. DoValue(ZipCapsule const &rzc);
  80. // Access
  81. virtual ZipCapsule
  82. DoValue();
  83. // Predicates
  84. virtual bool
  85. DoEquals(CAbstractCertificate const &rhs) const;
  86. // Variables
  87. private:
  88. // Types
  89. // C'tors/D'tors
  90. CV1Certificate(CV1Certificate const &rhs);
  91. // not defined, copying not allowed.
  92. // Operators
  93. CV1Certificate &
  94. operator=(CV1Certificate const &rhs);
  95. // not defined, initialization not allowed.
  96. // Operations
  97. void
  98. Store();
  99. // Access
  100. // Predicates
  101. // Variables
  102. KeySpec m_ks;
  103. std::string m_sCertToStore;
  104. };
  105. }
  106. #endif // !defined(SLBCCI_CERT_H)