| ||||
| ||||
Здравствуйте, разработчики CRYPTO PRO. Мы приобрели у вас версию Крипто-Про CSP 3.0. У нас возникли следующие проблемы: 1. При вводе трижды неправильного пароля а затем правильного пароля, следующий раз при постановке ЭЦП пароль почему-то не опрашивается (экран в левом верхнем углу не появляется), а документ подписывается. Наша последовательность вызова API-функций ( DELPHI ) для простановки ЭЦП: CryptAcquireContext(@hProv, cont, nil, 75, 0) alg := CALG_GR3411; CryptCreateHash(hProv, alg, 0, 0, @hash) CryptHashData(hash, @buf, buf_len, 0) CryptSignHash(hash, AT_SIGNATURE, nil, 0, nil, @size) // определение длины CryptSignHash(hash, AT_SIGNATURE, nil, 0, signature, @size) CryptDestroyHash(hash) CryptReleaseContext(hProv, 0) Подскажите, пожалуйста, что неверно. 2. Есть ли возможность заблокировать "флажок" Сохранить пароль? | ||||
Ответы: | ||||
| ||||
Пароль может не спрашиваться в случаях: 1) при вводе пароля установили флажок "Сохранить пароль" 2) используется CSP 3.0 KC2 и включено кеширование ключей 3) не закрыт контекст контейнера Соответственно, пароль не потребуется до: 1) Очистки запомненных паролей 2) Перезапуска службы или загрузки в кеш достаточного числа других ключей 3) закрытия контекста контейнера Запретить возможность запоминания пароля можно, например, если запретить пользователю права на запись в HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Settings\USERS\<Sid пользователя>\KeyDevices\passwords\<имя считывателя> где <имя считывателя> - REGISTRY, FAT12 и т.д. | ||||
| ||||
Здравствуйте. Возникают следующие вопросы: 1. Какой API-функцией можно очистить запомненные пароли ? 2. Разве CryptReleaseContext(hProv,0) не закрывает контекст контейнера ? | ||||
| ||||
1) Для каждого контнейнера: CryptSetProvParam(...PP_KEYEXCHANGE_PIN...) с NULL. Или почистить в реестре. по поводу 2 - закрывает, конечно. Я просто описывал общий случай. | ||||