Source code of Windows XP (NT5)
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.

79 lines
2.7 KiB

  1. // MsRsaPubKB.h -- MicroSoft RSA Public Key Blob class header
  2. // (c) Copyright Schlumberger Technology Corp., unpublished work, created
  3. // 1999. This computer program includes Confidential, Proprietary
  4. // Information and is a Trade Secret of Schlumberger Technology Corp. All
  5. // use, disclosure, and/or reproduction is prohibited unless authorized
  6. // in writing. All Rights Reserved.
  7. #if !defined(SLBCSP_MSRSAPUBKB_H)
  8. #define SLBCSP_MSRSAPUBKB_H
  9. #include <memory> // for auto_ptr
  10. #include "MsRsaKB.h"
  11. class MsRsaPublicKeyBlob
  12. : public MsRsaKeyBlob
  13. {
  14. public:
  15. // Types
  16. typedef ElementValueType HeaderElementType[1];
  17. struct ValueType
  18. {
  19. MsRsaKeyBlob::ValueType rsaheader;
  20. HeaderElementType modulus; // placeholder
  21. };
  22. // C'tors/D'tors
  23. MsRsaPublicKeyBlob(ALG_ID algid,
  24. Blob const &rblbRawExponent,
  25. Blob const &rblbRawModulus);
  26. MsRsaPublicKeyBlob(BYTE const *pbData,
  27. DWORD dwDataLength);
  28. ~MsRsaPublicKeyBlob();
  29. // Operators
  30. // Operations
  31. // Access
  32. ValueType const *
  33. Data() const;
  34. ElementValueType const *
  35. Modulus() const;
  36. // Predicates
  37. protected:
  38. // Types
  39. // C'tors/D'tors
  40. MsRsaPublicKeyBlob(KeyBlobType kbt,
  41. ALG_ID algid,
  42. Blob const &rblbRawExponent,
  43. Blob const &rblbRawModulus,
  44. SizeType cReserve);
  45. // Operators
  46. // Operations
  47. // Access
  48. // Predicates
  49. // Variables
  50. private:
  51. // Types
  52. // C'tors/D'tors
  53. // Operators
  54. // Operations
  55. void
  56. Init(Blob const &rblbRawModulus);
  57. // Access
  58. // Predicates
  59. // Variables
  60. };
  61. #endif // SLBCSP_MSRSAPUBKB_H