| ||||
| ||||
Я это делаю таким образом: { HCRYPTPROV hProv = NULL; if(CryptAcquireContext( &hProv, NULL, CP_DEF_PROV, PROV_GOST_DH, CRYPT_VERIFYCONTEXT)) { prinf("Crypto Pro CSP present\n"); } else { printf("Crypto Pro CSP not present\nError: %X", GetLastError()); } if(hProv)CryptReleaseContext(hProv, 0); } Собственно вопрос - а правильно ли я делаю? может есть какой другой способ или я о чем-то забываю? | ||||
Ответы: | ||||
| ||||
можно так, а можно через CryptEnumProviders и/или CryptEnumProviderTypes. Этот способ просто читает из реестра соответствующий раздел, где хранится информация об установленных на данной машине криптопровайдерах. Т.е. является скорее необходимым условием. В сочетании с предложенным Вами вариантом - будет еще и достаточным. | ||||