core.sys.windows.wincrypt
Windows API header module
Translated from MinGW Windows headers
License
var MS_DEF_PROV
alias ALG_ID BLOBHEADER CERT_BLOB CERT_ENHKEY_USAGE CERT_NAME_BLOB CERT_RDN_VALUE_BLOB CRL_BLOB CRYPT_ATTR_BLOB CRYPT_DATA_BLOB CRYPT_DER_BLOB CRYPT_DIGEST_BLOB CRYPT_HASH_BLOB CRYPT_INTEGER_BLOB CRYPT_OBJID_BLOB CRYPT_UINT_BLOB DATA_BLOB HCERTCHAINENGINE HCERTSTORE HCRYPTHASH HCRYPTKEY HCRYPTMSG HCRYPTPROV HTTPSPolicyCallbackData PCCERT_CHAIN_CONTEXT PCCERT_CONTEXT PCCRL_CONTEXT PCCTL_CONTEXT PCERT_BLOB PCERT_CHAIN_CONTEXT PCERT_CHAIN_ELEMENT PCERT_CHAIN_FIND_BY_ISSUER_PARA PCERT_CHAIN_PARA PCERT_CHAIN_POLICY_PARA PCERT_CHAIN_POLICY_STATUS PCERT_CONTEXT PCERT_ENHKEY_USAGE PCERT_EXTENSION PCERT_INFO PCERT_NAME_BLOB PCERT_PUBLIC_KEY_INFO PCERT_RDN_VALUE_BLOB PCERT_REVOCATION_CRL_INFO PCERT_REVOCATION_INFO PCERT_SIMPLE_CHAIN PCERT_TRUST_LIST_INFO PCERT_TRUST_STATUS PCERT_USAGE_MATCH PCRL_BLOB PCRL_CONTEXT PCRL_ENTRY PCRL_INFO PCRYPT_ALGORITHM_IDENTIFIER PCRYPT_ATTR_BLOB PCRYPT_ATTRIBUTE PCRYPT_BIT_BLOB PCRYPT_DATA_BLOB PCRYPT_DER_BLOB PCRYPT_DIGEST_BLOB PCRYPT_HASH_BLOB PCRYPT_INTEGER_BLOB PCRYPT_OBJID_BLOB PCRYPT_UINT_BLOB PCTL_CONTEXT PCTL_ENTRY PCTL_INFO PCTRL_USAGE PDATA_BLOB PFN_CERT_CHAIN_FIND_BY_ISSUER_CALLBACK PHMAC_INFO PHTTPSPolicyCallbackData PSSL_EXTRA_CERT_CHAIN_POLICY_PARA PVTableProvStruc
struct _CRYPTOAPI_BLOB CERT_CHAIN_CONTEXT CERT_CHAIN_ELEMENT CERT_CHAIN_FIND_BY_ISSUER_PARA CERT_CHAIN_PARA CERT_CHAIN_POLICY_PARA CERT_CHAIN_POLICY_STATUS CERT_CONTEXT CERT_EXTENSION CERT_INFO CERT_PUBLIC_KEY_INFO CERT_REVOCATION_CRL_INFO CERT_REVOCATION_INFO CERT_SIMPLE_CHAIN CERT_TRUST_LIST_INFO CERT_TRUST_STATUS CERT_USAGE_MATCH CRL_CONTEXT CRL_ENTRY CRL_INFO CRYPT_ALGORITHM_IDENTIFIER CRYPT_ATTRIBUTE CRYPT_BIT_BLOB CTL_CONTEXT CTL_ENTRY CTL_INFO CTL_USAGE HMAC_INFO PROV_ENUMALGS PUBLICKEYSTRUC RSAPUBKEY SSL_EXTRA_CERT_CHAIN_POLICY_PARA VTableProvStruc
fn CertCloseStore CertFindCertificateInStore CertFindChainInStore CertFreeCertificateChain CertFreeCertificateContext CertGetCertificateChain CertGetIssuerCertificateFromStore CertNameToStrA CertNameToStrW CertOpenStore CertOpenSystemStoreA CertOpenSystemStoreW CertVerifyCertificateChainPolicy CryptAcquireContextA CryptAcquireContextW CryptContextAddRef CryptCreateHash CryptDecrypt CryptDeriveKey CryptDestroyHash CryptDestroyKey CryptEncrypt CryptExportKey CryptGenKey CryptGenRandom CryptGetHashParam CryptGetHashValue CryptGetKeyParam CryptGetProvParam CryptGetUserKey CryptHashData CryptHashSessionKey CryptImportKey CryptReleaseContext CryptSetHashParam CryptSetKeyParam CryptSetProviderA CryptSetProviderW CryptSetProvParam CryptSignHashA CryptSignHashW CryptVerifySignatureA CryptVerifySignatureW GET_ALG_CLASS GET_ALG_SID GET_ALG_TYPE RCRYPT_FAILED RCRYPT_SUCCEEDED
Types 105
aliasHCRYPTPROV = ULONG_PTR
aliasHCRYPTKEY = ULONG_PTR
aliasHCRYPTHASH = ULONG_PTR
aliasHCERTSTORE = PVOID
aliasHCERTCHAINENGINE = PVOID
structVTableProvStruc
Fields
FARPROC FuncVerifyImagealiasPVTableProvStruc = VTableProvStruc *
aliasCRYPT_INTEGER_BLOB = _CRYPTOAPI_BLOB
aliasCRYPT_UINT_BLOB = _CRYPTOAPI_BLOB
aliasCRYPT_OBJID_BLOB = _CRYPTOAPI_BLOB
aliasCERT_NAME_BLOB = _CRYPTOAPI_BLOB
aliasCERT_RDN_VALUE_BLOB = _CRYPTOAPI_BLOB
aliasCERT_BLOB = _CRYPTOAPI_BLOB
aliasCRL_BLOB = _CRYPTOAPI_BLOB
aliasDATA_BLOB = _CRYPTOAPI_BLOB
aliasCRYPT_DATA_BLOB = _CRYPTOAPI_BLOB
aliasCRYPT_HASH_BLOB = _CRYPTOAPI_BLOB
aliasCRYPT_DIGEST_BLOB = _CRYPTOAPI_BLOB
aliasCRYPT_DER_BLOB = _CRYPTOAPI_BLOB
aliasCRYPT_ATTR_BLOB = _CRYPTOAPI_BLOB
aliasPCRYPT_INTEGER_BLOB = _CRYPTOAPI_BLOB *
aliasPCRYPT_UINT_BLOB = _CRYPTOAPI_BLOB *
aliasPCRYPT_OBJID_BLOB = _CRYPTOAPI_BLOB *
aliasPCERT_NAME_BLOB = _CRYPTOAPI_BLOB *
aliasPCERT_RDN_VALUE_BLOB = _CRYPTOAPI_BLOB *
aliasPCERT_BLOB = _CRYPTOAPI_BLOB *
aliasPCRL_BLOB = _CRYPTOAPI_BLOB *
aliasPDATA_BLOB = _CRYPTOAPI_BLOB *
aliasPCRYPT_DATA_BLOB = _CRYPTOAPI_BLOB *
aliasPCRYPT_HASH_BLOB = _CRYPTOAPI_BLOB *
aliasPCRYPT_DIGEST_BLOB = _CRYPTOAPI_BLOB *
aliasPCRYPT_DER_BLOB = _CRYPTOAPI_BLOB *
aliasPCRYPT_ATTR_BLOB = _CRYPTOAPI_BLOB *
structCERT_CHAIN_POLICY_PARA
structCERT_CHAIN_POLICY_STATUS
structCRYPT_BIT_BLOB
aliasPCRYPT_BIT_BLOB = CRYPT_BIT_BLOB *
structCERT_PUBLIC_KEY_INFO
structCERT_EXTENSION
aliasPCERT_EXTENSION = CERT_EXTENSION *
structCERT_INFO
Fields
DWORD dwVersionCRYPT_INTEGER_BLOB SerialNumberCRYPT_ALGORITHM_IDENTIFIER SignatureAlgorithmCERT_NAME_BLOB IssuerFILETIME NotBeforeFILETIME NotAfterCERT_NAME_BLOB SubjectCERT_PUBLIC_KEY_INFO SubjectPublicKeyInfoCRYPT_BIT_BLOB IssuerUniqueIdCRYPT_BIT_BLOB SubjectUniqueIdDWORD cExtensionPCERT_EXTENSION rgExtensionaliasPCERT_INFO = CERT_INFO *
structCERT_CONTEXT
Fields
DWORD dwCertEncodingTypeBYTE * pbCertEncodedDWORD cbCertEncodedPCERT_INFO pCertInfoHCERTSTORE hCertStorealiasPCERT_CONTEXT = CERT_CONTEXT *
aliasPCCERT_CONTEXT = const(CERT_CONTEXT) *
aliasCERT_ENHKEY_USAGE = CTL_USAGE
aliasPCTRL_USAGE = CTL_USAGE *
aliasPCERT_ENHKEY_USAGE = CTL_USAGE *
structCERT_USAGE_MATCH
aliasPCERT_USAGE_MATCH = CERT_USAGE_MATCH *
structCERT_CHAIN_PARA
Fields
DWORD cbSizeCERT_USAGE_MATCH RequestedUsageCERT_USAGE_MATCH RequestedIssuancePolicyDWORD dwUrlRetrievalTimeoutBOOL fCheckRevocationFreshnessTimeDWORD dwRevocationFreshnessTimealiasPCERT_CHAIN_PARA = CERT_CHAIN_PARA *
aliasPFN_CERT_CHAIN_FIND_BY_ISSUER_CALLBACK = BOOL function(PCCERT_CONTEXT, void *)
Fields
DWORD cbSizeLPCSTR pszUsageIdentifierDWORD dwKeySpecDWORD dwAcquirePrivateKeyFlagsDWORD cIssuerCERT_NAME_BLOB * rgIssuerPFN_CERT_CHAIN_FIND_BY_ISSUER_CALLBACK pfnFIndCallbackvoid * pvFindArgDWORD * pdwIssuerChainIndexDWORD * pdwIssuerElementIndexstructCERT_TRUST_STATUS
aliasPCERT_TRUST_STATUS = CERT_TRUST_STATUS *
structCRL_ENTRY
Fields
CRYPT_INTEGER_BLOB SerialNumberFILETIME RevocationDateDWORD cExtensionPCERT_EXTENSION rgExtensionaliasPCRL_ENTRY = CRL_ENTRY *
structCRL_INFO
Fields
DWORD dwVersionCRYPT_ALGORITHM_IDENTIFIER SignatureAlgorithmCERT_NAME_BLOB IssuerFILETIME ThisUpdateFILETIME NextUpdateDWORD cCRLEntryPCRL_ENTRY rgCRLEntryDWORD cExtensionPCERT_EXTENSION rgExtensionstructCRL_CONTEXT
Fields
DWORD dwCertEncodingTypeBYTE * pbCrlEncodedDWORD cbCrlEncodedPCRL_INFO pCrlInfoHCERTSTORE hCertStorealiasPCRL_CONTEXT = CRL_CONTEXT *
aliasPCCRL_CONTEXT = const(CRL_CONTEXT) *
structCERT_REVOCATION_CRL_INFO
Fields
DWORD cbSizePCCRL_CONTEXT pBaseCRLContextPCCRL_CONTEXT pDeltaCRLContextPCRL_ENTRY pCrlEntryBOOL fDeltaCrlEntrystructCERT_REVOCATION_INFO
structCERT_CHAIN_ELEMENT
Fields
DWORD cbSizePCCERT_CONTEXT pCertContextCERT_TRUST_STATUS TrustStatusPCERT_REVOCATION_INFO pRevocationInfoPCERT_ENHKEY_USAGE pIssuanceUsagePCERT_ENHKEY_USAGE pApplicationUsagealiasPCERT_CHAIN_ELEMENT = CERT_CHAIN_ELEMENT *
structCRYPT_ATTRIBUTE
aliasPCRYPT_ATTRIBUTE = CRYPT_ATTRIBUTE *
structCTL_ENTRY
aliasPCTL_ENTRY = CTL_ENTRY *
structCTL_INFO
Fields
DWORD dwVersionCTL_USAGE SubjectUsageCRYPT_DATA_BLOB ListIdentifierCRYPT_INTEGER_BLOB SequenceNumberFILETIME ThisUpdateFILETIME NextUpdateCRYPT_ALGORITHM_IDENTIFIER SubjectAlgorithmDWORD cCTLEntryPCTL_ENTRY rgCTLEntryDWORD cExtensionPCERT_EXTENSION rgExtensionstructCTL_CONTEXT
aliasPCTL_CONTEXT = CTL_CONTEXT *
aliasPCCTL_CONTEXT = const(CTL_CONTEXT) *
structCERT_TRUST_LIST_INFO
structCERT_SIMPLE_CHAIN
Fields
DWORD cbSizeCERT_TRUST_STATUS TrustStatusDWORD cElementPCERT_CHAIN_ELEMENT * rgpElementPCERT_TRUST_LIST_INFO pTrustListInfoBOOL fHasRevocationFreshnessTimeDWORD dwRevocationFreshnessTimealiasPCERT_SIMPLE_CHAIN = CERT_SIMPLE_CHAIN *
aliasPCCERT_CHAIN_CONTEXT = const(CERT_CHAIN_CONTEXT) *
structCERT_CHAIN_CONTEXT
Fields
DWORD cbSizeCERT_TRUST_STATUS TrustStatusDWORD cChainPCERT_SIMPLE_CHAIN * rgpChainDWORD cLowerQualityChainContextPCCERT_CHAIN_CONTEXT * rgpLowerQualityChainContextBOOL fHasRevocationFreshnessTimeDWORD dwRevocationFreshnessTimealiasPCERT_CHAIN_CONTEXT = CERT_CHAIN_CONTEXT *
structPROV_ENUMALGS
structPUBLICKEYSTRUC
aliasBLOBHEADER = PUBLICKEYSTRUC
structHMAC_INFO
aliasPHMAC_INFO = HMAC_INFO *
Functions 48
fn
ALG_ID GET_ALG_CLASS()(ALG_ID x)fn
ALG_ID GET_ALG_TYPE()(ALG_ID x)fn
ALG_ID GET_ALG_SID()(ALG_ID x)fn
bool RCRYPT_SUCCEEDED()(BOOL r)fn
bool RCRYPT_FAILED()(BOOL r)fn
BOOL CertGetCertificateChain(HCERTCHAINENGINE, PCCERT_CONTEXT, LPFILETIME,
HCERTSTORE, PCERT_CHAIN_PARA, DWORD, LPVOID, PCCERT_CHAIN_CONTEXT *) extern(Windows) @nogc nothrowfn
BOOL CertVerifyCertificateChainPolicy(LPCSTR, PCCERT_CHAIN_CONTEXT,
PCERT_CHAIN_POLICY_PARA, PCERT_CHAIN_POLICY_STATUS) extern(Windows) @nogc nothrowfn
HCERTSTORE CertOpenStore(LPCSTR, DWORD, HCRYPTPROV, DWORD, const(void) *) extern(Windows) @nogc nothrowfn
PCCERT_CONTEXT CertFindCertificateInStore(HCERTSTORE, DWORD, DWORD, DWORD,
const(void) *, PCCERT_CONTEXT) extern(Windows) @nogc nothrowfn
PCCERT_CONTEXT CertGetIssuerCertificateFromStore(HCERTSTORE,
PCCERT_CONTEXT, PCCERT_CONTEXT, DWORD *) extern(Windows) @nogc nothrowfn
PCCERT_CHAIN_CONTEXT CertFindChainInStore(HCERTSTORE, DWORD, DWORD, DWORD,
const(void) *, PCCERT_CHAIN_CONTEXT) extern(Windows) @nogc nothrowfn
BOOL CryptAcquireContextA(HCRYPTPROV *, LPCSTR, LPCSTR, DWORD, DWORD) extern(Windows) @nogc nothrowfn
BOOL CryptAcquireContextW(HCRYPTPROV *, LPCWSTR, LPCWSTR, DWORD, DWORD) extern(Windows) @nogc nothrowfn
BOOL CryptDeriveKey(HCRYPTPROV, ALG_ID, HCRYPTHASH, DWORD, HCRYPTKEY *) extern(Windows) @nogc nothrowfn
BOOL CryptExportKey(HCRYPTKEY, HCRYPTKEY, DWORD, DWORD, PBYTE, PDWORD) extern(Windows) @nogc nothrowfn
BOOL CryptImportKey(HCRYPTPROV, PBYTE, DWORD, HCRYPTKEY, DWORD,
HCRYPTKEY *) extern(Windows) @nogc nothrowfn
BOOL CryptEncrypt(HCRYPTKEY, HCRYPTHASH, BOOL, DWORD, PBYTE, PDWORD,
DWORD) extern(Windows) @nogc nothrowfn
BOOL CryptDecrypt(HCRYPTKEY, HCRYPTHASH, BOOL, DWORD, PBYTE, PDWORD) extern(Windows) @nogc nothrowfn
BOOL CryptCreateHash(HCRYPTPROV, ALG_ID, HCRYPTKEY, DWORD, HCRYPTHASH *) extern(Windows) @nogc nothrowfn
BOOL CryptSignHashA(HCRYPTHASH, DWORD, LPCSTR, DWORD, PBYTE, PDWORD) extern(Windows) @nogc nothrowfn
BOOL CryptSignHashW(HCRYPTHASH, DWORD, LPCWSTR, DWORD, PBYTE, PDWORD) extern(Windows) @nogc nothrowfn
BOOL CryptVerifySignatureA(HCRYPTHASH, PBYTE, DWORD, HCRYPTKEY, LPCSTR,
DWORD) extern(Windows) @nogc nothrowfn
BOOL CryptVerifySignatureW(HCRYPTHASH, PBYTE, DWORD, HCRYPTKEY, LPCWSTR,
DWORD) extern(Windows) @nogc nothrowVariables 1
var
TCHAR[] MS_DEF_PROV = "Microsoft Base Cryptographic Provider v1.0"