logo
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Евгений Пономаренко  
#1 Оставлено : 15 августа 2019 г. 9:02:32(UTC)
Евгений Пономаренко

Статус: Активный участник

Группы: Участники
Зарегистрирован: 03.05.2012(UTC)
Сообщений: 163
Откуда: Екатеринбург

Сказал(а) «Спасибо»: 45 раз
Поблагодарили: 23 раз в 19 постах
для версий 3.6, 3.9, 4.0 работала такая конструкция-
после CryptAcquireContext(&hProv, container, provider_string, provider_id, CRYPT_NEWKEYSET)
вызов CryptSetProvParam(hProv, PP_KEYSET_SEC_DESCR, 0, 0) выводил окно запроса пароля на создаваемый контейнер до фактического создания ключевой пары.
в 5.0 этот вызов возвращает ERROR_INVALID_PARAMETER
возможен ли такой функционал в 5.0?

нашел предыдущую тему об этом, вот-
https://www.cryptopro.ru....aspx?g=posts&t=9016

Отредактировано пользователем 15 августа 2019 г. 9:22:27(UTC)  | Причина: Не указана

Online Агафьин Сергей  
#2 Оставлено : 15 августа 2019 г. 17:39:50(UTC)
Агафьин Сергей

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

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

Сказал «Спасибо»: 1 раз
Поблагодарили: 71 раз в 66 постах
Автор: Евгений Пономаренко Перейти к цитате
для версий 3.6, 3.9, 4.0 работала такая конструкция-
после CryptAcquireContext(&hProv, container, provider_string, provider_id, CRYPT_NEWKEYSET)
вызов CryptSetProvParam(hProv, PP_KEYSET_SEC_DESCR, 0, 0) выводил окно запроса пароля на создаваемый контейнер до фактического создания ключевой пары.
в 5.0 этот вызов возвращает ERROR_INVALID_PARAMETER
возможен ли такой функционал в 5.0?

нашел предыдущую тему об этом, вот-
https://www.cryptopro.ru....aspx?g=posts&t=9016


Интересный способ.
Если цель только в том, чтобы заставить CSP провести аутентификацию, правильный путь: CryptGetProvParam(PP_HCRYPTPROV). Поддерживается в 3.6/3.9/4.0/5.0.
С уважением,
Сергей Агафьин,
Начальник отдела разработки ФКН.
Техническую поддержку оказываем здесь.
Наша база знаний.
Online Агафьин Сергей  
#3 Оставлено : 15 августа 2019 г. 18:40:44(UTC)
Агафьин Сергей

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

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

Сказал «Спасибо»: 1 раз
Поблагодарили: 71 раз в 66 постах
Можно ещё CryptSetProvParam(PP_SET_PIN), указав в передаваемой структуре в качестве типа пароля CRYPT_PIN_QUERY: https://cpdn.cryptopro.r...__p_i_n___p_a_r_a_m.html
С уважением,
Сергей Агафьин,
Начальник отдела разработки ФКН.
Техническую поддержку оказываем здесь.
Наша база знаний.
thanks 1 пользователь поблагодарил Агафьин Сергей за этот пост.
Евгений Пономаренко оставлено 16.08.2019(UTC)
Offline Евгений Пономаренко  
#4 Оставлено : 16 августа 2019 г. 7:12:56(UTC)
Евгений Пономаренко

Статус: Активный участник

Группы: Участники
Зарегистрирован: 03.05.2012(UTC)
Сообщений: 163
Откуда: Екатеринбург

Сказал(а) «Спасибо»: 45 раз
Поблагодарили: 23 раз в 19 постах
Автор: Агафьин Сергей Перейти к цитате
Можно ещё CryptSetProvParam(PP_SET_PIN), указав в передаваемой структуре в качестве типа пароля CRYPT_PIN_QUERY: https://cpdn.cryptopro.r...__p_i_n___p_a_r_a_m.html


Первый способ не работает,
Код:

DWORD container_id=0;
DWORD container_len=sizeof(DWORD);
if(!CryptGetProvParam(hProv,PP_HCRYPTPROV,(LPBYTE)&container_id,&container_len,0))
{
 dwError=GetLastError();
 isValid=false;
}

делает то, что нужно. Спасибо.
Чтобы два раза не вставать, вопрос-
у CSP, начиная с некоторой версии, для токенов (как минимум rutoken) с PIN пользователя по умолчанию, он не запрашивается.
как можно программно отключить это поведение, чтобы PIN на токен запрашивался всегда, вне зависимости от того, какой он?
Online Агафьин Сергей  
#5 Оставлено : 16 августа 2019 г. 12:31:27(UTC)
Агафьин Сергей

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

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

Сказал «Спасибо»: 1 раз
Поблагодарили: 71 раз в 66 постах
Автор: Евгений Пономаренко Перейти к цитате

Первый способ не работает

Это странно. Вроде как, он был придуман ровно для вашего вопроса.

Автор: Евгений Пономаренко Перейти к цитате

Чтобы два раза не вставать, вопрос-
у CSP, начиная с некоторой версии, для токенов (как минимум rutoken) с PIN пользователя по умолчанию, он не запрашивается.
как можно программно отключить это поведение, чтобы PIN на токен запрашивался всегда, вне зависимости от того, какой он?

Боюсь, что нет. Провайдер действует по логике "не запрашивай ПИН, если он не нужен". Если токену пароль не нужен, мы не будем раздражать пользователя бессмысленными окнами.

Могу предложить альтернативу. Функция "дефолтный ли у тебя ПИН?" реализована только в Рутокен-ах. Вы можете отформатировать их через Панель управления Рутокен так, чтобы дефолтного пароля не было в принципе: Настройки - Политика качества PIN-кодов - Снять галочку "Разрешить использование PIN-кода по умолчанию".
С уважением,
Сергей Агафьин,
Начальник отдела разработки ФКН.
Техническую поддержку оказываем здесь.
Наша база знаний.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.