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.

102 lines
3.6 KiB

  1. //+-------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. //
  5. // Copyright (C) Microsoft Corporation, 1996 - 1999
  6. //
  7. // File: setcert.h
  8. //
  9. // Contents: SET X509 Certificate Extension Definitions
  10. //
  11. //
  12. // History: 22-Nov-96 philh created
  13. //--------------------------------------------------------------------------
  14. #ifndef __SETCERT_H__
  15. #define __SETCERT_H__
  16. #include "wincrypt.h"
  17. #ifdef __cplusplus
  18. extern "C" {
  19. #endif
  20. //+-------------------------------------------------------------------------
  21. // Predefined X509 SET certificate extension data structures that can be
  22. // encoded / decoded.
  23. //--------------------------------------------------------------------------
  24. #define X509_SET_ACCOUNT_ALIAS ((LPCSTR) 1000)
  25. #define X509_SET_HASHED_ROOT_KEY ((LPCSTR) 1001)
  26. #define X509_SET_CERTIFICATE_TYPE ((LPCSTR) 1002)
  27. #define X509_SET_MERCHANT_DATA ((LPCSTR) 1003)
  28. //+-------------------------------------------------------------------------
  29. // SET Private Extension Object Identifiers
  30. //--------------------------------------------------------------------------
  31. #define szOID_SET_ACCOUNT_ALIAS "2.99999.1"
  32. #define szOID_SET_HASHED_ROOT_KEY "2.99999.2"
  33. #define szOID_SET_CERTIFICATE_TYPE "2.99999.3"
  34. #define szOID_SET_MERCHANT_DATA "2.99999.4"
  35. #define SET_ACCOUNT_ALIAS_OBJID szOID_SET_ACCOUNT_ALIAS
  36. #define SET_HASHED_ROOT_KEY_OBJID szOID_SET_HASHED_ROOT_KEY
  37. #define SET_CERTIFICATE_TYPE_OBJID szOID_SET_CERTIFICATE_TYPE
  38. #define SET_MERCHANT_DATA_OBJID szOID_SET_MERCHANT_DATA
  39. //+-------------------------------------------------------------------------
  40. // szOID_SET_ACCOUNT_ALIAS private extension
  41. //
  42. // pvStructInfo points to BOOL.
  43. //--------------------------------------------------------------------------
  44. //+-------------------------------------------------------------------------
  45. // szOID_SET_HASHED_ROOT_KEY private extension
  46. //
  47. // pvStructInfo points to: BYTE rgbInfo[SET_HASHED_ROOT_LEN].
  48. //--------------------------------------------------------------------------
  49. #define SET_HASHED_ROOT_LEN 20
  50. //+-------------------------------------------------------------------------
  51. // szOID_SET_CERTIFICATE_TYPE private extension
  52. //
  53. // pvStructInfo points to CRYPT_BIT_BLOB.
  54. //--------------------------------------------------------------------------
  55. // BYTE 0
  56. #define SET_CERT_CARD_FLAG 0x80
  57. #define SET_CERT_MER_FLAG 0x40
  58. #define SET_CERT_PGWY_FLAG 0x20
  59. #define SET_CERT_CCA_FLAG 0x10
  60. #define SET_CERT_MCA_FLAG 0x08
  61. #define SET_CERT_PCA_FLAG 0x04
  62. #define SET_CERT_GCA_FLAG 0x02
  63. #define SET_CERT_BCA_FLAG 0x01
  64. // BYTE 1
  65. #define SET_CERT_RCA_FLAG 0x80
  66. #define SET_CERT_ACQ_FLAG 0x40
  67. //+-------------------------------------------------------------------------
  68. // szOID_SET_MERCHANT_DATA private extension
  69. //
  70. // pvStructInfo points to following SET_MERCHANT_DATA_INFO
  71. //--------------------------------------------------------------------------
  72. typedef struct _SET_MERCHANT_DATA_INFO {
  73. LPSTR pszMerID;
  74. LPSTR pszMerAcquirerBIN;
  75. LPSTR pszMerTermID;
  76. LPSTR pszMerName;
  77. LPSTR pszMerCity;
  78. LPSTR pszMerStateProvince;
  79. LPSTR pszMerPostalCode;
  80. LPSTR pszMerCountry;
  81. LPSTR pszMerPhone;
  82. BOOL fMerPhoneRelease;
  83. BOOL fMerAuthFlag;
  84. } SET_MERCHANT_DATA_INFO, *PSET_MERCHANT_DATA_INFO;
  85. #ifdef __cplusplus
  86. } // Balance extern "C" above
  87. #endif
  88. #endif