Bug 41568 - Не работает инициализация и установка пинкода Рутокена ЭЦП 2.0
Summary: Не работает инициализация и установка пинкода Рутокена ЭЦП 2.0
Status: CLOSED NOTABUG
Alias: None
Product: Sisyphus
Classification: Development
Component: librtpkcs11ecp (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Andrey Cherepanov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-12-14 12:36 MSK by Evgeny Shesteperov
Modified: 2023-09-26 13:48 MSK (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Evgeny Shesteperov 2021-12-14 12:36:37 MSK
Версия
======

Текущая в Sisyphus: librtpkcs11ecp-2.3.0.0-alt1
Обнаружено, начиная с librtpkcs11ecp-2.1.2.0-alt1

Шаги воспроизведения
====================

Согласно инструкции на вики: https://www.altlinux.org/Rutoken#Инициализация_токена_2:

1. Подключил Рутокен ЭЦП 2.0
2. Проверил видимость Рутокена в системе:

	$ pkcs11-tool -L --module /usr/lib64/pkcs11/librtpkcs11ecp.so
	Available slots:
	Slot 0 (0x0): Aktiv Rutoken ECP 00 00
	  token label        : Rutoken
	  token manufacturer : Aktiv Co.
	  token model        : Rutoken ECP
	  token flags        : login required, rng, SO PIN to be changed, token initialized, PIN initialized, user PIN to be changed
	  hardware version   : 20.5
	  firmware version   : 23.2
	  serial num         : XXXXXXXX
	  pin min/max        : 6/32

3. Пробую инициализировать Рутокен:

	$ pkcs11-tool --init-token --label RuTokenECP --module /usr/lib64/pkcs11/librtpkcs11ecp.so
	Using slot 0 with a present token (0x0)
	Please enter the new SO PIN: 
	Please enter the new SO PIN (again):

Ожидаемый результат: Token successfully initialized

Фактический результат: ошибка

error: PKCS11 function C_InitToken failed: rv = unknown PKCS11 error (0x200)
Aborting.

Примечание: форматирование через rtadmin проходит успешно ($ rtadmin -f -z /usr/lib64/pkcs11/librtpkcs11ecp.so).
Comment 1 Sergey Novikov 2022-02-09 13:41:06 MSK
Так же не работает инициализация пинкода
$ pkcs11-tool --slot 0 --init-pin --so-pin XXXXXXXX --login --pin XXXXXXXX --module /usr/lib64/pkcs11/librtpkcs11ecp.so
error: PKCS11 function C_InitPIN failed: rv = unknown PKCS11 error (0x200)
Aborting.
Comment 2 Nikolai Zurabishvili 2023-08-07 16:35:15 MSK
p10

librtpkcs11ecp-2.7.1.0-alt1

Аналогично не работает для Рутокен Lite

$ pkcs11-tool -L --module /usr/lib64/pkcs11/librtpkcs11ecp.so
Available slots:
Slot 0 (0x0): Aktiv Rutoken lite 00 00
  token label        : Rutoken lite <no label>
  token manufacturer : Aktiv Co.
  token model        : Rutoken lite
  token flags        : login required, rng, SO PIN to be changed, token initialized, PIN initialized
  hardware version   : 54.1
  firmware version   : 9.2
  serial num         : 3d0c4837
  pin min/max        : 6/32

$ pkcs11-tool --init-token --label "Rutoken lite"  --module /usr/lib64/pkcs11/librtpkcs11ecp.so 
Using slot 0 with a present token (0x0)
Please enter the new SO PIN: 
Please enter the new SO PIN (again): 
error: PKCS11 function C_InitToken failed: rv = unknown PKCS11 error (0x200)

Так же не работает инициализация пинкода:
$ pkcs11-tool --init-pin -l  --module /usr/lib64/pkcs11/librtpkcs11ecp.so
Using slot 0 with a present token (0x0)
Logging in to "Rutoken lite <no label>".
WARNING: SO PIN to be changed
Please enter SO PIN: 
Please enter the new PIN: 
Please enter the new PIN again: 
error: PKCS11 function C_InitPIN failed: rv = unknown PKCS11 error (0x200)
Aborting.


Работает смена пинкода:
$ pkcs11-tool --module /usr/lib64/pkcs11/librtpkcs11ecp.so --login --pin XXXXXXX --change-pin --new-pin XXXXXXX 
Using slot 0 with a present token (0x0)
PIN successfully changed

Форматирование через rtadmin проходит успешно ($ rtadmin -f -z /usr/lib64/pkcs11/librtpkcs11ecp.so)
Comment 3 Белаш Константин 2023-09-26 12:51:26 MSK
Для форматирования с использованием pkcs11-tool необходимо, чтобы ПИН-код Пользователя мог менять сам Пользователь и Администратор.

Если это не так, то отформатировать токен сначала необходимо с помощью утилиты rtadmin с доп. флагом -p:
rtadmin -f -p 3 -L RutokenLabel -u 12345678 -a 87654321 -q

Флаг -p 3 указывает на то, что ПИН-код Пользователя может менять Пользователь и Администратор.

После этого инициализация токена и ПИН-кода через pkcs11-tool происходит без ошибок.
Проверено для librtpkcs11ecp-2.7.1.0-alt1.x86_64 и Rutoken Lite на p10.