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.

97 lines
2.8 KiB

  1. // Pkcs11Attr.h -- PKCS #11 Attributes class header for
  2. // interoperability with Netscape and Entrust using the SLB PKCS#11
  3. // package.
  4. // (c) Copyright Schlumberger Technology Corp., unpublished work, created
  5. // 1999. This computer program includes Confidential, Proprietary
  6. // Information and is a Trade Secret of Schlumberger Technology Corp. All
  7. // use, disclosure, and/or reproduction is prohibited unless authorized
  8. // in writing. All Rights Reserved.
  9. // The Pkcs11Attributes class defines the base default values the CSP
  10. // must set for the PKCS #11 attributes to emmulate enrollment (key
  11. // and certificate generation) by Netscape or Entrust using Cryptoki
  12. // (PKCS#11). The default values are based on heuristics in
  13. // evaluating the operation of Netscape and Entrust with what the
  14. // Schlumberger PKCS #11 package expects in this environment.
  15. #if !defined(SLBCSP_PKCS11ATTR_H)
  16. #define SLBCSP_PKCS11ATTR_H
  17. #include <string>
  18. #include <pkiX509Cert.h>
  19. #include "Blob.h"
  20. #include "AuxContext.h"
  21. class Pkcs11Attributes
  22. {
  23. public:
  24. // Types
  25. // C'tors/D'tors
  26. Pkcs11Attributes(Blob const &rCertificate,
  27. HCRYPTPROV hprovContext);
  28. // Operators
  29. // Operations
  30. // Access
  31. Blob
  32. ContainerId();
  33. Blob
  34. EndDate() const;
  35. Blob
  36. Id() const;
  37. static Blob
  38. Id(Blob const &rblbModulus);
  39. Blob
  40. Issuer();
  41. std::string
  42. Label();
  43. Blob
  44. Modulus();
  45. Blob
  46. RawModulus();
  47. Blob
  48. SerialNumber();
  49. Blob
  50. StartDate() const;
  51. std::string
  52. Subject();
  53. // Predicates
  54. protected:
  55. // Types
  56. // C'tors/D'tors
  57. // Operators
  58. // Operations
  59. // Access
  60. // Predicates
  61. // Variables
  62. private:
  63. // Types
  64. // C'tors/D'tors
  65. // Operators
  66. // Operations
  67. // Access
  68. // Predicates
  69. // Variables
  70. pki::X509Cert m_x509cert;
  71. HCRYPTPROV m_hprovContext;
  72. };
  73. #endif // SLBCSP_PKCS11ATTR_H