BOOL WINAPI CPGenRandom( HCRYPTPROV hProv, DWORD dwLen, BYTE * pbBuffer );
Коды возврата | Описание |
---|---|
ERROR_INVALID_PARAMETER | Один из параметров содержит некорректное значение. Чаще всего это некорректный указатель. |
NTE_FAIL RPE_FAIL_STATBUFFER | Неудовлетворительная статистика датчика случайных чисел, контролируемая при открытии контейнера. Эта ошибка носит вероятностный характер. Для корректно работающей программы вероятность возникновения ошибки не превышает 10^(-16). |
NTE_FAIL RPE_FAIL_TESTBUFFER | Неудовлетворительная постоянно действующая статистика датчика случайных чисел. Эта ошибка носит вероятностный характер. Для корректно работающей программы вероятность возникновения ошибки не превышает 10^(-16). |
NTE_KEYSET_ENTRY_BAD | Данные неверно считаны из системного реестра. |
Функция CPGenRandom() получает случайные числа с программного ДСЧ контекста криптопровайдера hProv, который инициализируется при выполнении функции CPAcquireContext() c накопленного в контейнере ключевого носителя состояния ДСЧ и установленного в системе физического ДСЧ.
В случае, если контекст криптопровайдера открыт в режиме CRYPT_VERIFYCONTEXT и в системе не установлено физического ДСЧ, программный ДСЧ инициализируется с накапливаемого в реестре общесистемного состояния ДСЧ и накопленных состояний ДСЧ всех открытых ранее контейнеров ключевых носителей в рамках времени жизни разделяемой библиотеки "КриптоПро CSP 4.0". Для гарантированной инициализации ДСЧ с физического или БиоДСЧ, в случае если ранее могли не открываться контейнеры ключевых носителей, следует использовать функцию CPSetProvParam() с флагом PP_USE_HARDWARE_RNG.
AIX: 5/6/7 или выше.
FreeBSD: 7/8/9 или выше.
Linux: LSB 3.1 (RHEL 4, SuSE 10) или выше.
Solaris: 10 или выше.
Mac OSX: 10.7/8 или выше.
iOS: 6/7 или выше.
Windows 2000 или выше: Необходимо Windows 2000 SP4 или старше с Internet Explorer 6.0 или старше.
Файл описания: Прототип описан в файле wincsp.h.
Ядро ОС: Вместо неё используется аналогичная функция CPCGenRandom .
CPSetProvParam() ,CPGenRandom в MS CSP ,CryptGenRandom в MS CryptoAPI 2.0