Для извлечения сертификата незаконно требуется PIN-код

Добрый день. Мы разрабатываем ПО, использующее связку КриптоПро + Rutoken. Столкнулись со следующей проблемой: для некоторых моделей Rutoken извлечение сертификата из контейнера ключа почему-то требует ввод PIN-кода. Секретный ключ нам не нужен, а сертификат - открытая часть и извлекаться должен свободно.

Выяснилось, что к требованию пин-кода приводит вызов метода CryptGetUserKey. В то же время MSDN чётко говорит о неправомерности такого поведения:

A common mistake in CSPs is to require the PIN during CryptGetUserKey. CryptGetUserKey should succeed without the PIN. However, some operations (such as writing to the smart card and private key operations) using the handle will require the PIN later on and some won't (CryptGetKeyParam with KP_CERTIFICATE).

http://msdn.microsoft.com/en-us/library/ms953432.aspx

Отказ от ввода пин-кода завершает функцию неудачей. Но самое неприятное для нас то, что наше ПО извлекает сертификаты в автоматическом режиме молча, работая с криптопровайдером под флагом CRYPT_SILENT. В "тихом" режиме метод CryptGetUserKey сразу завершается ошибкой.

Повторяется не для всех рутокенов, пример конкретной модели с проблемой: 16k200Z 0757749568, но он далеко не единственный. Драйвера Рутокен 2.86.00.0460, КриптоПро 3.6 R2

Прошу подсказать, что можно предпринять, чтобы извлечь сертификат без ввода пин-кода.

Re: Для извлечения сертификата незаконно требуется PIN-код

Все делается на одной машине с одной версией КриптоПро на одних драйверах - меняются только токены?
Сертификаты выписаны на этой же машине с тем же набором по?

Re: Для извлечения сертификата незаконно требуется PIN-код

Проблема стреляет у наших клиентов. Версию КриптоПро мы им поставляем одинаковую, драйвера РуТокена последние с оф. сайта - тоже одинаковые. А вот машины могут быть разные и ключи по бизнес-процессу могли генерироваться на другой машине... постараюсь уточнить какие именно.

Что любопытно - для данных токенов даже простая попытка просмотеть список контейнеров через панель управления КриптоПро приводит к требованию пин-кода.

Re: Для извлечения сертификата незаконно требуется PIN-код

Мы пробовали воспроизвести ситуацию на указанных версиях продуктов - пока не удалось.

Желательно получить более подробную информацию о конкретной машине на которой это воспроизводится (железо, ОС, установленный софт, используются ли другие токены и т.д.).

Re: Для извлечения сертификата незаконно требуется PIN-код

Я заснял воспроизведение проблемы на видео. Там видно, как рутокен требует пин-код для простого просмотра сертификата через панель КриптоПро. Также видны все параметры системы и драйверов. До кучи прикрепил дамп "Сведения о системе". Всё это можно взять здесь:
http://depositfiles.com/files/gqxjj63co

Re: Для извлечения сертификата незаконно требуется PIN-код

К сожалению воспроизвести ситуацию не удается.

Мы смотрим на чистой машине - возможно дело в каком-то установленном у Вас программном обеспечении.

Если взять этот Рутокен и подключить к компьютеру, где установлены только драйвера рутокен и КриптоПро указанных версий будет ли запрос PIN-кода при просмотре сертификата в контейнере.

Re: Для извлечения сертификата незаконно требуется PIN-код

Эх, в том-то и беда, что у нас в лабораторных условиях тоже не повторяется... проблему ловят только конечные клиенты, а от них мы требовать взять какой-то там чистый компьютер и экспериментировать не можем. Попробую узнать, нет ли какого околокриптографического ПО у них: клиент-банки или наподобие.

Кстати, ключевой контейнер генерировался на той же машине, где повторяется проблема.

Re: Для извлечения сертификата незаконно требуется PIN-код

Насколько часто повторяется проблема у клиентов?

Re: Для извлечения сертификата незаконно требуется PIN-код

На данный момент у двух клиентов замечено, у обоих рутокены из одной и той же партии, пример модели я писал выше: 16k200Z 0757749568

Re: Для извлечения сертификата незаконно требуется PIN-код

То есть проблема не носит массового характера.

Skeptiker пишет:

Попробую узнать, нет ли какого околокриптографического ПО у них: клиент-банки или наподобие.

Ждем дополнительной информации

Re: Для извлечения сертификата незаконно требуется PIN-код

У клиента когда-то стоял Сигнал-КОМ, обнаружены следы: папка на диске и пара веток в реестре. Однако они пусты и мешать никак не могут. Более ничего подозрительного не обнаружено. Всё-таки нельзя ли обратить внимание именно на означенную партию рутокенов? Подозрение именно в её сторону.

Re: Для извлечения сертификата незаконно требуется PIN-код

По номеру партии мы постараемся найти такой же Рутокен и протестировать.

На всякий случай нужны его подробные данные (Панель управления Рутокен - кнопка "Информация")

Проверили подобный Рутокен другой партии на системе где были установлены одновременно СигналКом, КриптоПро CSP и КриптоПро Рутокен CSP - запрос PIN-кода не появляется

Re: Для извлечения сертификата незаконно требуется PIN-код

Повторили тестирование на токенах из той партии (стандартные операции с открытым ключом через КриптоПро) - PIN-код не запрашивается.

Вы писали:
"наше ПО извлекает сертификаты в автоматическом режиме молча"

Можем ли мы попробовать его с этими токенами?