DWORD CPCAPI CPCGenRandom( HCRYPTMODULE hCSP, 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 | Данные неверно считаны из системного реестра. |
Функция CPCGenRandom() получает случайные числа с программного ДСЧ контекста криптопровайдера hProv, который инициализируется при выполнении функции CPCAcquireContext() c накопленного в контейнере ключевого носителя состояния ДСЧ и установленного в системе физического ДСЧ.
В случае, если контекст криптопровайдера открыт в режиме CRYPT_VERIFYCONTEXT и в системе не установлено физического ДСЧ, программный ДСЧ инициализируется с накапливаемого в реестре общесистемного состояния ДСЧ и накопленных состояний ДСЧ всех открытых ранее контейнеров ключевых носителей в рамках времени жизни разделяемой библиотеки "КриптоПро CSP 4.0". Для гарантированной инициализации ДСЧ с физического или БиоДСЧ, в случае если ранее могли не открываться контейнеры ключевых носителей, следует использовать функцию CPCSetProvParam() с флагом PP_USE_HARDWARE_RNG.
Ядро FreeBSD: 7/8/9 или выше
Ядро Linux: ядро 2.4.x/2.6.x/3.0.х/3.2.х или выше
Ядро Solaris: 10/11 или выше.
Ядро Windows 2000 или выше: Необходимо Windows 2000 SP4 или старше.
Ядро ОС: Перед получением случайных чисел требуется инициализировать ДСЧ контекста криптопровайдера hProv с помощью параметра PP_RANDOM функции CPCSetProvParam().
CPCSetProvParam() ,CPGenRandom в MS CSP ,CryptGenRandom в MS CryptoAPI 2.0