06.09.2005 19:46:04Странное поведение CryptAcuireContext Ответов: 2
SeregaEvg
Вопрос по CryptoPro 2.0 build 2082.

При проверке подписи, а именно при CryptAcquireContext(@hcp, nil, PROV_NAME, PROV_TYPE, 0)
PROV_NAME = "Crypto-Pro GOST R 34.10-94 Cryptographic Service Provider"
PROV_TYPE = 0x00000047
для чего-то запрашивается ключевой носитель на имя пользователя компьютера (Insert carrier media for Administrator). Если нажать "отмена" - то контекст не получается.

Для чего? И как бы так сделать, чтобы этого не случалось (такого сертификата просто нет)?

В билде 2048 ничего подобного нет, данное обращение проходит нормально.


P.S. А нельзя ли на сайте сделать окно ввода вопроса пошире и подлиннее? Во весь экран по ширине хотя бы? Жутко неудобно набивать длинные строки.

Спасибо.
 
Ответы:
07.09.2005 10:53:33SeregaEvg
Проблема немного прояснилась: второй параметр (имя контейнера) пустой, и CryptoPro предполагает, что тогда нужно подставить вместо него имя пользователя.

Тем не менее нужно получить контекст криптопровайдера для CryptCreateHash. Можно ли это сделать, если на компьютере нет никаких контейнеров, только сертификаты и с помощью какой функции?
07.09.2005 11:40:25Глеб
вызовите CryptAcquireContext с флагом CRYPT_VERIFYCONTEXT.