WinStd
Windows Win32 API using Standard C++
Loading...
Searching...
No Matches
Cryptography API

Classes

class  winstd::cert_context
 PCCERT_CONTEXT wrapper class. More...
 
class  winstd::cert_chain_context
 PCCERT_CHAIN_CONTEXT wrapper class. More...
 
class  winstd::cert_store
 HCERTSTORE wrapper class. More...
 
class  winstd::crypt_prov
 HCRYPTPROV wrapper class. More...
 
class  winstd::crypt_hash
 HCRYPTHASH wrapper class. More...
 
class  winstd::crypt_key
 HCRYPTKEY wrapper class. More...
 
class  winstd::data_blob
 DATA_BLOB wrapper class. More...
 

Functions

template<class _Traits , class _Ax >
static DWORD CertGetNameStringA (PCCERT_CONTEXT pCertContext, DWORD dwType, DWORD dwFlags, void *pvTypePara, std::basic_string< char, _Traits, _Ax > &sNameString)
 Obtains the subject or issuer name from a certificate CERT_CONTEXT structure and stores it in a std::wstring string.
 
template<class _Traits , class _Ax >
static DWORD CertGetNameStringW (PCCERT_CONTEXT pCertContext, DWORD dwType, DWORD dwFlags, void *pvTypePara, std::basic_string< wchar_t, _Traits, _Ax > &sNameString)
 Obtains the subject or issuer name from a certificate CERT_CONTEXT structure and stores it in a std::wstring string.
 
template<class _Ty , class _Ax >
static BOOL WINAPI CertGetCertificateContextProperty (PCCERT_CONTEXT pCertContext, DWORD dwPropId, std::vector< _Ty, _Ax > &aData)
 Retrieves the information contained in an extended property of a certificate context.
 
template<class _Ty , class _Ax >
static BOOL CryptGetHashParam (HCRYPTHASH hHash, DWORD dwParam, std::vector< _Ty, _Ax > &aData, DWORD dwFlags)
 Retrieves data that governs the operations of a hash object. The actual hash value can be retrieved by using this function.
 
template<class T >
static BOOL CryptGetHashParam (HCRYPTHASH hHash, DWORD dwParam, T &data, DWORD dwFlags)
 Retrieves data that governs the operations of a hash object. The actual hash value can be retrieved by using this function.
 
template<class _Ty , class _Ax >
static BOOL CryptGetKeyParam (HCRYPTKEY hKey, DWORD dwParam, std::vector< _Ty, _Ax > &aData, DWORD dwFlags)
 Retrieves data that governs the operations of a key.
 
template<class T >
static BOOL CryptGetKeyParam (HCRYPTKEY hKey, DWORD dwParam, T &data, DWORD dwFlags)
 Retrieves data that governs the operations of a key.
 
template<class _Ty , class _Ax >
static BOOL CryptExportKey (HCRYPTKEY hKey, HCRYPTKEY hExpKey, DWORD dwBlobType, DWORD dwFlags, std::vector< _Ty, _Ax > &aData)
 Exports a cryptographic key or a key pair from a cryptographic service provider (CSP) in a secure manner.
 
template<class _Ty , class _Ax >
static BOOL CryptEncrypt (HCRYPTKEY hKey, HCRYPTHASH hHash, BOOL Final, DWORD dwFlags, std::vector< _Ty, _Ax > &aData)
 Encrypts data.
 
template<class _Ty , class _Ax >
static BOOL CryptDecrypt (HCRYPTKEY hKey, HCRYPTHASH hHash, BOOL Final, DWORD dwFlags, std::vector< _Ty, _Ax > &aData)
 Decrypts data previously encrypted by using the CryptEncrypt function.
 
static BOOL CertGetCertificateChain (HCERTCHAINENGINE hChainEngine, PCCERT_CONTEXT pCertContext, LPFILETIME pTime, HCERTSTORE hAdditionalStore, PCERT_CHAIN_PARA pChainPara, DWORD dwFlags, LPVOID pvReserved, winstd::cert_chain_context &ctx)
 The CertGetCertificateChain function builds a certificate chain context starting from an end certificate and going back, if possible, to a trusted root certificate.
 
static BOOL CryptAcquireContextA (winstd::crypt_prov &prov, LPCSTR szContainer, LPCSTR szProvider, DWORD dwProvType, DWORD dwFlags)
 Acquires the cryptographic context.
 
static BOOL CryptAcquireContextW (winstd::crypt_prov &prov, LPCWSTR szContainer, LPCWSTR szProvider, DWORD dwProvType, DWORD dwFlags)
 Acquires the cryptographic context.
 
static BOOL CryptCreateHash (HCRYPTPROV hProv, ALG_ID Algid, HCRYPTKEY hKey, DWORD dwFlags, winstd::crypt_hash &hash)
 Creates the hash context.
 
static BOOL CryptGenKey (HCRYPTPROV hProv, ALG_ID Algid, DWORD dwFlags, winstd::crypt_key &key)
 Generates the key.
 
static bool CryptImportKey (HCRYPTPROV hProv, __in_bcount(dwDataLen) LPCBYTE pbData, DWORD dwDataLen, HCRYPTKEY hPubKey, DWORD dwFlags, winstd::crypt_key &key)
 Imports the key.
 
static bool CryptImportPublicKeyInfo (HCRYPTPROV hCryptProv, DWORD dwCertEncodingType, PCERT_PUBLIC_KEY_INFO pInfo, winstd::crypt_key &key)
 Imports the public key.
 
static bool CryptDeriveKey (HCRYPTPROV hProv, ALG_ID Algid, HCRYPTHASH hBaseData, DWORD dwFlags, winstd::crypt_key &key)
 Generates cryptographic session keys derived from a base data value.
 

Detailed Description

Function Documentation

◆ CertGetCertificateChain()

static BOOL CertGetCertificateChain ( HCERTCHAINENGINE hChainEngine,
PCCERT_CONTEXT pCertContext,
LPFILETIME pTime,
HCERTSTORE hAdditionalStore,
PCERT_CHAIN_PARA pChainPara,
DWORD dwFlags,
LPVOID pvReserved,
winstd::cert_chain_context & ctx )
static

The CertGetCertificateChain function builds a certificate chain context starting from an end certificate and going back, if possible, to a trusted root certificate.

See also
CertGetCertificateChain function

◆ CertGetCertificateContextProperty()

template<class _Ty , class _Ax >
static BOOL WINAPI CertGetCertificateContextProperty ( PCCERT_CONTEXT pCertContext,
DWORD dwPropId,
std::vector< _Ty, _Ax > & aData )
static

Retrieves the information contained in an extended property of a certificate context.

See also
CertGetCertificateContextProperty function

◆ CertGetNameStringA()

template<class _Traits , class _Ax >
static DWORD CertGetNameStringA ( PCCERT_CONTEXT pCertContext,
DWORD dwType,
DWORD dwFlags,
void * pvTypePara,
std::basic_string< char, _Traits, _Ax > & sNameString )
static

Obtains the subject or issuer name from a certificate CERT_CONTEXT structure and stores it in a std::wstring string.

See also
CertGetNameString function

◆ CertGetNameStringW()

template<class _Traits , class _Ax >
static DWORD CertGetNameStringW ( PCCERT_CONTEXT pCertContext,
DWORD dwType,
DWORD dwFlags,
void * pvTypePara,
std::basic_string< wchar_t, _Traits, _Ax > & sNameString )
static

Obtains the subject or issuer name from a certificate CERT_CONTEXT structure and stores it in a std::wstring string.

See also
CertGetNameString function

◆ CryptAcquireContextA()

static BOOL CryptAcquireContextA ( winstd::crypt_prov & prov,
LPCSTR szContainer,
LPCSTR szProvider,
DWORD dwProvType,
DWORD dwFlags )
static

Acquires the cryptographic context.

See also
CryptAcquireContext function

◆ CryptAcquireContextW()

static BOOL CryptAcquireContextW ( winstd::crypt_prov & prov,
LPCWSTR szContainer,
LPCWSTR szProvider,
DWORD dwProvType,
DWORD dwFlags )
static

Acquires the cryptographic context.

See also
CryptAcquireContext function

◆ CryptCreateHash()

static BOOL CryptCreateHash ( HCRYPTPROV hProv,
ALG_ID Algid,
HCRYPTKEY hKey,
DWORD dwFlags,
winstd::crypt_hash & hash )
static

Creates the hash context.

See also
CryptCreateHash function

◆ CryptDecrypt()

template<class _Ty , class _Ax >
static BOOL CryptDecrypt ( HCRYPTKEY hKey,
HCRYPTHASH hHash,
BOOL Final,
DWORD dwFlags,
std::vector< _Ty, _Ax > & aData )
static

Decrypts data previously encrypted by using the CryptEncrypt function.

See also
CryptDecrypt function

◆ CryptDeriveKey()

static bool CryptDeriveKey ( HCRYPTPROV hProv,
ALG_ID Algid,
HCRYPTHASH hBaseData,
DWORD dwFlags,
winstd::crypt_key & key )
static

Generates cryptographic session keys derived from a base data value.

See also
CryptDeriveKey function

◆ CryptEncrypt()

template<class _Ty , class _Ax >
static BOOL CryptEncrypt ( HCRYPTKEY hKey,
HCRYPTHASH hHash,
BOOL Final,
DWORD dwFlags,
std::vector< _Ty, _Ax > & aData )
static

Encrypts data.

See also
CryptEncrypt function

◆ CryptExportKey()

template<class _Ty , class _Ax >
static BOOL CryptExportKey ( HCRYPTKEY hKey,
HCRYPTKEY hExpKey,
DWORD dwBlobType,
DWORD dwFlags,
std::vector< _Ty, _Ax > & aData )
static

Exports a cryptographic key or a key pair from a cryptographic service provider (CSP) in a secure manner.

See also
CryptExportKey function

◆ CryptGenKey()

static BOOL CryptGenKey ( HCRYPTPROV hProv,
ALG_ID Algid,
DWORD dwFlags,
winstd::crypt_key & key )
static

Generates the key.

See also
CryptGenKey function

◆ CryptGetHashParam() [1/2]

template<class _Ty , class _Ax >
static BOOL CryptGetHashParam ( HCRYPTHASH hHash,
DWORD dwParam,
std::vector< _Ty, _Ax > & aData,
DWORD dwFlags )
static

Retrieves data that governs the operations of a hash object. The actual hash value can be retrieved by using this function.

See also
CryptGetHashParam function

◆ CryptGetHashParam() [2/2]

template<class T >
static BOOL CryptGetHashParam ( HCRYPTHASH hHash,
DWORD dwParam,
T & data,
DWORD dwFlags )
static

Retrieves data that governs the operations of a hash object. The actual hash value can be retrieved by using this function.

See also
CryptGetHashParam function

◆ CryptGetKeyParam() [1/2]

template<class _Ty , class _Ax >
static BOOL CryptGetKeyParam ( HCRYPTKEY hKey,
DWORD dwParam,
std::vector< _Ty, _Ax > & aData,
DWORD dwFlags )
static

Retrieves data that governs the operations of a key.

See also
CryptGetKeyParam function

◆ CryptGetKeyParam() [2/2]

template<class T >
static BOOL CryptGetKeyParam ( HCRYPTKEY hKey,
DWORD dwParam,
T & data,
DWORD dwFlags )
static

Retrieves data that governs the operations of a key.

See also
CryptGetKeyParam function

◆ CryptImportKey()

static bool CryptImportKey ( HCRYPTPROV hProv,
__in_bcount(dwDataLen) LPCBYTE pbData,
DWORD dwDataLen,
HCRYPTKEY hPubKey,
DWORD dwFlags,
winstd::crypt_key & key )
static

Imports the key.

See also
CryptImportKey function

◆ CryptImportPublicKeyInfo()

static bool CryptImportPublicKeyInfo ( HCRYPTPROV hCryptProv,
DWORD dwCertEncodingType,
PCERT_PUBLIC_KEY_INFO pInfo,
winstd::crypt_key & key )
static

Imports the public key.

See also
CryptImportPublicKeyInfo function