Форум КриптоПро
»
Устаревшие продукты
»
КриптоПро CSP 3.0
»
Как получить верное значение GetLastError() при вызове CryptAcquireContext с флагом NULL
Статус: Новичок
Группы: Участники
Зарегистрирован: 11.08.2009(UTC) Сообщений: 2
|
Проблема вот в чем: при вызове CryptAcquireContext с флагом NULL должно происходить открытие ключевого контейнера с заданным именем, если функция не выполняется то можно установить ошибку посмотрев GetLastError(). Но при использовании Крипто Про (у меня KC1 3.0.3300.3) после вызова CryptAcquireContext с флагом NULL сразу выскакивает пользовательский интерфейс, и следовательно, если ключевого контейнера не существует, то GetLastError() всё время будет типа Прекращено пользователем.
Вопрос: Допустим необходимо создать контейнер когда GetLastError() == NTE_KEYSET_NOT_DEF при вызове CryptAcquireContext с флагом NULL, как это сделать?
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 16.04.2008(UTC) Сообщений: 1,506
Сказал(а) «Спасибо»: 42 раз Поблагодарили: 612 раз в 423 постах
|
Можно указать флаг CRYPT_SILENT, тогда диалог не появится. При этом имя контейнера должно однозначно указывать на контейнер. Этого можно добиться двумя способами: 1. ранее на этом компьютере к этому контейнеру уже обращались, в результате был создан ярлык (внутренний объект провайдера для быстрого поиска контейнеров), тогда можно указывать короткое имя контейнера. 2. использовать развёрнутую форму указания контейнера, например FQCN-имя. |
|
|
|
|
Форум КриптоПро
»
Устаревшие продукты
»
КриптоПро CSP 3.0
»
Как получить верное значение GetLastError() при вызове CryptAcquireContext с флагом NULL
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close