Статус: Активный участник
Группы: Участники
Зарегистрирован: 12.10.2009(UTC) Сообщений: 42
Сказал(а) «Спасибо»: 4 раз Поблагодарили: 6 раз в 6 постах
|
По мотивам этой темыИмеем контекст CSP, открытый с флагом CRYPT_SILENT. Неправильный пароль ставим через CryptSetProvParam(PP_KEYEXCHANGE_PIN) Пятая версия теперь при вызове сразу генерирует код ошибки, что пароль неправильный (SCARD_W_WRONG_CHV). И это хорошо. Однако последующий вызов функции, требующей пинкода, например, CryptSignHash, теперь отваливается с кодом ошибки NTE_SILENT_CONTEXT, а не с кодом, что неправильный пароль, как в версиях 4 и ранее. Подскажите, это - запланированное поведение или "временно получилось" ? Отредактировано пользователем 27 февраля 2020 г. 17:18:30(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 12.08.2013(UTC) Сообщений: 834 Откуда: Москва Сказал «Спасибо»: 5 раз Поблагодарили: 215 раз в 174 постах
|
Автор: KDA По мотивам этой темыИмеем контекст CSP, открытый с флагом CRYPT_SILENT. Неправильный пароль ставим через CryptSetProvParam(PP_KEYEXCHANGE_PIN) Пятая версия теперь при вызове сразу генерирует код ошибки, что пароль неправильный (SCARD_W_WRONG_CHV). И это хорошо. Однако последующий вызов функции, требующей пинкода, например, CryptSignHash, теперь отваливается с кодом ошибки NTE_SILENT_CONTEXT, а не с кодом, что неправильный пароль, как в версиях 4 и ранее. Подскажите, это - запланированное поведение или "временно получилось" ? Добрый день. Именно это является правильным поведением. - Если на CryptSetProvParam передали неправильный ПИН, он верифицируется и сразу отбрасывается. - Если при выполнении какой-то операции требуется ПИН, а его не было - выбрасывается окно с запросом. Если окно (любое окно) выкинуть нельзя, возвращается ошибка NTE_SILENT_CONTEXT. |
|
2 пользователей поблагодарили Grey за этот пост.
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 12.10.2009(UTC) Сообщений: 42
Сказал(а) «Спасибо»: 4 раз Поблагодарили: 6 раз в 6 постах
|
Прошу прощения, но пин был, хоть и неправильный. Если его не задавать, то предыдущие версии CSP тоже возвращали NTE_SILENT_CONTEXT. Смысл в том, что теперь неправильный пароль нельзя запомнить, безусловно есть. Но, получается, теперь задним числом нельзя понять, что контексту пытались скормить неправильный пароль, а не что-то еще.
Что будет в случае, скажем, "открыли контекст на контейнер со смарткарты, потом ее вынули, поменяли пароль, вставили обратно"? Есть какой-то гарантированный вариант ошибок для всех типов данных устройств? Всегда ли теперь будет NTE_SILENT_CONTEXT?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 12.08.2013(UTC) Сообщений: 834 Откуда: Москва Сказал «Спасибо»: 5 раз Поблагодарили: 215 раз в 174 постах
|
Автор: KDA Прошу прощения, но пин был, хоть и неправильный. Если его не задавать, то предыдущие версии CSP тоже возвращали NTE_SILENT_CONTEXT. Смысл в том, что теперь неправильный пароль нельзя запомнить, безусловно есть. Но, получается, теперь задним числом нельзя понять, что контексту пытались скормить неправильный пароль, а не что-то еще. А зачем это "задним числом" понимать? Предъявили плохой ПИН - сразу получили ошибку. Автор: KDA Что будет в случае, скажем, "открыли контекст на контейнер со смарткарты, потом ее вынули, поменяли пароль, вставили обратно"? Есть какой-то гарантированный вариант ошибок для всех типов данных устройств? Всегда ли теперь будет NTE_SILENT_CONTEXT? Общий сценарий выполнения операций с ключами (чтение ключей с пассивных носителей или подпись на ФКН) примерно такой: 1) Пробуем выполнить операцию на карте. Получилось (например, уже была проаутентифицирована) - ничего не спрашиваем. 2) Не получилось - ищем запомненный пароль в кэшах и реестре. 2.1) Нашли - предъявляем. Если карте он не понравился, то забываем его (удаляем из кэшей/реестра), и просим пароль в окне. 2.2.) Не нашли в кэшах - просим пароль в окне. 3) Если при попытке показа окна понимаем, что мы в SILENT, то возвращаем NTE_SILENT_CONTEXT. |
|
2 пользователей поблагодарили Grey за этот пост.
|
KDA оставлено 27.02.2020(UTC), Андрей * оставлено 27.02.2020(UTC)
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 12.10.2009(UTC) Сообщений: 42
Сказал(а) «Спасибо»: 4 раз Поблагодарили: 6 раз в 6 постах
|
Спасибо, теперь все понятно.
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close