Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
e8273d60
Commit
e8273d60
authored
Jan 10, 2002
by
Travis Michielsen
Committed by
Alexandre Julliard
Jan 10, 2002
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Implement advapi32 portion of the CryptoAPI.
parent
d0d7764a
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
105 additions
and
6 deletions
+105
-6
advapi32.spec
dlls/advapi32/advapi32.spec
+6
-6
crypt.c
dlls/advapi32/crypt.c
+0
-0
crypt.h
dlls/advapi32/crypt.h
+63
-0
wincrypt.h
include/wincrypt.h
+0
-0
winerror.h
include/winerror.h
+36
-0
No files found.
dlls/advapi32/advapi32.spec
View file @
e8273d60
...
...
@@ -4,7 +4,7 @@ type win32
import kernel32.dll
import ntdll.dll
debug_channels (advapi reg)
debug_channels (advapi
crypt
reg)
@ stub AbortSystemShutdownA
@ stub AbortSystemShutdownW
...
...
@@ -44,7 +44,7 @@ debug_channels (advapi reg)
@ stdcall CryptDecrypt(long long long long ptr ptr) CryptDecrypt
@ stdcall CryptDeriveKey(long long long long ptr) CryptDeriveKey
@ stdcall CryptDestroyHash(long) CryptDestroyHash
@ stdcall CryptDestroyKey(long) CryptDestroy
Hash
@ stdcall CryptDestroyKey(long) CryptDestroy
Key
@ stdcall CryptDuplicateHash(long ptr long ptr) CryptDuplicateHash
@ stdcall CryptDuplicateKey(long ptr long ptr) CryptDuplicateKey
@ stdcall CryptEncrypt(long long long long ptr ptr long) CryptEncrypt
...
...
@@ -65,8 +65,8 @@ debug_channels (advapi reg)
@ stdcall CryptHashSessionKey(long long long) CryptHashSessionKey
@ stdcall CryptImportKey(long ptr long long long ptr) CryptImportKey
@ stdcall CryptReleaseContext(long long) CryptReleaseContext
@ stdcall CryptSignHashA(long long
s
tr long ptr ptr) CryptSignHashA
@ stdcall CryptSignHashW(long long
wstr long ptr ptr) CryptSignHashW
@ stdcall CryptSignHashA(long long
p
tr long ptr ptr) CryptSignHashA
@ stdcall CryptSignHashW(long long
ptr long ptr ptr) CryptSignHashA
@ stdcall CryptSetHashParam(long long ptr long) CryptSetHashParam
@ stdcall CryptSetKeyParam(long long ptr long) CryptSetKeyParam
@ stdcall CryptSetProviderA(str long) CryptSetProviderA
...
...
@@ -74,8 +74,8 @@ debug_channels (advapi reg)
@ stdcall CryptSetProviderExA(str long ptr long) CryptSetProviderExA
@ stdcall CryptSetProviderExW(wstr long ptr long) CryptSetProviderExW
@ stdcall CryptSetProvParam(long long ptr long) CryptSetProvParam
@ stdcall CryptVerifySignatureA(long ptr long long
s
tr long) CryptVerifySignatureA
@ stdcall CryptVerifySignatureW(long ptr long long
wstr long) CryptVerifySignatureW
@ stdcall CryptVerifySignatureA(long ptr long long
p
tr long) CryptVerifySignatureA
@ stdcall CryptVerifySignatureW(long ptr long long
ptr long) CryptVerifySignatureA
@ stub DeleteAce
@ stdcall DeleteService(long) DeleteService
@ stdcall DeregisterEventSource(long) DeregisterEventSource
...
...
dlls/advapi32/crypt.c
View file @
e8273d60
This diff is collapsed.
Click to expand it.
dlls/advapi32/crypt.h
0 → 100644
View file @
e8273d60
/*
* Driver routines
*
* Copyright 2001 - Travis Michielsen
*/
#ifndef __WINE_CRYPT_H
#define __WINE_CRYPT_H
#include "wincrypt.h"
typedef
struct
tagPROVFUNCS
{
BOOL
(
*
pCPAcquireContext
)(
HCRYPTPROV
*
phProv
,
LPSTR
pszContainer
,
DWORD
dwFlags
,
PVTableProvStruc
pVTable
);
BOOL
(
*
pCPCreateHash
)(
HCRYPTPROV
hProv
,
ALG_ID
Algid
,
HCRYPTKEY
hKey
,
DWORD
dwFlags
,
HCRYPTHASH
*
phHash
);
BOOL
(
*
pCPDecrypt
)(
HCRYPTPROV
hProv
,
HCRYPTKEY
hKey
,
HCRYPTHASH
hHash
,
BOOL
Final
,
DWORD
dwFlags
,
BYTE
*
pbData
,
DWORD
*
pdwDataLen
);
BOOL
(
*
pCPDeriveKey
)(
HCRYPTPROV
hProv
,
ALG_ID
Algid
,
HCRYPTHASH
hBaseData
,
DWORD
dwFlags
,
HCRYPTKEY
*
phKey
);
BOOL
(
*
pCPDestroyHash
)(
HCRYPTPROV
hProv
,
HCRYPTHASH
hHash
);
BOOL
(
*
pCPDestroyKey
)(
HCRYPTPROV
hProv
,
HCRYPTKEY
hKey
);
BOOL
(
*
pCPDuplicateHash
)(
HCRYPTPROV
hUID
,
HCRYPTHASH
hHash
,
DWORD
*
pdwReserved
,
DWORD
dwFlags
,
HCRYPTHASH
*
phHash
);
BOOL
(
*
pCPDuplicateKey
)(
HCRYPTPROV
hUID
,
HCRYPTKEY
hKey
,
DWORD
*
pdwReserved
,
DWORD
dwFlags
,
HCRYPTKEY
*
phKey
);
BOOL
(
*
pCPEncrypt
)(
HCRYPTPROV
hProv
,
HCRYPTKEY
hKey
,
HCRYPTHASH
hHash
,
BOOL
Final
,
DWORD
dwFlags
,
BYTE
*
pbData
,
DWORD
*
pdwDataLen
,
DWORD
dwBufLen
);
BOOL
(
*
pCPExportKey
)(
HCRYPTPROV
hProv
,
HCRYPTKEY
hKey
,
HCRYPTKEY
hPubKey
,
DWORD
dwBlobType
,
DWORD
dwFlags
,
BYTE
*
pbData
,
DWORD
*
pdwDataLen
);
BOOL
(
*
pCPGenKey
)(
HCRYPTPROV
hProv
,
ALG_ID
Algid
,
DWORD
dwFlags
,
HCRYPTKEY
*
phKey
);
BOOL
(
*
pCPGenRandom
)(
HCRYPTPROV
hProv
,
DWORD
dwLen
,
BYTE
*
pbBuffer
);
BOOL
(
*
pCPGetHashParam
)(
HCRYPTPROV
hProv
,
HCRYPTHASH
hHash
,
DWORD
dwParam
,
BYTE
*
pbData
,
DWORD
*
pdwDataLen
,
DWORD
dwFlags
);
BOOL
(
*
pCPGetKeyParam
)(
HCRYPTPROV
hProv
,
HCRYPTKEY
hKey
,
DWORD
dwParam
,
BYTE
*
pbData
,
DWORD
*
pdwDataLen
,
DWORD
dwFlags
);
BOOL
(
*
pCPGetProvParam
)(
HCRYPTPROV
hProv
,
DWORD
dwParam
,
BYTE
*
pbData
,
DWORD
*
pdwDataLen
,
DWORD
dwFlags
);
BOOL
(
*
pCPGetUserKey
)(
HCRYPTPROV
hProv
,
DWORD
dwKeySpec
,
HCRYPTKEY
*
phUserKey
);
BOOL
(
*
pCPHashData
)(
HCRYPTPROV
hProv
,
HCRYPTHASH
hHash
,
CONST
BYTE
*
pbData
,
DWORD
dwDataLen
,
DWORD
dwFlags
);
BOOL
(
*
pCPHashSessionKey
)(
HCRYPTPROV
hProv
,
HCRYPTHASH
hHash
,
HCRYPTKEY
hKey
,
DWORD
dwFlags
);
BOOL
(
*
pCPImportKey
)(
HCRYPTPROV
hProv
,
CONST
BYTE
*
pbData
,
DWORD
dwDataLen
,
HCRYPTKEY
hPubKey
,
DWORD
dwFlags
,
HCRYPTKEY
*
phKey
);
BOOL
(
*
pCPReleaseContext
)(
HCRYPTPROV
hProv
,
DWORD
dwFlags
);
BOOL
(
*
pCPSetHashParam
)(
HCRYPTPROV
hProv
,
HCRYPTHASH
hHash
,
DWORD
dwParam
,
BYTE
*
pbData
,
DWORD
dwFlags
);
BOOL
(
*
pCPSetKeyParam
)(
HCRYPTPROV
hProv
,
HCRYPTKEY
hKey
,
DWORD
dwParam
,
BYTE
*
pbData
,
DWORD
dwFlags
);
BOOL
(
*
pCPSetProvParam
)(
HCRYPTPROV
hProv
,
DWORD
dwParam
,
BYTE
*
pbData
,
DWORD
dwFlags
);
BOOL
(
*
pCPSignHash
)(
HCRYPTPROV
hProv
,
HCRYPTHASH
hHash
,
DWORD
dwKeySpec
,
LPCWSTR
sDescription
,
DWORD
dwFlags
,
BYTE
*
pbSignature
,
DWORD
*
pdwSigLen
);
BOOL
(
*
pCPVerifySignature
)(
HCRYPTPROV
hProv
,
HCRYPTHASH
hHash
,
CONST
BYTE
*
pbSignature
,
DWORD
dwSigLen
,
HCRYPTKEY
hPubKey
,
LPCWSTR
sDescription
,
DWORD
dwFlags
);
}
PROVFUNCS
,
*
PPROVFUNCS
;
typedef
struct
tagCRYPTPROV
{
HMODULE
hModule
;
PPROVFUNCS
pFuncs
;
HCRYPTPROV
hPrivate
;
//CSP's handle - Should not be given to application under any circumstances!
PVTableProvStruc
pVTable
;
}
CRYPTPROV
,
*
PCRYPTPROV
;
typedef
struct
tagCRYPTKEY
{
PCRYPTPROV
pProvider
;
HCRYPTKEY
hPrivate
;
//CSP's handle - Should not be given to application under any circumstances!
}
CRYPTKEY
,
*
PCRYPTKEY
;
typedef
struct
tagCRYPTHASH
{
PCRYPTPROV
pProvider
;
HCRYPTHASH
hPrivate
;
//CSP's handle - Should not be given to application under any circumstances!
}
CRYPTHASH
,
*
PCRYPTHASH
;
#define MAXPROVTYPES 999
#endif
/* __WINE_CRYPT_H_ */
include/wincrypt.h
View file @
e8273d60
This diff is collapsed.
Click to expand it.
include/winerror.h
View file @
e8273d60
...
...
@@ -1897,5 +1897,41 @@ extern int WIN32_LastError;
#define MEM_E_INVALID_LINK 0x80080010L
#define MEM_E_INVALID_SIZE 0x80080011L
/*Cryptographic Error Codes */
#define NTE_BAD_UID 0x80090001L
#define NTE_BAD_HASH 0x80090002L
#define NTE_BAD_KEY 0x80090003L
#define NTE_BAD_LEN 0x80090004L
#define NTE_BAD_DATA 0x80090005L
#define NTE_BAD_SIGNATURE 0x80090006L
#define NTE_BAD_VER 0x80090007L
#define NTE_BAD_ALGID 0x80090008L
#define NTE_BAD_FLAGS 0x80090009L
#define NTE_BAD_TYPE 0x8009000AL
#define NTE_BAD_KEY_STATE 0x8009000BL
#define NTE_BAD_HASH_STATE 0x8009000CL
#define NTE_NO_KEY 0x8009000DL
#define NTE_NO_MEMORY 0x8009000EL
#define NTE_EXISTS 0x8009000FL
#define NTE_PERM 0x80090010L
#define NTE_NOT_FOUND 0x80090011L
#define NTE_DOUBLE_ENCRYPT 0x80090012L
#define NTE_BAD_PROVIDER 0x80090013L
#define NTE_BAD_PROV_TYPE 0x80090014L
#define NTE_BAD_PUBLIC_KEY 0x80090015L
#define NTE_BAD_KEYSET 0x80090016L
#define NTE_PROV_TYPE_NOT_DEF 0x80090017L
#define NTE_PROV_TYPE_ENTRY_BAD 0x80090018L
#define NTE_KEYSET_NOT_DEF 0x80090019L
#define NTE_KEYSET_ENTRY_BAD 0x8009001AL
#define NTE_PROV_TYPE_NO_MATCH 0x8009001BL
#define NTE_SIGNATURE_FILE_BAD 0x8009001CL
#define NTE_PROVIDER_DLL_FAIL 0x8009001DL
#define NTE_PROV_DLL_NOT_FOUND 0x8009001EL
#define NTE_BAD_KEYSET_PARAM 0x8009001FL
#define NTE_FAIL 0x80090020L
#define NTE_SYS_ERR 0x80090021L
#define NTE_OP_OK 0
#endif
/* __WINE_WINERROR_H */
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment