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.

109 lines
3.2 KiB

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