⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cryptinfo.h

📁 PocketPC 5.0下的后台服务程序
💻 H
字号:
#include <Windows.h>
#include <Dbt.h>
#include <Winuser.h>
#include <WinCrypt.h>
#pragma once

// {33b95ca0-b950-4caf-b406-3a430e99935f} 
#define GUID1 {0xA4E7EDDA,0xE575,0x4252,0x9D,0x6B,0x41,0x95,0xD4,0x8B,0xB8,0x65};
#define GUID2 {0xA32942B7,0x920C,0x486b,0xB0,0xE6,0x92,0xA7,0x02,0xA9,0x9B,0x35};
#define MY_ENCODING_TYPE  (PKCS_7_ASN_ENCODING | X509_ASN_ENCODING)

typedef PCCERT_CONTEXT (WINAPI *CERTCREATECERTIFICATECONTEXT)(
	DWORD dwCertEncodingType,                
	const BYTE *pbCertEncoded,               
	DWORD cbCertEncoded                      
	);

typedef BOOL ( WINAPI *CRYPTIMPORTPUBLICKEYINFOEX)(
	IN HCRYPTPROV hCryptProv,
	IN DWORD dwCertEncodingType,
	IN PCERT_PUBLIC_KEY_INFO pInfo,
	IN ALG_ID aiKeyAlg,
	IN DWORD dwFlags,
	IN OPTIONAL void *pvAuxInfo,
	OUT HCRYPTKEY *phKey
	);

typedef BOOL (WINAPI *CERTFREECERTIFICATECONTEXT)(
	PCCERT_CONTEXT pCertContext
	);

typedef DWORD (WINAPI *GETNAMESTRING)(
									  PCCERT_CONTEXT pCertContext,
									  DWORD dwType,
									  DWORD dwFlags,
									  void* pvTypePara,
									  LPTSTR pszNameString,
									  DWORD cchNameString
									  );

typedef HCERTSTORE (WINAPI *GETCERTSTORE)(
	LPCSTR lpszStoreProvider,
	DWORD dwMsgAndCertEncodingType,
	HCRYPTPROV hCryptProv,
	DWORD dwFlags,
	const void* pvPara
	);

typedef PCCERT_CONTEXT (WINAPI *ENUMCERT)(
	HCERTSTORE hCertStore,
	PCCERT_CONTEXT pPrevCertContext
	);

typedef DWORD (WINAPI *CERTNAMESTR)(
									DWORD dwCertEncodingType,
									PCERT_NAME_BLOB pName,
									DWORD dwStrType,
									LPTSTR psz,
									DWORD csz
									);

typedef BOOL (WINAPI* PUBLICKEYINFO)(
									 HCRYPTPROV hCryptProv,
									 DWORD dwCertEncodingType,
									 PCERT_PUBLIC_KEY_INFO pInfo,
									 ALG_ID aiKeyAlg,
									 DWORD dwFlags,
									 void* pvAuxInfo,
									 HCRYPTKEY* phKey
									 );

typedef HCERTSTORE (WINAPI* OPENSYSTEMSTORE)(
	HCRYPTPROV hprov,
	LPCWSTR szSubsystemProtocol
	);

typedef BOOL (WINAPI* COMPAREPUBLICKEYINFO)(
	DWORD dwCertEncodingType,
	PCERT_PUBLIC_KEY_INFO pPublicKey1,
	PCERT_PUBLIC_KEY_INFO pPublicKey2
	);

typedef BOOL (WINAPI* COMPARECERT)(
								   DWORD dwCertEncodingType,
								   PCERT_INFO pCertId1,
								   PCERT_INFO pCertId2
								   );

typedef BOOL (WINAPI* DELETEFORMSTRORE)(
										PCCERT_CONTEXT pCertContext
										);

typedef BOOL (WINAPI* CLOSESTORE)(
								  HCERTSTORE hCertStore,
								  DWORD dwFlags
								  );

typedef BOOL (WINAPI* FREECONTEXT)(
								   PCCERT_CONTEXT pCertContext
								   );

typedef PCCERT_CONTEXT (WINAPI* ENUMCERTINSTORE)(
	HCERTSTORE hCertStore,
	PCCERT_CONTEXT pPrevCertContext
	);

typedef PCCERT_CONTEXT (WINAPI* DUPLICATECONTEXT)(
	PCCERT_CONTEXT pCertContext
	);

typedef BOOL (WINAPI* ENUMSYSTEMSTORES)(
										DWORD dwFlags,
										void* pvSystemStoreLocationPara,
										void* pvArg,
										PFN_CERT_ENUM_SYSTEM_STORE pfnEnum
										);

typedef BOOL (WINAPI* ENUMSYSTEMSTORELOC)(
	DWORD dwFlags,
	void* pvArg,
	PFN_CERT_ENUM_SYSTEM_STORE_LOCATION pfnEnum
	);

typedef BOOL (WINAPI* ENUMPHISICALSTORE)(
	const void* pvSystemStore,
	DWORD dwFlags,
	void* pvArg,
	PFN_CERT_ENUM_PHYSICAL_STORE pfnEnum
	);

typedef BOOL (WINAPI* ADDCERTTOSTORE)(
									  HCERTSTORE hCertStore,
									  PCCERT_CONTEXT pCertContext,
									  DWORD dwAddDisposition,
									  PCCERT_CONTEXT* ppStoreContext
									  );

typedef struct
{
	CERTCREATECERTIFICATECONTEXT context;
	//CRYPTIMPORTPUBLICKEYINFOEX pubex;
	CERTFREECERTIFICATECONTEXT freeContext;
	GETNAMESTRING getName;
	GETCERTSTORE getct;
	ENUMCERT enumcert;
	CERTNAMESTR certName;
	PUBLICKEYINFO getPubKeyInfo;
	//OPENSYSTEMSTORE openSystemStore;
	COMPAREPUBLICKEYINFO comparePubKeyInfo;
	COMPARECERT compareCert;
	DELETEFORMSTRORE deleteFromStore;
	CLOSESTORE closeStore;
	ENUMCERTINSTORE enumCertInStore;
	DUPLICATECONTEXT duplicateContext;
	ENUMSYSTEMSTORES enumSysStores;
	ENUMSYSTEMSTORELOC enumSystemStoreLoc;
	ENUMPHISICALSTORE enumPhsicalStore;
	ADDCERTTOSTORE addCertToStore;
}CertHandle;

typedef struct _ENUM_ARG {
	BOOL        fAll;
	BOOL        fVerbose;
	DWORD       dwFlags;
	const void  *pvStoreLocationPara;
	HKEY        hKeyBase;
} ENUM_ARG, *PENUM_ARG;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -