FreeRDP
bcrypt.h File Reference
#include <winpr/winpr.h>
#include <winpr/wtypes.h>
This graph shows which files directly or indirectly include this file:

Data Structures

struct  BCRYPT_KEY_DATA_BLOB_HEADER
 

Macros

#define BCRYPT_RSA_ALGORITHM
 
#define BCRYPT_RSA_SIGN_ALGORITHM
 
#define BCRYPT_DH_ALGORITHM   (const WCHAR*)"D\x00H\x00\x00"
 
#define BCRYPT_DSA_ALGORITHM
 
#define BCRYPT_RC2_ALGORITHM
 
#define BCRYPT_RC4_ALGORITHM
 
#define BCRYPT_AES_ALGORITHM
 
#define BCRYPT_DES_ALGORITHM
 
#define BCRYPT_DESX_ALGORITHM
 
#define BCRYPT_3DES_ALGORITHM
 
#define BCRYPT_3DES_112_ALGORITHM
 
#define BCRYPT_MD2_ALGORITHM
 
#define BCRYPT_MD4_ALGORITHM
 
#define BCRYPT_MD5_ALGORITHM
 
#define BCRYPT_SHA1_ALGORITHM
 
#define BCRYPT_SHA256_ALGORITHM
 
#define BCRYPT_SHA384_ALGORITHM
 
#define BCRYPT_SHA512_ALGORITHM
 
#define BCRYPT_AES_GMAC_ALGORITHM
 
#define BCRYPT_ECDSA_ALGORITHM
 
#define BCRYPT_ECDSA_P256_ALGORITHM
 
#define BCRYPT_ECDSA_P384_ALGORITHM
 
#define BCRYPT_ECDSA_P521_ALGORITHM
 
#define BCRYPT_ECDH_P256_ALGORITHM
 
#define BCRYPT_ECDH_P384_ALGORITHM
 
#define BCRYPT_ECDH_P521_ALGORITHM
 
#define BCRYPT_RNG_ALGORITHM   (const WCHAR*)"R\x00N\x00G\x00\x00"
 
#define BCRYPT_RNG_FIPS186_DSA_ALGORITHM
 
#define BCRYPT_RNG_DUAL_EC_ALGORITHM
 
#define MS_PRIMITIVE_PROVIDER
 
#define BCRYPT_ALG_HANDLE_HMAC_FLAG   0x00000008
 
#define BCRYPT_PROV_DISPATCH   0x00000001
 
#define BCRYPT_OBJECT_LENGTH
 
#define BCRYPT_ALGORITHM_NAME
 
#define BCRYPT_PROVIDER_HANDLE
 
#define BCRYPT_CHAINING_MODE
 
#define BCRYPT_BLOCK_LENGTH
 
#define BCRYPT_KEY_LENGTH
 
#define BCRYPT_KEY_OBJECT_LENGTH
 
#define BCRYPT_KEY_STRENGTH
 
#define BCRYPT_KEY_LENGTHS
 
#define BCRYPT_BLOCK_SIZE_LIST
 
#define BCRYPT_EFFECTIVE_KEY_LENGTH
 
#define BCRYPT_HASH_LENGTH
 
#define BCRYPT_HASH_OID_LIST
 
#define BCRYPT_PADDING_SCHEMES
 
#define BCRYPT_SIGNATURE_LENGTH
 
#define BCRYPT_HASH_BLOCK_LENGTH
 
#define BCRYPT_AUTH_TAG_LENGTH
 
#define BCRYPT_PRIMITIVE_TYPE
 
#define BCRYPT_IS_KEYED_HASH
 
#define BCRYPT_KEY_DATA_BLOB
 
#define BCRYPT_BLOCK_PADDING   0x00000001
 
#define BCRYPT_KEY_DATA_BLOB_MAGIC   0x4d42444b
 
#define BCRYPT_KEY_DATA_BLOB_VERSION1   0x1
 

Typedefs

typedef PVOID BCRYPT_HANDLE
 
typedef PVOID BCRYPT_ALG_HANDLE
 
typedef PVOID BCRYPT_KEY_HANDLE
 
typedef PVOID BCRYPT_HASH_HANDLE
 
typedef PVOID BCRYPT_SECRET_HANDLE
 
typedef struct BCRYPT_KEY_DATA_BLOB_HEADERPBCRYPT_KEY_DATA_BLOB_HEADER
 

Functions

WINPR_API NTSTATUS BCryptOpenAlgorithmProvider (BCRYPT_ALG_HANDLE *phAlgorithm, LPCWSTR pszAlgId, LPCWSTR pszImplementation, ULONG dwFlags)
 
WINPR_API NTSTATUS BCryptCloseAlgorithmProvider (BCRYPT_ALG_HANDLE hAlgorithm, ULONG dwFlags)
 
WINPR_API NTSTATUS BCryptGetProperty (BCRYPT_HANDLE hObject, LPCWSTR pszProperty, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags)
 
WINPR_API NTSTATUS BCryptCreateHash (BCRYPT_ALG_HANDLE hAlgorithm, BCRYPT_HASH_HANDLE *phHash, PUCHAR pbHashObject, ULONG cbHashObject, PUCHAR pbSecret, ULONG cbSecret, ULONG dwFlags)
 
WINPR_API NTSTATUS BCryptDestroyHash (BCRYPT_HASH_HANDLE hHash)
 
WINPR_API NTSTATUS BCryptHashData (BCRYPT_HASH_HANDLE hHash, PUCHAR pbInput, ULONG cbInput, ULONG dwFlags)
 
WINPR_API NTSTATUS BCryptFinishHash (BCRYPT_HASH_HANDLE hHash, PUCHAR pbOutput, ULONG cbOutput, ULONG dwFlags)
 
WINPR_API NTSTATUS BCryptGenRandom (BCRYPT_ALG_HANDLE hAlgorithm, PUCHAR pbBuffer, ULONG cbBuffer, ULONG dwFlags)
 
WINPR_API NTSTATUS BCryptGenerateSymmetricKey (BCRYPT_ALG_HANDLE hAlgorithm, BCRYPT_KEY_HANDLE *phKey, PUCHAR pbKeyObject, ULONG cbKeyObject, PUCHAR pbSecret, ULONG cbSecret, ULONG dwFlags)
 
WINPR_API NTSTATUS BCryptGenerateKeyPair (BCRYPT_ALG_HANDLE hAlgorithm, BCRYPT_KEY_HANDLE *phKey, ULONG dwLength, ULONG dwFlags)
 
WINPR_API NTSTATUS BCryptImportKey (BCRYPT_ALG_HANDLE hAlgorithm, BCRYPT_KEY_HANDLE hImportKey, LPCWSTR pszBlobType, BCRYPT_KEY_HANDLE *phKey, PUCHAR pbKeyObject, ULONG cbKeyObject, PUCHAR pbInput, ULONG cbInput, ULONG dwFlags)
 
WINPR_API NTSTATUS BCryptDestroyKey (BCRYPT_KEY_HANDLE hKey)
 
WINPR_API NTSTATUS BCryptEncrypt (BCRYPT_KEY_HANDLE hKey, PUCHAR pbInput, ULONG cbInput, VOID *pPaddingInfo, PUCHAR pbIV, ULONG cbIV, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags)
 
WINPR_API NTSTATUS BCryptDecrypt (BCRYPT_KEY_HANDLE hKey, PUCHAR pbInput, ULONG cbInput, VOID *pPaddingInfo, PUCHAR pbIV, ULONG cbIV, PUCHAR pbOutput, ULONG cbOutput, ULONG *pcbResult, ULONG dwFlags)
 

Macro Definition Documentation

◆ BCRYPT_3DES_112_ALGORITHM

#define BCRYPT_3DES_112_ALGORITHM
Value:
(const WCHAR*)"3\x00" \
"D\x00" \
"E\x00S\x00_\x001\x001\x002\x00\x00"

◆ BCRYPT_3DES_ALGORITHM

#define BCRYPT_3DES_ALGORITHM
Value:
(const WCHAR*)"3\x00" \
"D\x00" \
"E\x00S\x00\x00"

◆ BCRYPT_AES_ALGORITHM

#define BCRYPT_AES_ALGORITHM
Value:
(const WCHAR*)"A\x00" \
"E\x00S\x00\x00"

◆ BCRYPT_AES_GMAC_ALGORITHM

#define BCRYPT_AES_GMAC_ALGORITHM
Value:
(const WCHAR*)"A\x00" \
"E\x00S\x00-\x00G\x00M\x00" \
"A\x00" \
"C\x00\x00"

◆ BCRYPT_ALG_HANDLE_HMAC_FLAG

#define BCRYPT_ALG_HANDLE_HMAC_FLAG   0x00000008

◆ BCRYPT_ALGORITHM_NAME

#define BCRYPT_ALGORITHM_NAME
Value:
(const WCHAR*)"A\x00l\x00g\x00o\x00r\x00i\x00t\x00h\x00m\x00N\x00" \
"a\x00m\x00" \
"e\x00\x00"

◆ BCRYPT_AUTH_TAG_LENGTH

#define BCRYPT_AUTH_TAG_LENGTH
Value:
(const WCHAR*)"A\x00u\x00t\x00h\x00T\x00" \
"a\x00g\x00L\x00" \
"e\x00n\x00g\x00t\x00h\x00\x00"

◆ BCRYPT_BLOCK_LENGTH

#define BCRYPT_BLOCK_LENGTH
Value:
(const WCHAR*)"B\x00l\x00o\x00" \
"c\x00k\x00L\x00" \
"e\x00n\x00g\x00t\x00h\x00\x00"

◆ BCRYPT_BLOCK_PADDING

#define BCRYPT_BLOCK_PADDING   0x00000001

◆ BCRYPT_BLOCK_SIZE_LIST

#define BCRYPT_BLOCK_SIZE_LIST
Value:
(const WCHAR*)"B\x00l\x00o\x00" \
"c\x00k\x00S\x00i\x00z\x00" \
"e\x00L\x00i\x00s\x00t\x00\x00"

◆ BCRYPT_CHAINING_MODE

#define BCRYPT_CHAINING_MODE
Value:
(const WCHAR*)"C\x00h\x00" \
"a\x00i\x00n\x00i\x00n\x00g\x00M\x00o\x00" \
"d\x00" \
"e\x00\x00"

◆ BCRYPT_DES_ALGORITHM

#define BCRYPT_DES_ALGORITHM
Value:
(const WCHAR*)"D\x00" \
"E\x00S\x00\x00"

◆ BCRYPT_DESX_ALGORITHM

#define BCRYPT_DESX_ALGORITHM
Value:
(const WCHAR*)"D\x00" \
"E\x00S\x00X\x00\x00"

◆ BCRYPT_DH_ALGORITHM

#define BCRYPT_DH_ALGORITHM   (const WCHAR*)"D\x00H\x00\x00"

◆ BCRYPT_DSA_ALGORITHM

#define BCRYPT_DSA_ALGORITHM
Value:
(const WCHAR*)"D\x00S\x00" \
"A\x00\x00"

◆ BCRYPT_ECDH_P256_ALGORITHM

#define BCRYPT_ECDH_P256_ALGORITHM
Value:
(const WCHAR*)"E\x00" \
"C\x00" \
"D\x00S\x00" \
"A\x00_\x00P\x002\x005\x006\x00\x00"

◆ BCRYPT_ECDH_P384_ALGORITHM

#define BCRYPT_ECDH_P384_ALGORITHM
Value:
(const WCHAR*)"E\x00" \
"C\x00" \
"D\x00S\x00" \
"A\x00_\x00P\x003\x008\x004\x00\x00"

◆ BCRYPT_ECDH_P521_ALGORITHM

#define BCRYPT_ECDH_P521_ALGORITHM
Value:
(const WCHAR*)"E\x00" \
"C\x00" \
"D\x00S\x00" \
"A\x00_\x00P\x005\x002\x001\x00\x00"

◆ BCRYPT_ECDSA_ALGORITHM

#define BCRYPT_ECDSA_ALGORITHM
Value:
(const WCHAR*)"E\x00" \
"C\x00" \
"D\x00S\x00" \
"A\x00\x00"

◆ BCRYPT_ECDSA_P256_ALGORITHM

#define BCRYPT_ECDSA_P256_ALGORITHM
Value:
(const WCHAR*)"E\x00" \
"C\x00" \
"D\x00S\x00" \
"A\x00_\x00P\x002\x005\x006\x00\x00"

◆ BCRYPT_ECDSA_P384_ALGORITHM

#define BCRYPT_ECDSA_P384_ALGORITHM
Value:
(const WCHAR*)"E\x00" \
"C\x00" \
"D\x00S\x00" \
"A\x00_\x00P\x003\x008\x004\x00\x00"

◆ BCRYPT_ECDSA_P521_ALGORITHM

#define BCRYPT_ECDSA_P521_ALGORITHM
Value:
(const WCHAR*)"E\x00" \
"C\x00" \
"D\x00S\x00" \
"A\x00_\x00P\x005\x002\x001\x00\x00"

◆ BCRYPT_EFFECTIVE_KEY_LENGTH

#define BCRYPT_EFFECTIVE_KEY_LENGTH
Value:
(const WCHAR*)"E\x00" \
"f\x00" \
"f\x00" \
"e\x00" \
"c\x00t\x00i\x00v\x00" \
"e\x00K\x00" \
"e\x00y\x00L\x00" \
"e\x00n\x00g" \
"\x00t\x00h\x00\x00"

◆ BCRYPT_HASH_BLOCK_LENGTH

#define BCRYPT_HASH_BLOCK_LENGTH
Value:
(const WCHAR*)"H\x00" \
"a\x00s\x00h\x00" \
"B\x00l\x00o\x00" \
"c\x00k\x00L\x00" \
"e\x00n\x00g\x00t\x00h\x00" \
"\x00"

◆ BCRYPT_HASH_LENGTH

#define BCRYPT_HASH_LENGTH
Value:
(const WCHAR*)"H\x00" \
"a\x00s\x00h\x00" \
"D\x00i\x00g\x00" \
"e\x00s\x00t\x00L\x00" \
"e\x00n\x00g\x00t\x00h" \
"\x00\x00"

◆ BCRYPT_HASH_OID_LIST

#define BCRYPT_HASH_OID_LIST
Value:
(const WCHAR*)"H\x00" \
"a\x00s\x00h\x00O\x00I\x00" \
"D\x00L\x00i\x00s\x00t\x00\x00"

◆ BCRYPT_IS_KEYED_HASH

#define BCRYPT_IS_KEYED_HASH
Value:
(const WCHAR*)"I\x00s\x00K\x00" \
"e\x00y\x00" \
"e\x00" \
"d\x00H\x00" \
"a\x00s\x00h\x00\x00"

◆ BCRYPT_KEY_DATA_BLOB

#define BCRYPT_KEY_DATA_BLOB
Value:
(const WCHAR*)"K\x00" \
"e\x00y\x00" \
"D\x00" \
"a\x00t\x00" \
"a\x00" \
"B\x00l\x00o\x00" \
"b\x00\x00"

◆ BCRYPT_KEY_DATA_BLOB_MAGIC

#define BCRYPT_KEY_DATA_BLOB_MAGIC   0x4d42444b

◆ BCRYPT_KEY_DATA_BLOB_VERSION1

#define BCRYPT_KEY_DATA_BLOB_VERSION1   0x1

◆ BCRYPT_KEY_LENGTH

#define BCRYPT_KEY_LENGTH
Value:
(const WCHAR*)"K\x00" \
"e\x00y\x00L\x00" \
"e\x00n\x00g\x00t\x00h\x00\x00"

◆ BCRYPT_KEY_LENGTHS

#define BCRYPT_KEY_LENGTHS
Value:
(const WCHAR*)"K\x00" \
"e\x00y\x00L\x00" \
"e\x00n\x00g\x00t\x00h\x00s\x00\x00"

◆ BCRYPT_KEY_OBJECT_LENGTH

#define BCRYPT_KEY_OBJECT_LENGTH
Value:
(const WCHAR*)"K\x00" \
"e\x00y\x00O\x00" \
"b\x00j\x00" \
"e\x00" \
"c\x00t\x00L\x00" \
"e\x00n\x00g\x00t\x00h\x00" \
"\x00"

◆ BCRYPT_KEY_STRENGTH

#define BCRYPT_KEY_STRENGTH
Value:
(const WCHAR*)"K\x00" \
"e\x00y\x00S\x00t\x00r\x00" \
"e\x00n\x00g\x00t\x00h\x00\x00"

◆ BCRYPT_MD2_ALGORITHM

#define BCRYPT_MD2_ALGORITHM
Value:
(const WCHAR*)"M\x00" \
"D\x002\x00\x00"

◆ BCRYPT_MD4_ALGORITHM

#define BCRYPT_MD4_ALGORITHM
Value:
(const WCHAR*)"M\x00" \
"D\x004\x00\x00"

◆ BCRYPT_MD5_ALGORITHM

#define BCRYPT_MD5_ALGORITHM
Value:
(const WCHAR*)"M\x00" \
"D\x005\x00\x00"

◆ BCRYPT_OBJECT_LENGTH

#define BCRYPT_OBJECT_LENGTH
Value:
(const WCHAR*)"O\x00" \
"b\x00j\x00" \
"e\x00" \
"c\x00t\x00L\x00" \
"e\x00n\x00g\x00t\x00h\x00\x00"

◆ BCRYPT_PADDING_SCHEMES

#define BCRYPT_PADDING_SCHEMES
Value:
(const WCHAR*)"P\x00" \
"a\x00" \
"d\x00" \
"d\x00i\x00n\x00g\x00S\x00" \
"c\x00h\x00" \
"e\x00m\x00" \
"e\x00s\x00\x00"

◆ BCRYPT_PRIMITIVE_TYPE

#define BCRYPT_PRIMITIVE_TYPE
Value:
(const WCHAR*)"P\x00r\x00i\x00m\x00i\x00t\x00i\x00v\x00" \
"e\x00T\x00y\x00p\x00" \
"e\x00\x00"

◆ BCRYPT_PROV_DISPATCH

#define BCRYPT_PROV_DISPATCH   0x00000001

◆ BCRYPT_PROVIDER_HANDLE

#define BCRYPT_PROVIDER_HANDLE
Value:
(const WCHAR*)"P\x00r\x00o\x00v\x00i\x00" \
"d\x00" \
"e\x00r\x00H\x00" \
"a\x00n\x00" \
"d\x00l\x00" \
"e\x00\x00"

◆ BCRYPT_RC2_ALGORITHM

#define BCRYPT_RC2_ALGORITHM
Value:
(const WCHAR*)"R\x00" \
"C\x002\x00\x00"

◆ BCRYPT_RC4_ALGORITHM

#define BCRYPT_RC4_ALGORITHM
Value:
(const WCHAR*)"R\x00" \
"C\x004\x00\x00"

◆ BCRYPT_RNG_ALGORITHM

#define BCRYPT_RNG_ALGORITHM   (const WCHAR*)"R\x00N\x00G\x00\x00"

◆ BCRYPT_RNG_DUAL_EC_ALGORITHM

#define BCRYPT_RNG_DUAL_EC_ALGORITHM
Value:
(const WCHAR*)"D\x00U\x00" \
"A\x00L\x00" \
"E\x00R\x00N\x00G\x00\x00"

◆ BCRYPT_RNG_FIPS186_DSA_ALGORITHM

#define BCRYPT_RNG_FIPS186_DSA_ALGORITHM
Value:
(const WCHAR*)"F\x00I\x00P\x00S\x001\x008\x006\x00" \
"D\x00S\x00" \
"A\x00R\x00N\x00G\x00\x00"

◆ BCRYPT_RSA_ALGORITHM

#define BCRYPT_RSA_ALGORITHM
Value:
(const WCHAR*)"R\x00S\x00" \
"A\x00\x00"

◆ BCRYPT_RSA_SIGN_ALGORITHM

#define BCRYPT_RSA_SIGN_ALGORITHM
Value:
(const WCHAR*)"R\x00S\x00" \
"A\x00_\x00S\x00I\x00G\x00N\x00\x00"

◆ BCRYPT_SHA1_ALGORITHM

#define BCRYPT_SHA1_ALGORITHM
Value:
(const WCHAR*)"S\x00H\x00" \
"A\x001\x00\x00"

◆ BCRYPT_SHA256_ALGORITHM

#define BCRYPT_SHA256_ALGORITHM
Value:
(const WCHAR*)"S\x00H\x00" \
"A\x002\x005\x006\x00\x00"

◆ BCRYPT_SHA384_ALGORITHM

#define BCRYPT_SHA384_ALGORITHM
Value:
(const WCHAR*)"S\x00H\x00" \
"A\x003\x008\x004\x00\x00"

◆ BCRYPT_SHA512_ALGORITHM

#define BCRYPT_SHA512_ALGORITHM
Value:
(const WCHAR*)"S\x00H\x00" \
"A\x005\x001\x002\x00\x00"

◆ BCRYPT_SIGNATURE_LENGTH

#define BCRYPT_SIGNATURE_LENGTH
Value:
(const WCHAR*)"S\x00i\x00g\x00n\x00" \
"a\x00t\x00u\x00r\x00" \
"e\x00L\x00" \
"e\x00n\x00g\x00t\x00h\x00" \
"\x00"

◆ MS_PRIMITIVE_PROVIDER

#define MS_PRIMITIVE_PROVIDER
Value:
(const WCHAR*)"M\x00i\x00" \
"c\x00r\x00o\x00s\x00o\x00" \
"f\x00t\x00 " \
"\x00P\x00r\x00i\x00m\x00i\x00t\x00i\x00v\x00" \
"e\x00 " \
"\x00P\x00r\x00o\x00v\x00i\x00" \
"d\x00" \
"e\x00r\x00\x00"

Typedef Documentation

◆ BCRYPT_ALG_HANDLE

typedef PVOID BCRYPT_ALG_HANDLE

◆ BCRYPT_HANDLE

typedef PVOID BCRYPT_HANDLE

WinPR: Windows Portable Runtime Cryptography API: Next Generation

Copyright 2012 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

◆ BCRYPT_HASH_HANDLE

typedef PVOID BCRYPT_HASH_HANDLE

◆ BCRYPT_KEY_HANDLE

typedef PVOID BCRYPT_KEY_HANDLE

◆ BCRYPT_SECRET_HANDLE

typedef PVOID BCRYPT_SECRET_HANDLE

◆ PBCRYPT_KEY_DATA_BLOB_HEADER

Function Documentation

◆ BCryptCloseAlgorithmProvider()

WINPR_API NTSTATUS BCryptCloseAlgorithmProvider ( BCRYPT_ALG_HANDLE  hAlgorithm,
ULONG  dwFlags 
)

◆ BCryptCreateHash()

WINPR_API NTSTATUS BCryptCreateHash ( BCRYPT_ALG_HANDLE  hAlgorithm,
BCRYPT_HASH_HANDLE phHash,
PUCHAR  pbHashObject,
ULONG  cbHashObject,
PUCHAR  pbSecret,
ULONG  cbSecret,
ULONG  dwFlags 
)

◆ BCryptDecrypt()

WINPR_API NTSTATUS BCryptDecrypt ( BCRYPT_KEY_HANDLE  hKey,
PUCHAR  pbInput,
ULONG  cbInput,
VOID *  pPaddingInfo,
PUCHAR  pbIV,
ULONG  cbIV,
PUCHAR  pbOutput,
ULONG  cbOutput,
ULONG *  pcbResult,
ULONG  dwFlags 
)

◆ BCryptDestroyHash()

WINPR_API NTSTATUS BCryptDestroyHash ( BCRYPT_HASH_HANDLE  hHash)

◆ BCryptDestroyKey()

WINPR_API NTSTATUS BCryptDestroyKey ( BCRYPT_KEY_HANDLE  hKey)

◆ BCryptEncrypt()

WINPR_API NTSTATUS BCryptEncrypt ( BCRYPT_KEY_HANDLE  hKey,
PUCHAR  pbInput,
ULONG  cbInput,
VOID *  pPaddingInfo,
PUCHAR  pbIV,
ULONG  cbIV,
PUCHAR  pbOutput,
ULONG  cbOutput,
ULONG *  pcbResult,
ULONG  dwFlags 
)

◆ BCryptFinishHash()

WINPR_API NTSTATUS BCryptFinishHash ( BCRYPT_HASH_HANDLE  hHash,
PUCHAR  pbOutput,
ULONG  cbOutput,
ULONG  dwFlags 
)

◆ BCryptGenerateKeyPair()

WINPR_API NTSTATUS BCryptGenerateKeyPair ( BCRYPT_ALG_HANDLE  hAlgorithm,
BCRYPT_KEY_HANDLE phKey,
ULONG  dwLength,
ULONG  dwFlags 
)

◆ BCryptGenerateSymmetricKey()

WINPR_API NTSTATUS BCryptGenerateSymmetricKey ( BCRYPT_ALG_HANDLE  hAlgorithm,
BCRYPT_KEY_HANDLE phKey,
PUCHAR  pbKeyObject,
ULONG  cbKeyObject,
PUCHAR  pbSecret,
ULONG  cbSecret,
ULONG  dwFlags 
)

◆ BCryptGenRandom()

WINPR_API NTSTATUS BCryptGenRandom ( BCRYPT_ALG_HANDLE  hAlgorithm,
PUCHAR  pbBuffer,
ULONG  cbBuffer,
ULONG  dwFlags 
)

◆ BCryptGetProperty()

WINPR_API NTSTATUS BCryptGetProperty ( BCRYPT_HANDLE  hObject,
LPCWSTR  pszProperty,
PUCHAR  pbOutput,
ULONG  cbOutput,
ULONG *  pcbResult,
ULONG  dwFlags 
)

◆ BCryptHashData()

WINPR_API NTSTATUS BCryptHashData ( BCRYPT_HASH_HANDLE  hHash,
PUCHAR  pbInput,
ULONG  cbInput,
ULONG  dwFlags 
)

◆ BCryptImportKey()

WINPR_API NTSTATUS BCryptImportKey ( BCRYPT_ALG_HANDLE  hAlgorithm,
BCRYPT_KEY_HANDLE  hImportKey,
LPCWSTR  pszBlobType,
BCRYPT_KEY_HANDLE phKey,
PUCHAR  pbKeyObject,
ULONG  cbKeyObject,
PUCHAR  pbInput,
ULONG  cbInput,
ULONG  dwFlags 
)

◆ BCryptOpenAlgorithmProvider()

WINPR_API NTSTATUS BCryptOpenAlgorithmProvider ( BCRYPT_ALG_HANDLE phAlgorithm,
LPCWSTR  pszAlgId,
LPCWSTR  pszImplementation,
ULONG  dwFlags 
)

WinPR: Windows Portable Runtime Cryptography API: Next Generation

Copyright 2012 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Cryptography API: Next Generation: http://msdn.microsoft.com/en-us/library/windows/desktop/aa376210/