在一个老外的博客(忘记网址了…)上发现的,他用C#声明了些windows crypto API,包括常量,结构和函数。其中注释部分为API声明的原型,对应的下面就是它的C#声明。在此,做个备忘,使用时Ctrl+F查询相关关键字即可。

// #define PRIVATEKEYBLOB 0x7 public const Int32 PRIVATEKEYBLOB = 0x7; // #define AT_KEYEXCHANGE 1 public const Int32 AT_KEYEXCHANGE = 1; // #define AT_SIGNATURE 2 public const Int32 AT_SIGNATURE = 2; //#define CRYPT_E_NOT_FOUND _HRESULT_TYPEDEF_(0x80092004L) public const Int32 CRYPT_E_NOT_FOUND = -2146885628; // #define CERT_PERSONAL_STORE_NAME L"My" public const string CERT_PERSONAL_STORE_NAME = "My"; // #define CERT_COMPARE_ANY 0 public const Int32 CERT_COMPARE_ANY = 0; // #define CERT_COMPARE_NAME 2 public const Int32 CERT_COMPARE_NAME = 2; // #define CERT_INFO_SUBJECT_FLAG 7 public const Int32 CERT_INFO_SUBJECT_FLAG = 7; // #define CERT_COMPARE_SHIFT 16 public const Int32 CERT_COMPARE_SHIFT = 16; // #define CERT_FIND_SUBJECT_NAME (CERT_COMPARE_NAME << CERT_COMPARE_SHIFT | CERT_INFO_SUBJECT_FLAG) public const Int32 CERT_FIND_SUBJECT_NAME = (CERT_COMPARE_NAME << CERT_COMPARE_SHIFT) | CERT_INFO_SUBJECT_FLAG; // #define CERT_FIND_ANY (CERT_COMPARE_ANY << CERT_COMPARE_SHIFT) public const Int32 CERT_FIND_ANY = CERT_COMPARE_ANY << CERT_COMPARE_SHIFT; // #define CERT_COMPARE_NAME_STR_W 8 public const Int32 CERT_COMPARE_NAME_STR_W = 8; // #define CERT_FIND_SUBJECT_STR_W \ // (CERT_COMPARE_NAME_STR_W << CERT_COMPARE_SHIFT | CERT_INFO_SUBJECT_FLAG) public const Int32 CERT_FIND_SUBJECT_STR_W = (CERT_COMPARE_NAME_STR_W << CERT_COMPARE_SHIFT) | CERT_INFO_SUBJECT_FLAG; // #define CERT_FIND_SUBJECT_STR CERT_FIND_SUBJECT_STR_W public const Int32 CERT_FIND_SUBJECT_STR = CERT_FIND_SUBJECT_STR_W; // #define CERT_STORE_PROV_SYSTEM_W ((LPCSTR) 10) public const Int32 CERT_STORE_PROV_SYSTEM_W = 10; // #define CERT_STORE_PROV_SYSTEM CERT_STORE_PROV_SYSTEM_W public const Int32 CERT_STORE_PROV_SYSTEM = CERT_STORE_PROV_SYSTEM_W; // #define CERT_SYSTEM_STORE_CURRENT_USER_ID 1 public const Int32 CERT_SYSTEM_STORE_CURRENT_USER_ID = 1; // #define CERT_SYSTEM_STORE_LOCATION_SHIFT 16 public const Int32 CERT_SYSTEM_STORE_LOCATION_SHIFT = 16; // #define CERT_SYSTEM_STORE_CURRENT_USER \ // (CERT_SYSTEM_STORE_CURRENT_USER_ID << CERT_SYSTEM_STORE_LOCATION_SHIFT) public const Int32 CERT_SYSTEM_STORE_CURRENT_USER = CERT_SYSTEM_STORE_CURRENT_USER_ID << CERT_SYSTEM_STORE_LOCATION_SHIFT; // #define CERT_CLOSE_STORE_CHECK_FLAG 0x00000002 public const Int32 CERT_CLOSE_STORE_CHECK_FLAG = 0x00000002; // #define ALG_CLASS_HASH (4 << 13) // #define ALG_TYPE_ANY (0) // #define ALG_SID_SHA1 4 // #define CALG_SHA1 (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_SHA1) public const Int32 CALG_SHA1 = (4 << 13) | 4; // #define ALG_CLASS_SIGNATURE (1 << 13) // #define ALG_TYPE_RSA (2 << 9) // #define ALG_SID_RSA_ANY 0 // #define CALG_RSA_SIGN (ALG_CLASS_SIGNATURE | ALG_TYPE_RSA | ALG_SID_RSA_ANY) public const Int32 CALG_RSA_SIGN = (1 << 13) | (2 << 9); // #define PROV_RSA_FULL 1 public const Int32 PROV_RSA_FULL = 0x00000001; // #define CRYPT_VERIFYCONTEXT 0xF0000000 public const Int32 CRYPT_VERIFYCONTEXT = -268435456; //No private key access required // #define X509_ASN_ENCODING 0x00000001 public const Int32 X509_ASN_ENCODING = 0x00000001; // #define PKCS_7_ASN_ENCODING 0x00010000 public const Int32 PKCS_7_ASN_ENCODING = 0x00010000; // #define MY_TYPE (PKCS_7_ASN_ENCODING | X509_ASN_ENCODING) public const Int32 MY_TYPE = PKCS_7_ASN_ENCODING | X509_ASN_ENCODING; // #define HP_HASHVAL 0x0002 public const Int32 HP_HASHVAL = 0x00000002; // #define HP_HASHSIZE 0x0004 public const Int32 HP_HASHSIZE = 0x00000004; // #define PUBLICKEYBLOBEX 0xA public const Int32 PUBLICKEYBLOBEX = 0x0A; // #define PUBLICKEYBLOB 0x6 public const Int32 PUBLICKEYBLOB = 0x06; // #define CUR_BLOB_VERSION 0x02 public const Int32 CUR_BLOB_VERSION = 0x02; // #define CRYPT_EXPORTABLE 0x00000001 public const Int32 CRYPT_EXPORTABLE = 0x00000001; // #define szOID_RSA_RSA "1.2.840.113549.1.1.1" public const String szOID_RSA_RSA = "1.2.840.113549.1.1.1"; // #define szOID_RSA_MD5 "1.2.840.113549.2.5" public const String szOID_RSA_MD5 = "1.2.840.113549.2.5"; // #define szOID_RSA_MD5RSA "1.2.840.113549.1.1.4" public const String szOID_RSA_MD5RSA = "1.2.840.113549.1.1.4"; // #define szOID_OIWSEC_sha1 "1.3.14.3.2.26" public const String szOID_OIWSEC_sha1 = "1.3.14.3.2.26"; // #define RSA_CSP_PUBLICKEYBLOB ((LPCSTR) 19) public const Int32 RSA_CSP_PUBLICKEYBLOB = 19; // #define X509_PUBLIC_KEY_INFO ((LPCSTR) 8) public const Int32 X509_PUBLIC_KEY_INFO = 8;

相关文章:

  • 2021-10-01
  • 2022-12-23
  • 2022-01-19
  • 2022-12-23
  • 2021-07-30
  • 2021-06-16
  • 2022-12-23
猜你喜欢
  • 2022-01-26
  • 2022-12-23
  • 2022-01-28
  • 2022-02-20
  • 2021-12-19
  • 2021-11-06
相关资源
相似解决方案