Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline sedovav  
#1 Оставлено : 17 сентября 2013 г. 10:38:26(UTC)
sedovav

Статус: Участник

Группы: Участники
Зарегистрирован: 31.07.2012(UTC)
Сообщений: 23
Мужчина
Российская Федерация
Откуда: Москва

Сказал «Спасибо»: 5 раз
Здравствуйте!
Собственно сабж. Контейнер в реестре хранится. По-умолчанию дается 3 попытки, хотелось бы больше. Можно ли это как-то сделать через настройки? Ну или программно (.net)? Ситуация еще несколько усугубляется тем фактом, что перед подписью нескольких документов мы мы получаем крипто-контекст и устанавливаем в качестве пина пустую строку, чтобы появилось окошко с запросом:
Код:

// пытаемся получить хендл к ключевому контейнеру с приватным ключем сертификата
if (CryptAcquireContext(ref hProv,
                        info.KeyContainerName,
                        info.ProviderName,
                        PROV_GOST_2001_DH,
                        dwFlags))
{
    // PIN - это пароль на контейнер с закрытым ключем. Устанавливаем его в пустую
    // строку, чтобы КриптоПро сам запросил его у пользователя перед первым использованием
    IntPtr pbData = Marshal.StringToHGlobalAnsi("");
    CryptSetProvParam(hProv, PP_KEYEXCHANGE_PIN, pbData, 0);
}

В итоге имеем вот такое окошко
окошко
Итого остается всего две попытки, а так же неприятная надпись "Invalid password". В идеале хотелось бы выводить обойтись без этой пустой строки + увеличить кол-во попыток на ввод пин-кода. Поможете?
Online Андрей Писарев  
#2 Оставлено : 17 сентября 2013 г. 10:47:17(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,515
Мужчина
Российская Федерация

Сказал «Спасибо»: 554 раз
Поблагодарили: 2252 раз в 1757 постах
А не проще запретить сохранение пароля к контейнеру?
Тогда и в коде ничего не нужно придумывать, будет всегда окно, без "Invalid password" и 3 попытки.

И что будет, если пользователь введет, сохранит пароль, а потом создается еще одна подпись - опять "окно"? Пользователь поймет логику?
Техническую поддержку оказываем тут
Наша база знаний
Offline sedovav  
#3 Оставлено : 17 сентября 2013 г. 12:20:41(UTC)
sedovav

Статус: Участник

Группы: Участники
Зарегистрирован: 31.07.2012(UTC)
Сообщений: 23
Мужчина
Российская Федерация
Откуда: Москва

Сказал «Спасибо»: 5 раз
Да, вызов CryptSetProvParam(hProv, PP_KEYEXCHANGE_PIN, pbData, 0) не нужен, вы правы. И без него все работает. Вопрос, однако, остается - можно ли как-то увеличить кол-во попыток ввода пина с трех да, скажем, десяти?
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.