Changeset 2976


Ignore:
Timestamp:
Mar 3, 2000, 12:08:23 AM (26 years ago)
Author:
sandervl
Message:

crypt api update

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/win/wincrypt.h

    r4 r2976  
    1 /* $Id: wincrypt.h,v 1.1 1999-05-24 20:19:21 ktk Exp $ */
     1/* $Id: wincrypt.h,v 1.2 2000-03-02 23:07:56 sandervl Exp $ */
    22
    33#ifndef __WINE_WINCRYPT_H
    44#define __WINE_WINCRYPT_H
    55
    6 /* FIXME: this whole file plus the implementation */
    7 
    86/* some typedefs for function parameters */
     7#define GET_ALG_CLASS(x)                (x & (7 << 13))
     8#define GET_ALG_TYPE(x)                 (x & (15 << 9))
     9#define GET_ALG_SID(x)                  (x & (511))
     10
     11#define ALG_CLASS_ANY                   (0)
     12#define ALG_CLASS_SIGNATURE             (1 << 13)
     13#define ALG_CLASS_MSG_ENCRYPT           (2 << 13)
     14#define ALG_CLASS_DATA_ENCRYPT          (3 << 13)
     15#define ALG_CLASS_HASH                  (4 << 13)
     16#define ALG_CLASS_KEY_EXCHANGE          (5 << 13)
     17
     18#define ALG_TYPE_ANY                    (0)
     19#define ALG_TYPE_DSS                    (1 << 9)
     20#define ALG_TYPE_RSA                    (2 << 9)
     21#define ALG_TYPE_BLOCK                  (3 << 9)
     22#define ALG_TYPE_STREAM                 (4 << 9)
     23
     24#define ALG_SID_ANY                     (0)
     25
     26#define ALG_SID_RSA_ANY                 0
     27#define ALG_SID_RSA_PKCS                1
     28#define ALG_SID_RSA_MSATWORK            2
     29#define ALG_SID_RSA_ENTRUST             3
     30#define ALG_SID_RSA_PGP                 4
     31
     32#define ALG_SID_DSS_ANY                 0
     33#define ALG_SID_DSS_PKCS                1
     34#define ALG_SID_DSS_DMS                 2
     35
     36#define ALG_SID_DES                     1
     37#define ALG_SID_3DES                    3
     38#define ALG_SID_DESX                    4
     39#define ALG_SID_IDEA                    5
     40#define ALG_SID_CAST                    6
     41#define ALG_SID_SAFERSK64               7
     42#define ALD_SID_SAFERSK128              8
     43
     44#define CRYPT_MODE_CBCI                 6
     45#define CRYPT_MODE_CFBP                 7
     46#define CRYPT_MODE_OFBP                 8
     47#define CRYPT_MODE_CBCOFM               9
     48#define CRYPT_MODE_CBCOFMI              10
     49
     50#define ALG_SID_RC2                     2
     51
     52#define ALG_SID_RC4                     1
     53#define ALG_SID_SEAL                    2
     54
     55#define ALG_SID_MD2                     1
     56#define ALG_SID_MD4                     2
     57#define ALG_SID_MD5                     3
     58#define ALG_SID_SHA                     4
     59#define ALG_SID_MAC                     5
     60#define ALG_SID_RIPEMD                  6
     61#define ALG_SID_RIPEMD160               7
     62#define ALG_SID_SSL3SHAMD5              8
     63#define ALG_SID_EXAMPLE                 80
     64
     65#undef ALGIDDEF
     66#define ALGIDDEF
    967typedef unsigned int ALG_ID;
     68
     69#define CALG_MD2        (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_MD2)
     70#define CALG_MD4        (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_MD4)
     71#define CALG_MD5        (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_MD5)
     72#define CALG_SHA        (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_SHA)
     73#define CALG_MAC        (ALG_CLASS_HASH | ALG_TYPE_ANY | ALG_SID_MAC)
     74#define CALG_RSA_SIGN   (ALG_CLASS_SIGNATURE | ALG_TYPE_RSA | ALG_SID_RSA_ANY)
     75#define CALG_DSS_SIGN   (ALG_CLASS_SIGNATURE | ALG_TYPE_DSS | ALG_SID_DSS_ANY)
     76#define CALG_RSA_KEYX   (ALG_CLASS_KEY_EXCHANGE|ALG_TYPE_RSA|ALG_SID_RSA_ANY)
     77#define CALG_DES        (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_DES)
     78#define CALG_RC2        (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_RC2)
     79#define CALG_RC4        (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_STREAM|ALG_SID_RC4)
     80#define CALG_SEAL       (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_STREAM|ALG_SID_SEAL)
     81
     82#define CRYPT_VERIFYCONTEXT     0xF0000000
     83#define CRYPT_NEWKEYSET         0x8
     84#define CRYPT_DELETEKEYSET      0x10
     85
     86#define CRYPT_EXPORTABLE        0x00000001
     87#define CRYPT_USER_PROTECTED    0x00000002
     88#define CRYPT_CREATE_SALT       0x00000004
     89#define CRYPT_UPDATE_KEY        0x00000008
     90
     91#define SIMPLEBLOB              0x1
     92#define PUBLICKEYBLOB           0x6
     93#define PRIVATEKEYBLOB          0x7
     94
     95#define AT_KEYEXCHANGE          1
     96#define AT_SIGNATURE            2
     97
     98#define CRYPT_USERDATA          1
     99
     100#define KP_IV                   1
     101#define KP_SALT                 2
     102#define KP_PADDING              3
     103#define KP_MODE                 4
     104#define KP_MODE_BITS            5
     105#define KP_PERMISSIONS          6
     106#define KP_ALGID                7
     107#define KP_BLOCKLEN             8
     108
     109#define PKCS5_PADDING           1
     110
     111#define CRYPT_MODE_CBC          1
     112#define CRYPT_MODE_ECB          2
     113#define CRYPT_MODE_OFB          3
     114#define CRYPT_MODE_CFB          4
     115#define CRYPT_MODE_CTS          5
     116
     117#define CRYPT_ENCRYPT           0x0001
     118#define CRYPT_DECRYPT           0x0002
     119#define CRYPT_EXPORT            0x0004
     120#define CRYPT_READ              0x0008
     121#define CRYPT_WRITE             0x0010
     122#define CRYPT_MAC               0x0020
     123
     124#define HP_ALGID                0x0001
     125#define HP_HASHVAL              0x0002
     126#define HP_HASHSIZE             0x0004
     127
     128
     129#define CRYPT_FAILED            FALSE
     130#define CRYPT_SUCCEED           TRUE
     131
     132#define RCRYPT_SUCCEEDED(rt)     ((rt) == CRYPT_SUCCEED)
     133#define RCRYPT_FAILED(rt)        ((rt) == CRYPT_FAILED)
     134
     135#define PP_ENUMALGS             1
     136#define PP_ENUMCONTAINERS       2
     137#define PP_IMPTYPE              3
     138#define PP_NAME                 4
     139#define PP_VERSION              5
     140#define PP_CONTAINER            6
     141
     142#define CRYPT_FIRST             1
     143#define CRYPT_NEXT              2
     144
     145#define CRYPT_IMPL_HARDWARE     1
     146#define CRYPT_IMPL_SOFTWARE     2
     147#define CRYPT_IMPL_MIXED        3
     148#define CRYPT_IMPL_UNKNOWN      4
     149
     150#define PP_CLIENT_HWND          1
     151
     152#define PROV_RSA_FULL           1
     153#define PROV_RSA_SIG            2
     154#define PROV_DSS                3
     155#define PROV_FORTEZZA           4
     156#define PROV_MS_EXCHANGE        5
     157#define PROV_SSL                6
     158
     159#define PROV_STT_MER            7
     160#define PROV_STT_ACQ            8
     161#define PROV_STT_BRND           9
     162#define PROV_STT_ROOT           10
     163#define PROV_STT_ISS            11
     164
     165#define MAXUIDLEN               64
     166
     167#define CUR_BLOB_VERSION        2
     168
     169typedef struct _VTableProvStruc {
     170    DWORD   Version;
     171    FARPROC FuncVerifyImage;
     172    FARPROC FuncReturnhWnd;
     173} VTableProvStruc, *PVTableProvStruc;
     174
    10175typedef unsigned long HCRYPTPROV;
    11176typedef unsigned long HCRYPTKEY;
    12177typedef unsigned long HCRYPTHASH;
    13178
     179typedef struct _PROV_ENUMALGS {
     180    ALG_ID    aiAlgid;
     181    DWORD     dwBitLen;
     182    DWORD     dwNameLen;
     183    CHAR      szName[20];
     184} PROV_ENUMALGS;
     185
     186typedef struct _PUBLICKEYSTRUC {
     187        BYTE    bType;
     188        BYTE    bVersion;
     189        WORD    reserved;
     190        ALG_ID  aiKeyAlg;
     191} PUBLICKEYSTRUC;
     192
     193typedef struct _RSAPUBKEY {
     194        DWORD   magic;
     195        DWORD   bitlen;
     196        DWORD   pubexp;
     197} RSAPUBKEY;
     198
    14199/* function declarations */
    15200
    16201BOOL WINAPI CryptAcquireContextA(HCRYPTPROV *phProv, LPCSTR pszContainer,
    17                                    LPCSTR pszProvider, DWORD dwProvType,
    18                                    DWORD dwFlags);
     202                                 LPCSTR pszProvider, DWORD dwProvType,
     203                                 DWORD dwFlags);
     204BOOL WINAPI CryptAcquireContextW(HCRYPTPROV *phProv, LPCWSTR pszContainer,
     205                                 LPCWSTR pszProvider, DWORD dwProvType,
     206                                 DWORD dwFlags);
     207#define     CryptAcquireContext WINELIB_NAME_AW(CryptAcquireContext)
     208
     209BOOL WINAPI CryptReleaseContext(HCRYPTPROV hProv, DWORD dwFlags);
     210BOOL WINAPI CryptGenKey(HCRYPTPROV hProv, ALG_ID Algid, DWORD dwFlags,
     211                        HCRYPTKEY *phKey);
     212BOOL WINAPI CryptDeriveKey(HCRYPTPROV hProv, ALG_ID Algid, HCRYPTHASH hBaseData,
     213                           DWORD dwFlags, HCRYPTKEY *phKey);
     214BOOL WINAPI CryptDestroyKey(HCRYPTKEY hKey);
     215BOOL WINAPI CryptSetKeyParam(HCRYPTKEY hKey,DWORD dwParam,BYTE *pbData,DWORD dwFlags);
     216BOOL WINAPI CryptGetKeyParam(HCRYPTKEY hKey, DWORD dwParam, BYTE *pbData, DWORD *pdwDataLen, DWORD dwFlags);
     217BOOL WINAPI CryptSetHashParam(HCRYPTHASH hHash, DWORD dwParam, BYTE *pbData, DWORD dwFlags);
     218BOOL WINAPI CryptGetHashParam(HCRYPTHASH hHash, DWORD dwParam, BYTE *pbData, DWORD *pdwDataLen,DWORD dwFlags);
     219BOOL WINAPI CryptSetProvParam(HCRYPTPROV hProv, DWORD dwParam, BYTE *pbData,DWORD dwFlags);
     220BOOL WINAPI CryptGetProvParam(HCRYPTPROV hProv, DWORD dwParam, BYTE *pbData,DWORD *pdwDataLen,
     221                              DWORD dwFlags);
     222BOOL WINAPI CryptGenRandom(HCRYPTPROV hProv, DWORD dwLen, BYTE *pbBuffer);
     223BOOL WINAPI CryptGetUserKey(HCRYPTPROV hProv, DWORD dwKeySpec, HCRYPTKEY *phUserKey);
     224BOOL WINAPI CryptExportKey(HCRYPTKEY hKey,HCRYPTKEY hExpKey, DWORD dwBlobType, DWORD dwFlags,
     225                           BYTE *pbData, DWORD *pdwDataLen);
     226BOOL WINAPI CryptImportKey(HCRYPTPROV hProv,CONST BYTE *pbData, DWORD dwDataLen,
     227                           HCRYPTKEY hPubKey, DWORD dwFlags,HCRYPTKEY *phKey);
     228BOOL WINAPI CryptEncrypt(HCRYPTKEY hKey, HCRYPTHASH hHash, BOOL Final,
     229                         DWORD dwFlags, BYTE *pbData, DWORD *pdwDataLen,
     230                         DWORD dwBufLen);
     231BOOL WINAPI CryptDecrypt(HCRYPTKEY hKey, HCRYPTHASH hHash, BOOL Final, DWORD dwFlags,
     232                         BYTE *pbData, DWORD *pdwDataLen);
     233BOOL WINAPI CryptCreateHash(HCRYPTPROV hProv, ALG_ID Algid, HCRYPTKEY hKey, DWORD dwFlags,
     234                            HCRYPTHASH *phHash);
     235BOOL WINAPI CryptHashData(HCRYPTHASH hHash, CONST BYTE *pbData, DWORD dwDataLen,
     236                          DWORD dwFlags);
     237BOOL WINAPI CryptHashSessionKey(HCRYPTHASH hHash, HCRYPTKEY hKey, DWORD dwFlags);
     238BOOL WINAPI CryptDestroyHash(HCRYPTHASH hHash);
     239BOOL WINAPI CryptSignHashA(HCRYPTHASH hHash, DWORD dwKeySpec, LPCSTR sDescription,
     240                           DWORD dwFlags, BYTE *pbSignature, DWORD *pdwSigLen);
     241BOOL WINAPI CryptSignHashW(HCRYPTHASH hHash, DWORD dwKeySpec, LPCWSTR sDescription,
     242                           DWORD dwFlags, BYTE *pbSignature, DWORD *pdwSigLen);
     243#define     CryptSignHash WINELIB_NAME_AW(CryptSignHash)
     244
     245BOOL WINAPI CryptVerifySignatureA(HCRYPTHASH hHash, CONST BYTE *pbSignature, DWORD dwSigLen,
     246                                  HCRYPTKEY hPubKey, LPCSTR sDescription, DWORD dwFlags);
     247BOOL WINAPI CryptVerifySignatureW(HCRYPTHASH hHash, CONST BYTE *pbSignature, DWORD dwSigLen,
     248                                  HCRYPTKEY hPubKey, LPCWSTR sDescription, DWORD dwFlags);
     249#define     CryptVerifySignature WINELIB_NAME_AW(CryptVerifySignature)
     250
     251BOOL WINAPI CryptSetProviderA(LPCSTR pszProvName, DWORD dwProvType);
     252BOOL WINAPI CryptSetProviderW(LPCWSTR pszProvName, DWORD dwProvType);
     253#define     CryptSetProvider WINELIB_NAME_AW(CryptSetProvider)
     254
    19255#endif
  • trunk/src/advapi32/ADVAPI32.DEF

    r2343 r2976  
    1 ; $Id: ADVAPI32.DEF,v 1.11 2000-01-06 20:05:00 sandervl Exp $
     1; $Id: ADVAPI32.DEF,v 1.12 2000-03-02 23:08:22 sandervl Exp $
    22
    33;
     
    177177     CreateServiceA             = _CreateServiceA@52                 @48
    178178     CreateServiceW             = _CreateServiceW@52                 @49
    179 ;    CryptAcquireContextA                                       @50
    180 ;    CryptAcquireContextW                                       @51
    181 ;    CryptCreateHash                                            @52
    182 ;    CryptDecrypt                                               @53
    183 ;    CryptDeriveKey                                             @54
    184 ;    CryptDestroyHash                                           @55
    185 ;    CryptDestroyKey                                            @56
    186 ;    CryptEncrypt                                               @57
    187 ;    CryptExportKey                                             @58
    188 ;    CryptGenKey                                                @59
    189 ;    CryptGenRandom                                             @60
    190 ;    CryptGetHashParam                                          @61
    191 ;    CryptGetKeyParam                                           @62
    192 ;    CryptGetProvParam                                          @63
    193 ;    CryptGetUserKey                                            @64
    194 ;    CryptHashData                                              @65
    195 ;    CryptHashSessionKey                                        @66
    196 ;    CryptImportKey                                             @67
    197 ;    CryptReleaseContext                                        @68
    198 ;    CryptSetHashParam                                          @69
    199 ;    CryptSetKeyParam                                           @70
    200 ;    CryptSetProvParam                                          @71
    201 ;    CryptSetProviderA                                          @72
    202 ;    CryptSetProviderW                                          @73
    203 ;    CryptSignHashA                                             @74
    204 ;    CryptSignHashW                                             @75
    205 ;    CryptVerifySignatureA                                      @76
    206 ;    CryptVerifySignatureW                                      @77
     179     CryptAcquireContextA       = _CryptAcquireContextA@20           @50
     180     CryptAcquireContextW       = _CryptAcquireContextW@20           @51
     181     CryptCreateHash            = _CryptCreateHash@20                @52
     182     CryptDecrypt               = _CryptDecrypt@24                   @53
     183     CryptDeriveKey             = _CryptDeriveKey@20                 @54
     184     CryptDestroyHash           = _CryptDestroyHash@4                @55
     185     CryptDestroyKey            = _CryptDestroyKey@4                 @56
     186     CryptEncrypt               = _CryptEncrypt@28                   @57
     187     CryptExportKey             = _CryptExportKey@24                 @58
     188     CryptGenKey                = _CryptGenKey@16                    @59
     189     CryptGenRandom             = _CryptGenRandom@12                 @60
     190     CryptGetHashParam          = _CryptGetHashParam@20              @61
     191     CryptGetKeyParam           = _CryptGetKeyParam@20               @62
     192     CryptGetProvParam          = _CryptGetProvParam@20              @63
     193     CryptGetUserKey            = _CryptGetUserKey@12                @64
     194     CryptHashData              = _CryptHashData@16                  @65
     195     CryptHashSessionKey        = _CryptHashSessionKey@12            @66
     196     CryptImportKey             = _CryptImportKey@24                 @67
     197     CryptReleaseContext        = _CryptReleaseContext@8             @68
     198     CryptSetHashParam          = _CryptSetHashParam@16              @69
     199     CryptSetKeyParam           = _CryptSetKeyParam@16               @70
     200     CryptSetProvParam          = _CryptSetProvParam@16              @71
     201     CryptSetProviderA          = _CryptSetProviderA@8               @72
     202     CryptSetProviderW          = _CryptSetProviderW@8               @73
     203     CryptSignHashA             = _CryptSignHashA@24                 @74
     204     CryptSignHashW             = _CryptSignHashW@24                 @75
     205     CryptVerifySignatureA      = _CryptVerifySignatureA@24          @76
     206     CryptVerifySignatureW      = _CryptVerifySignatureW@24          @77
    207207     DeleteAce                  = _DeleteAce@8                       @78
    208208     DeleteService              = _DeleteService@4                   @79
  • trunk/src/advapi32/crypt.cpp

    r2216 r2976  
    1 /* $Id: crypt.cpp,v 1.2 1999-12-27 18:44:59 sandervl Exp $ */
     1/* $Id: crypt.cpp,v 1.3 2000-03-02 23:08:23 sandervl Exp $ */
    22/*
    33 * dlls/advapi32/crypt.c
     
    1111#include <misc.h>
    1212#include "wincrypt.h"
    13 /*
    14 #include "windef.h"
    15 #include "winerror.h"
    16 #include "wincrypt.h"
    17 #include "debugtools.h"
    18 */
    1913
    2014ODINDEBUGCHANNEL(ADVAPI32-CRYPT)
     
    3529
    3630BOOL WINAPI CryptAcquireContextA( HCRYPTPROV *phProv, LPCSTR pszContainer,
    37                       LPCSTR pszProvider, DWORD dwProvType, DWORD dwFlags)
    38 {
    39     dprintf(("(%p, %s, %s, %ld, %08lx): not implemented.\n", phProv, pszContainer,
     31                                  LPCSTR pszProvider, DWORD dwProvType, DWORD dwFlags)
     32{
     33    dprintf(("CryptAcquireContextA(%p, %s, %s, %ld, %08lx): FAKED.\n", phProv, pszContainer,
    4034          pszProvider, dwProvType, dwFlags));
    41     return FALSE;
    42 }
    43 
    44 /******************************************************************************
    45  * CryptSetKeyParam
    46  */
    47 BOOL WINAPI CryptSetKeyParam( HCRYPTKEY hKey, DWORD dwParam, BYTE *pbData, DWORD dwFlags)
    48 {
    49     dprintf(("(%lx, %lx, %p, %lx): not implemented.\n", hKey, dwParam, pbData, dwFlags));
    50     return FALSE;
    51 }
    52 
     35    *phProv = 0x99000001;
     36    return TRUE;
     37//    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
     38//    return FALSE;
     39}
     40
     41BOOL WINAPI CryptAcquireContextW(HCRYPTPROV *phProv, LPCWSTR pszContainer,
     42                                 LPCWSTR pszProvider, DWORD dwProvType,
     43                                 DWORD dwFlags)
     44{
     45    dprintf(("CryptAcquireContextW(%p, %ls, %s, %ld, %08lx): FAKED.\n", phProv, pszContainer,
     46          pszProvider, dwProvType, dwFlags));
     47    *phProv = 0x99000001;
     48    return TRUE;
     49//    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
     50//    return FALSE;
     51}
     52//******************************************************************************
     53//******************************************************************************
     54BOOL WINAPI CryptReleaseContext(HCRYPTPROV hProv, DWORD dwFlags)
     55{
     56    dprintf(("NOT IMPLEMENTED: CryptReleaseContext %x %x", hProv, dwFlags));
     57    return TRUE;
     58//    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
     59//    return FALSE;
     60}
     61//******************************************************************************
     62//******************************************************************************
     63BOOL WINAPI CryptGenKey(HCRYPTPROV hProv, ALG_ID Algid, DWORD dwFlags,
     64                        HCRYPTKEY *phKey)
     65{
     66    dprintf(("NOT IMPLEMENTED: CryptGenKey %x %x %x %x", hProv, Algid, dwFlags, phKey));
     67    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
     68    return FALSE;
     69}
     70//******************************************************************************
     71//******************************************************************************
     72BOOL WINAPI CryptDeriveKey(HCRYPTPROV hProv, ALG_ID Algid, HCRYPTHASH hBaseData,
     73                           DWORD dwFlags, HCRYPTKEY *phKey)
     74{
     75    dprintf(("NOT IMPLEMENTED: CryptDeriveKey"));
     76    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
     77    return FALSE;
     78}
     79//******************************************************************************
     80//******************************************************************************
     81BOOL WINAPI CryptDestroyKey(HCRYPTKEY hKey)
     82{
     83    dprintf(("NOT IMPLEMENTED: CryptDestroyKey"));
     84    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
     85    return FALSE;
     86}
     87//******************************************************************************
     88//******************************************************************************
     89BOOL WINAPI CryptSetKeyParam(HCRYPTKEY hKey,DWORD dwParam,BYTE *pbData,DWORD dwFlags)
     90{
     91    dprintf(("NOT IMPLEMENTED: CryptSetKeyParam(%lx, %lx, %p, %lx): not implemented.\n", hKey, dwParam, pbData, dwFlags));
     92    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
     93    return FALSE;
     94}
     95//******************************************************************************
     96//******************************************************************************
     97BOOL WINAPI CryptGetKeyParam(HCRYPTKEY hKey, DWORD dwParam, BYTE *pbData, DWORD *pdwDataLen, DWORD dwFlags)
     98{
     99    dprintf(("NOT IMPLEMENTED: CryptGetKeyParam"));
     100    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
     101    return FALSE;
     102}
     103//******************************************************************************
     104//******************************************************************************
     105BOOL WINAPI CryptSetHashParam(HCRYPTHASH hHash, DWORD dwParam, BYTE *pbData, DWORD dwFlags)
     106{
     107    dprintf(("NOT IMPLEMENTED: CryptSetHashParam"));
     108    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
     109    return FALSE;
     110}
     111//******************************************************************************
     112//******************************************************************************
     113BOOL WINAPI CryptGetHashParam(HCRYPTHASH hHash, DWORD dwParam, BYTE *pbData, DWORD *pdwDataLen,DWORD dwFlags)
     114{
     115    dprintf(("NOT IMPLEMENTED: CryptGetHashParam"));
     116    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
     117    return FALSE;
     118}
     119//******************************************************************************
     120//******************************************************************************
     121BOOL WINAPI CryptSetProvParam(HCRYPTPROV hProv, DWORD dwParam, BYTE *pbData,DWORD dwFlags)
     122{
     123    dprintf(("NOT IMPLEMENTED: CryptSetProvParam"));
     124    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
     125    return FALSE;
     126}
     127//******************************************************************************
     128//******************************************************************************
     129BOOL WINAPI CryptGetProvParam(HCRYPTPROV hProv, DWORD dwParam, BYTE *pbData,DWORD *pdwDataLen,
     130                              DWORD dwFlags)
     131{
     132    dprintf(("NOT IMPLEMENTED: CryptGetProvParam"));
     133    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
     134    return FALSE;
     135}
     136//******************************************************************************
     137//******************************************************************************
     138BOOL WINAPI CryptGenRandom(HCRYPTPROV hProv, DWORD dwLen, BYTE *pbBuffer)
     139{
     140    dprintf(("NOT IMPLEMENTED: CryptGenRandom"));
     141    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
     142    return FALSE;
     143}
     144//******************************************************************************
     145//******************************************************************************
     146BOOL WINAPI CryptGetUserKey(HCRYPTPROV hProv, DWORD dwKeySpec, HCRYPTKEY *phUserKey)
     147{
     148    dprintf(("NOT IMPLEMENTED: CryptGetUserKey"));
     149    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
     150    return FALSE;
     151}
     152//******************************************************************************
     153//******************************************************************************
     154BOOL WINAPI CryptExportKey(HCRYPTKEY hKey,HCRYPTKEY hExpKey, DWORD dwBlobType, DWORD dwFlags,
     155                           BYTE *pbData, DWORD *pdwDataLen)
     156{
     157    dprintf(("NOT IMPLEMENTED: CryptExportKey"));
     158    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
     159    return FALSE;
     160}
     161//******************************************************************************
     162//******************************************************************************
     163BOOL WINAPI CryptImportKey(HCRYPTPROV hProv,CONST BYTE *pbData, DWORD dwDataLen,
     164                           HCRYPTKEY hPubKey, DWORD dwFlags,HCRYPTKEY *phKey)
     165{
     166    dprintf(("NOT IMPLEMENTED: CryptImportKey"));
     167    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
     168    return FALSE;
     169}
     170//******************************************************************************
     171//******************************************************************************
     172BOOL WINAPI CryptEncrypt(HCRYPTKEY hKey, HCRYPTHASH hHash, BOOL Final,
     173                         DWORD dwFlags, BYTE *pbData, DWORD *pdwDataLen,
     174                         DWORD dwBufLen)
     175{
     176    dprintf(("NOT IMPLEMENTED: CryptEncrypt"));
     177    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
     178    return FALSE;
     179}
     180//******************************************************************************
     181//******************************************************************************
     182BOOL WINAPI CryptDecrypt(HCRYPTKEY hKey, HCRYPTHASH hHash, BOOL Final, DWORD dwFlags,
     183                         BYTE *pbData, DWORD *pdwDataLen)
     184{
     185    dprintf(("NOT IMPLEMENTED: CryptDecrypt"));
     186    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
     187    return FALSE;
     188}
     189//******************************************************************************
     190//******************************************************************************
     191BOOL WINAPI CryptCreateHash(HCRYPTPROV hProv, ALG_ID Algid, HCRYPTKEY hKey, DWORD dwFlags,
     192                            HCRYPTHASH *phHash)
     193{
     194    dprintf(("NOT IMPLEMENTED: CryptCreateHash"));
     195    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
     196    return FALSE;
     197}
     198//******************************************************************************
     199//******************************************************************************
     200BOOL WINAPI CryptHashData(HCRYPTHASH hHash, CONST BYTE *pbData, DWORD dwDataLen,
     201                          DWORD dwFlags)
     202{
     203    dprintf(("NOT IMPLEMENTED: CryptHashData"));
     204    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
     205    return FALSE;
     206}
     207//******************************************************************************
     208//******************************************************************************
     209BOOL WINAPI CryptHashSessionKey(HCRYPTHASH hHash, HCRYPTKEY hKey, DWORD dwFlags)
     210{
     211    dprintf(("NOT IMPLEMENTED: CryptHashSessionKey"));
     212    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
     213    return FALSE;
     214}
     215//******************************************************************************
     216//******************************************************************************
     217BOOL WINAPI CryptDestroyHash(HCRYPTHASH hHash)
     218{
     219    dprintf(("NOT IMPLEMENTED: CryptDestroyHash"));
     220    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
     221    return FALSE;
     222}
     223//******************************************************************************
     224//******************************************************************************
     225BOOL WINAPI CryptSignHashA(HCRYPTHASH hHash, DWORD dwKeySpec, LPCSTR sDescription,
     226                           DWORD dwFlags, BYTE *pbSignature, DWORD *pdwSigLen)
     227{
     228    dprintf(("NOT IMPLEMENTED: CryptSignHashA"));
     229    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
     230    return FALSE;
     231}
     232//******************************************************************************
     233//******************************************************************************
     234BOOL WINAPI CryptSignHashW(HCRYPTHASH hHash, DWORD dwKeySpec, LPCWSTR sDescription,
     235                           DWORD dwFlags, BYTE *pbSignature, DWORD *pdwSigLen)
     236{
     237    dprintf(("NOT IMPLEMENTED: CryptSignHashW"));
     238    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
     239    return FALSE;
     240}
     241//******************************************************************************
     242//******************************************************************************
     243BOOL WINAPI CryptVerifySignatureA(HCRYPTHASH hHash, CONST BYTE *pbSignature, DWORD dwSigLen,
     244                                  HCRYPTKEY hPubKey, LPCSTR sDescription, DWORD dwFlags)
     245{
     246    dprintf(("NOT IMPLEMENTED: CryptVerifySignatureA"));
     247    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
     248    return FALSE;
     249}
     250//******************************************************************************
     251//******************************************************************************
     252BOOL WINAPI CryptVerifySignatureW(HCRYPTHASH hHash, CONST BYTE *pbSignature, DWORD dwSigLen,
     253                                  HCRYPTKEY hPubKey, LPCWSTR sDescription, DWORD dwFlags)
     254{
     255    dprintf(("NOT IMPLEMENTED: CryptVerifySignatureW"));
     256    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
     257    return FALSE;
     258}
     259//******************************************************************************
     260//******************************************************************************
     261BOOL WINAPI CryptSetProviderA(LPCSTR pszProvName, DWORD dwProvType)
     262{
     263    dprintf(("NOT IMPLEMENTED: CryptSetProviderA"));
     264    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
     265    return FALSE;
     266}
     267//******************************************************************************
     268//******************************************************************************
     269BOOL WINAPI CryptSetProviderW(LPCWSTR pszProvName, DWORD dwProvType)
     270{
     271    dprintf(("NOT IMPLEMENTED: CryptSetProviderW"));
     272    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
     273    return FALSE;
     274}
     275//******************************************************************************
     276//******************************************************************************
Note: See TracChangeset for help on using the changeset viewer.