<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>41568</bug_id>
          
          <creation_ts>2021-12-14 12:36:37 +0300</creation_ts>
          <short_desc>Не работает инициализация и установка пинкода Рутокена ЭЦП 2.0</short_desc>
          <delta_ts>2023-09-26 13:48:02 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>librtpkcs11ecp</component>
          <version>unstable</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>NOTABUG</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Evgeny Shesteperov">alimektor</reporter>
          <assigned_to name="Andrey Cherepanov">cas</assigned_to>
          <cc>bk</cc>
    
    <cc>cas</cc>
    
    <cc>klark</cc>
    
    <cc>sotor</cc>
    
    <cc>zurabishvilinn</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>206052</commentid>
    <comment_count>0</comment_count>
    <who name="Evgeny Shesteperov">alimektor</who>
    <bug_when>2021-12-14 12:36:37 +0300</bug_when>
    <thetext>Версия
======

Текущая в 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).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>207611</commentid>
    <comment_count>1</comment_count>
    <who name="Sergey Novikov">sotor</who>
    <bug_when>2022-02-09 13:41:06 +0300</bug_when>
    <thetext>Так же не работает инициализация пинкода
$ 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.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>230995</commentid>
    <comment_count>2</comment_count>
    <who name="Nikolai Zurabishvili">zurabishvilinn</who>
    <bug_when>2023-08-07 16:35:15 +0300</bug_when>
    <thetext>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 &lt;no label&gt;
  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 &quot;Rutoken lite&quot;  --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 &quot;Rutoken lite &lt;no label&gt;&quot;.
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)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>233877</commentid>
    <comment_count>3</comment_count>
    <who name="Белаш Константин">bk</who>
    <bug_when>2023-09-26 12:51:26 +0300</bug_when>
    <thetext>Для форматирования с использованием 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.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>