398 |
HCRYPTHASH hHash = NULL; |
HCRYPTHASH hHash = NULL; |
399 |
PBYTE pbCrypt = NULL; |
PBYTE pbCrypt = NULL; |
400 |
DWORD dwCryptSize = 0, dwBufferSize; |
DWORD dwCryptSize = 0, dwBufferSize; |
401 |
BYTE pbChallenge[20] = "test"; |
BYTE pbChallenge[20] = "test1234567890"; |
402 |
__try |
__try |
403 |
{ |
{ |
404 |
bStatus = CryptAcquireContext(&hProv,szContainer, MS_SCARD_PROV, PROV_RSA_FULL, 0); |
bStatus = CryptAcquireContext(&hProv,szContainer, MS_SCARD_PROV, PROV_RSA_FULL, 0); |
413 |
dwReturn = GetLastError(); |
dwReturn = GetLastError(); |
414 |
__leave; |
__leave; |
415 |
} |
} |
416 |
bStatus = CryptGenRandom(hProv,ARRAYSIZE(pbChallenge),pbChallenge); |
/*bStatus = CryptGenRandom(hProv,ARRAYSIZE(pbChallenge),pbChallenge); |
417 |
if (!bStatus) |
if (!bStatus) |
418 |
{ |
{ |
419 |
dwReturn = GetLastError(); |
dwReturn = GetLastError(); |
420 |
__leave; |
__leave; |
421 |
} |
}*/ |
422 |
dwCryptSize = 0; |
dwCryptSize = 0; |
423 |
dwBufferSize = ARRAYSIZE(pbChallenge); |
dwBufferSize = ARRAYSIZE(pbChallenge); |
424 |
if (!CryptEncrypt(hKey,NULL, TRUE, 0, NULL, &dwBufferSize,0)) |
if (!CryptEncrypt(hKey,NULL, TRUE, 0, NULL, &dwBufferSize,0)) |
439 |
dwReturn = GetLastError(); |
dwReturn = GetLastError(); |
440 |
__leave; |
__leave; |
441 |
} |
} |
442 |
if (!CryptDecrypt(hKey, NULL, TRUE, 0, pbCrypt, &dwCryptSize)) |
if (!CryptDecrypt(hKey, NULL, FALSE, 0, pbCrypt, &dwCryptSize)) |
443 |
{ |
{ |
444 |
dwReturn = GetLastError(); |
dwReturn = GetLastError(); |
445 |
__leave; |
__leave; |