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

Уведомление

Icon
Error

2 Страницы<12
Опции
К последнему сообщению К первому непрочитанному
Offline rav1610  
#11 Оставлено : 25 августа 2015 г. 11:47:00(UTC)
rav1610

Статус: Новичок

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

Сказал(а) «Спасибо»: 4 раз
Действительно, запрещен экспорт ключа, добавил проверку флага CRYPT_EXPORT_KEY и исключил экспорт как средство проверки пароля...

if ((dwParam & CRYPT_EXPORT_KEY) == CRYPT_EXPORT_KEY) {
if (!CryptExportKey(hCryptKey, 0, PRIVATEKEYBLOB, 0, NULL, &dwBlobLen)) {...}
}

В общем, все заработало в итоге, при передаче корректных паролей (в моем примере для 3-х контейнеров) сформировалось итоговое signed CMS с тремя подписями.

Спасибо большое, за помощь!

PS: Получается, менее "радикальных" средств (чем подписание или экспорт ключа) проверки корректности пароля нет?


Offline Русев Андрей  
#12 Оставлено : 25 августа 2015 г. 12:12:58(UTC)
Русев Андрей

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

Группы: Администраторы, Участники
Зарегистрирован: 16.04.2008(UTC)
Сообщений: 1,429

Сказал(а) «Спасибо»: 37 раз
Поблагодарили: 573 раз в 399 постах
Для ускорения работы провайдера часть операций в нём отложены (например, GetUserKey() почти ничего не делает), поэтому проверка PIN-а произойдёт, когда будут непосредственные действия с ключом/контейнером:

  • экспорт закрытого ключа - не всегда разрешён
  • импорт открытого ключа на закрытый (протокол DH) - может быть запрещён для AT_SIGNATURE-ключей (на картах УЭК и ФКН-токенах в CSP/ФКН 3.9 и более древних)
  • подпись
  • запись сертификата - SetKeyParam(KP_CERTIFICATE)
  • запись расширений - SetProvParam(PP_CONTAINER_EXTENSION)
  • смена PIN-а
  • создание долговременного ключа
  • при вызове GetProvParam(PP_HCRYPTPROV) - это то, что вам нужно

Кроме того, ФКН-токены и наш самый новый CSP (который ещё недоступен) проверяют PIN сразу на SetProvParam(PP_KEYEXCHANGE_PIN) и этот вызов будет возвращать ошибку.
Официальная техподдержка. Официальная база знаний.
thanks 2 пользователей поблагодарили Русев Андрей за этот пост.
rav1610 оставлено 25.08.2015(UTC), vladplus оставлено 15.08.2016(UTC)
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
2 Страницы<12
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.