FreeRDP
bcrypt.c File Reference
#include <winpr/config.h>
#include <winpr/bcrypt.h>

Functions

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

Function Documentation

◆ BCryptCloseAlgorithmProvider()

NTSTATUS BCryptCloseAlgorithmProvider ( BCRYPT_ALG_HANDLE  hAlgorithm,
ULONG  dwFlags 
)

◆ BCryptCreateHash()

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

◆ BCryptDecrypt()

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()

NTSTATUS BCryptDestroyHash ( BCRYPT_HASH_HANDLE  hHash)

◆ BCryptDestroyKey()

NTSTATUS BCryptDestroyKey ( BCRYPT_KEY_HANDLE  hKey)

◆ BCryptEncrypt()

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()

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

◆ BCryptGenerateKeyPair()

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

◆ BCryptGenerateSymmetricKey()

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

◆ BCryptGenRandom()

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

◆ BCryptGetProperty()

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

◆ BCryptHashData()

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

◆ BCryptImportKey()

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()

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/