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.

110 lines
3.3 KiB

  1. // V1KeyPair.h: interface for the CV1KeyPair 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_V1KEYPAIR_H)
  12. #define SLBCCI_V1KEYPAIR_H
  13. #include <string>
  14. #include <slbRCObj.h>
  15. #include "slbCci.h"
  16. #include "cciCard.h"
  17. #include "cciCert.h"
  18. #include "cciCont.h"
  19. #include "cciPriKey.h"
  20. #include "cciPubKey.h"
  21. #include "AKeyPair.h"
  22. #include "ArchivedValue.h"
  23. #include "V1Cert.h"
  24. namespace cci
  25. {
  26. class CContainerInfoRecord;
  27. class CV1KeyPair
  28. : public CAbstractKeyPair
  29. {
  30. public:
  31. // Types
  32. // C'tors/D'tors
  33. CV1KeyPair(CV1Card const &rv1card,
  34. CContainer const &rhcont,
  35. KeySpec ks);
  36. virtual
  37. ~CV1KeyPair() throw();
  38. // Operators
  39. // Operations
  40. virtual void
  41. Certificate(CCertificate const &rcert);
  42. virtual void
  43. PrivateKey(CPrivateKey const &rprikey);
  44. virtual void
  45. PublicKey(CPublicKey const &rpubkey);
  46. // Access
  47. virtual CCertificate
  48. Certificate() const;
  49. virtual CPrivateKey
  50. PrivateKey() const;
  51. virtual CPublicKey
  52. PublicKey() const;
  53. // Predicates
  54. protected:
  55. // Types
  56. // C'tors/D'tors
  57. // Operators
  58. // Operations
  59. // Access
  60. // Predicates
  61. virtual bool
  62. DoEquals(CAbstractKeyPair const &rhs) const;
  63. // Variables
  64. private:
  65. // Types
  66. // C'tors/D'tors
  67. CV1KeyPair(CV1KeyPair const &rhs);
  68. // not defined, copying not allowed.
  69. // Operators
  70. CV1KeyPair &
  71. operator=(CV1KeyPair const &rhs);
  72. // not defined, initialization not allowed.
  73. // Operations
  74. // Access
  75. // Predicates
  76. // Variables
  77. CArchivedValue<CCertificate> mutable m_avhcert;
  78. CArchivedValue<CPrivateKey> mutable m_avhprikey;
  79. CArchivedValue<CPublicKey> mutable m_avhpubkey;
  80. CV1Container mutable m_cntrCert;
  81. };
  82. } // namespace cci
  83. #endif // !defined(SLBCCI_V1KEYPAIR_H)