289 lines
4.8 KiB
C
289 lines
4.8 KiB
C
//+---------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1992 - 1995.
|
|
//
|
|
// File: wincrypt.h
|
|
//
|
|
// Contents: Cryptographic API Prototypes and Definitions
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#ifndef __SWINCRYP_H__
|
|
#define __SWINCRYP_H__
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
|
|
BOOL
|
|
WINAPI
|
|
SCryptAcquireContextA(
|
|
HCRYPTPROV *phProv,
|
|
LPCSTR pszContainer,
|
|
LPCSTR pszProvider,
|
|
DWORD dwProvType,
|
|
DWORD dwFlags);
|
|
BOOL
|
|
WINAPI
|
|
SCryptAcquireContextW(
|
|
HCRYPTPROV *phProv,
|
|
LPCWSTR pszContainer,
|
|
LPCWSTR pszProvider,
|
|
DWORD dwProvType,
|
|
DWORD dwFlags);
|
|
#ifdef UNICODE
|
|
#define SCryptAcquireContext SCryptAcquireContextW
|
|
#else
|
|
#define SCryptAcquireContext SCryptAcquireContextA
|
|
#endif // !UNICODE
|
|
|
|
|
|
BOOL
|
|
WINAPI
|
|
SCryptReleaseContext(
|
|
HCRYPTPROV hProv,
|
|
DWORD dwFlags);
|
|
|
|
|
|
BOOL
|
|
WINAPI
|
|
SCryptGenKey(
|
|
HCRYPTPROV hProv,
|
|
ALG_ID Algid,
|
|
DWORD dwFlags,
|
|
HCRYPTKEY *phKey);
|
|
|
|
BOOL
|
|
WINAPI
|
|
SCryptDuplicateKey(
|
|
HCRYPTKEY hKey,
|
|
DWORD *pdwReserved,
|
|
DWORD dwFlags,
|
|
HCRYPTKEY * phKey);
|
|
|
|
BOOL
|
|
WINAPI
|
|
SCryptDeriveKey(
|
|
HCRYPTPROV hProv,
|
|
ALG_ID Algid,
|
|
HCRYPTHASH hBaseData,
|
|
DWORD dwFlags,
|
|
HCRYPTKEY *phKey);
|
|
|
|
|
|
BOOL
|
|
WINAPI
|
|
SCryptDestroyKey(
|
|
HCRYPTKEY hKey);
|
|
|
|
BOOL
|
|
WINAPI
|
|
SCryptSetKeyParam(
|
|
HCRYPTKEY hKey,
|
|
DWORD dwParam,
|
|
BYTE *pbData,
|
|
DWORD dwFlags);
|
|
|
|
BOOL
|
|
WINAPI
|
|
SCryptGetKeyParam(
|
|
HCRYPTKEY hKey,
|
|
DWORD dwParam,
|
|
BYTE *pbData,
|
|
DWORD *pdwDataLen,
|
|
DWORD dwFlags);
|
|
|
|
BOOL
|
|
WINAPI
|
|
SCryptSetHashParam(
|
|
HCRYPTHASH hHash,
|
|
DWORD dwParam,
|
|
BYTE *pbData,
|
|
DWORD dwFlags);
|
|
|
|
BOOL
|
|
WINAPI
|
|
SCryptGetHashParam(
|
|
HCRYPTHASH hHash,
|
|
DWORD dwParam,
|
|
BYTE *pbData,
|
|
DWORD *pdwDataLen,
|
|
DWORD dwFlags);
|
|
|
|
BOOL
|
|
WINAPI
|
|
SCryptSetProvParam(
|
|
HCRYPTPROV hProv,
|
|
DWORD dwParam,
|
|
BYTE *pbData,
|
|
DWORD dwFlags);
|
|
|
|
BOOL
|
|
WINAPI
|
|
SCryptGetProvParam(
|
|
HCRYPTPROV hProv,
|
|
DWORD dwParam,
|
|
BYTE *pbData,
|
|
DWORD *pdwDataLen,
|
|
DWORD dwFlags);
|
|
|
|
BOOL
|
|
WINAPI
|
|
SCryptGenRandom(
|
|
HCRYPTPROV hProv,
|
|
DWORD dwLen,
|
|
BYTE *pbBuffer);
|
|
|
|
BOOL
|
|
WINAPI
|
|
SCryptGetUserKey(
|
|
HCRYPTPROV hProv,
|
|
DWORD dwKeySpec,
|
|
HCRYPTKEY *phUserKey);
|
|
|
|
BOOL
|
|
WINAPI
|
|
SCryptExportKey(
|
|
HCRYPTKEY hKey,
|
|
HCRYPTKEY hExpKey,
|
|
DWORD dwBlobType,
|
|
DWORD dwFlags,
|
|
BYTE *pbData,
|
|
DWORD *pdwDataLen);
|
|
|
|
BOOL
|
|
WINAPI
|
|
SCryptImportKey(
|
|
HCRYPTPROV hProv,
|
|
CONST BYTE *pbData,
|
|
DWORD dwDataLen,
|
|
HCRYPTKEY hPubKey,
|
|
DWORD dwFlags,
|
|
HCRYPTKEY *phKey);
|
|
|
|
BOOL
|
|
WINAPI
|
|
SCryptEncrypt(
|
|
HCRYPTKEY hKey,
|
|
HCRYPTHASH hHash,
|
|
BOOL Final,
|
|
DWORD dwFlags,
|
|
BYTE *pbData,
|
|
DWORD *pdwDataLen,
|
|
DWORD dwBufLen);
|
|
|
|
BOOL
|
|
WINAPI
|
|
SCryptDecrypt(
|
|
HCRYPTKEY hKey,
|
|
HCRYPTHASH hHash,
|
|
BOOL Final,
|
|
DWORD dwFlags,
|
|
BYTE *pbData,
|
|
DWORD *pdwDataLen);
|
|
|
|
BOOL
|
|
WINAPI
|
|
SCryptCreateHash(
|
|
HCRYPTPROV hProv,
|
|
ALG_ID Algid,
|
|
HCRYPTKEY hKey,
|
|
DWORD dwFlags,
|
|
HCRYPTHASH *phHash);
|
|
|
|
BOOL
|
|
WINAPI
|
|
SCryptDuplicateHash(
|
|
HCRYPTHASH hHash,
|
|
DWORD *pdwReserved,
|
|
DWORD dwFlags,
|
|
HCRYPTHASH * phHash);
|
|
|
|
BOOL
|
|
WINAPI
|
|
SCryptHashData(
|
|
HCRYPTHASH hHash,
|
|
CONST BYTE *pbData,
|
|
DWORD dwDataLen,
|
|
DWORD dwFlags);
|
|
|
|
BOOL
|
|
WINAPI
|
|
SCryptHashSessionKey(
|
|
HCRYPTHASH hHash,
|
|
HCRYPTKEY hKey,
|
|
DWORD dwFlags);
|
|
|
|
BOOL
|
|
WINAPI
|
|
SCryptGetHashValue(
|
|
HCRYPTHASH hHash,
|
|
DWORD dwFlags,
|
|
BYTE *pbHash,
|
|
DWORD *pdwHashLen);
|
|
|
|
BOOL
|
|
WINAPI
|
|
SCryptDestroyHash(
|
|
HCRYPTHASH hHash);
|
|
|
|
BOOL
|
|
WINAPI
|
|
SCryptSignHashA(
|
|
HCRYPTHASH hHash,
|
|
DWORD dwKeySpec,
|
|
LPCSTR sDescription,
|
|
DWORD dwFlags,
|
|
BYTE *pbSignature,
|
|
DWORD *pdwSigLen);
|
|
|
|
BOOL
|
|
WINAPI
|
|
SCryptSignHashW(
|
|
HCRYPTHASH hHash,
|
|
DWORD dwKeySpec,
|
|
LPCWSTR sDescription,
|
|
DWORD dwFlags,
|
|
BYTE *pbSignature,
|
|
DWORD *pdwSigLen);
|
|
|
|
#ifdef UNICODE
|
|
#define SCryptSignHash SCryptSignHashW
|
|
#else
|
|
#define SCryptSignHash SCryptSignHashA
|
|
#endif // !UNICODE
|
|
|
|
BOOL
|
|
WINAPI
|
|
SCryptVerifySignatureA(
|
|
HCRYPTHASH hHash,
|
|
CONST BYTE *pbSignature,
|
|
DWORD dwSigLen,
|
|
HCRYPTKEY hPubKey,
|
|
LPCSTR sDescription,
|
|
DWORD dwFlags);
|
|
|
|
BOOL
|
|
WINAPI
|
|
SCryptVerifySignatureW(
|
|
HCRYPTHASH hHash,
|
|
CONST BYTE *pbSignature,
|
|
DWORD dwSigLen,
|
|
HCRYPTKEY hPubKey,
|
|
LPCWSTR sDescription,
|
|
DWORD dwFlags);
|
|
|
|
#ifdef UNICODE
|
|
#define SCryptVerifySignature SCryptVerifySignatureW
|
|
#else
|
|
#define SCryptVerifySignature SCryptVerifySignatureA
|
|
#endif // !UNICODE
|
|
|
|
#ifdef __cplusplus
|
|
} // Balance extern "C" above
|
|
#endif
|
|
|
|
#endif // __SWINCRYP_H__
|