Bug 55425

Summary: Копирование контейнера из токена заканчивается ошибкой "Операция отменена пользователем"
Product: Sisyphus Reporter: Dmitry Maksimenkov <maksimenkovda>
Component: token-managerAssignee: Andrey Cherepanov <cas>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: antohami, cas, goriner, varaksaaa
Version: unstable   
Hardware: x86_64   
OS: Linux   

Description Dmitry Maksimenkov 2025-07-30 16:58:34 MSK
Версия:
token-manager-5.2.3-alt1

Системы:
ALT Workstation 11.0, обновлено до Sisyphus
ALT Workstation K 11.0, обновлено до Sisyphus
ALT Education 11.0 (KDE), обновлено до Sisyphus
ALT Education 11.0 (Xfce), обновлено до Sisyphus

Шаги воспроизведения:
# Установить КриптоПРО, активировать лицензию
# Инициализировать считыватель HDIMAGE
    # cpconfig -hardware reader -add 'HDIMAGE' -name 'hdimage'
# Подключить токен (например Рутокен ЭКП 2.0 2000) и создать контейнер:
    $ csptest -keyset -provtype 80 -newkeyset -cont test_token_container
        1. Выбрать носитель для токена.
        2. Выполнить действия мышью.
        3. Задать пароль PIN для токена.
# Создать запрос на получение сертификата по ALT Linux Wiki
    $ cryptcp -creatrqst \
-dn "CN=Иванов Иван Иванович,SN=Иванов,G=Иван Иванович,E=ivanov@mail.mail,C=RU,L=Калининград,ST=39 Калининградская обл.,street=Пр-т Победы 14 кв.3,SNILS=102301111222,INN=11223344556" \
-provtype 80 -nokeygen  \
-cont '\\.\<Token name>\test_token_container'  \
-certusage "1.3.6.1.5.5.7.3.4,1.3.6.1.5.5.7.3.2" test2012.req
# Получить сертификат в УЦ (тестовый удостоверяющий центр КриптоПро) и загрузить цепочку сертификатов по ALT Linux Wiki
# Запустить token-manager
# Выбрать ключевой носитель и контейнер test_token_container -> Установить -> Для всех -> Выбрать файл сертификата
# Контейнеры -> Скопировать контейнер из токена -> Выбрать токен и задать имя -> Выбрать HDIMAGE -> Выбрать сертификат пользователя

Реальный результат: При выборе сертификата пользователя заканчивается информативным диалогом "Операция отменена пользователем", контейнер не скопировался.

Ожидаемый результат: Корректное копирование контейнера из токена
Comment 1 Dmitry Maksimenkov 2025-07-30 17:26:36 MSK
Дополнительно проверил создание контейнера с опцией -exportable, ошибка также воспроизводится
Comment 2 Dmitry Maksimenkov 2025-07-30 17:44:03 MSK
Также проверил копирование контейнера в cptools - Инструменты КриптоПро, контейнер корректно копируется. Версия КриптоПро CSP 5.0.12000
Comment 3 Artem Varaksa 2025-11-20 18:57:32 MSK
Актуально для token-manager-5.3-alt1 с КриптоПро CSP 5.0.13000_R3_Titan.

В терминале:

> Aktiv Rutoken ECP 00 00
> CopyPrivateKey!ExportKey(PRIVATEKEYBLOB, NULL) (:343)
> ../../../../CSPbuild/CSP/samples/csptest/keycopy.c:326:CopyPrivateKey(AT_SIGNATURE)
> Error 0x8009000b: Ключ не может быть использован в указанном состоянии.
Comment 4 Горин Егор Романович 2025-12-22 18:19:24 MSK
Воспроизвелось на версии:
token-manager-5.3-alt2 c КриптоПро CSP 5.0.13000

Вывод в консоли:
>CopyPrivateKey!ExportKey(PRIVATEKEYBLOB, NULL) (:343)
>../../../../CSPbuild/CSP/samples/csptest/keycopy.c:317:CopyPrivateKey(AT_KEYEXCHANGE)
>Error 0x8009000b: Ключ не может быть использован в указанном состоянии.