Проблемы с импортом закрытого RSA ключа на Рутокен ЭЦП

Здравствуйте!

Я пытаюсь импортировать закрытый RSA ключ на Рутокен ЭЦП с помощью утилиты pkcs11-tool. Для этого используется следующая команда:

pkcs11-tool --module /home/user/rtSDK-30-12-2015/Libs/linux/x86_64/librtpkcs11ecp.so -l -y privkey -w ./private.der --id 67 --label Rutoken

Но затем происходит ошибка в функции C_CreateObject:

Using slot 0 with a present token (0x0)
Logging in to "Rutoken".
Please enter User PIN: 
error: PKCS11 function C_CreateObject failed: rv = CKR_TEMPLATE_INCONSISTENT (0xd1)

Aborting.

Закрытый RSA ключ создаю с помощью следующих команд:

user@acs-ppo-14:~$ openssl genrsa -out private.pem 2048
Generating RSA private key, 2048 bit long modulus
............................................................................+++
...................+++
e is 65537 (0x10001)
user@acs-ppo-14:~$ openssl rsa -in private.pem -out private.der -outform DER
writing RSA key
user@acs-ppo-14:~$ dumpasn1 private.der  
   0 1186: SEQUENCE {
   4    1:   INTEGER 0
   7  257:   INTEGER
         :     00 AD 58 B3 6D D8 AC 9E B0 F4 EB 15 45 9A BA 62
         :     36 37 BE AA 20 A2 42 FB 8E FA 8A 3D 8F 12 7A 83
         :     64 6F EB C2 90 33 13 C2 E9 B5 CF 69 B3 DC C4 E4
         :     2E 8A DE 3C BB 2E 34 B5 3B 2E A0 B5 AF 53 A0 EF
         :     2B 6C 5A 8D 6E 71 E0 3E 40 0A 3E 4B 14 DF 12 DE
         :     68 98 C3 15 86 21 44 04 D0 B4 BB BA B1 37 C4 D2
         :     B0 6A B1 AF 9E 83 87 C7 A4 7C F8 49 E3 4E 50 AF
         :     7C BA E4 57 B1 17 20 02 ED A8 FB 07 56 1F 59 19
         :             [ Another 129 bytes skipped ]
 268    3:   INTEGER 65537
 273  256:   INTEGER
         :     08 20 20 49 05 DF 11 91 39 E9 CB 15 78 2B 44 6F
         :     46 2D A9 CB DD CF 45 FB 6D C3 0D 1F A7 BE 16 6A
         :     9E D4 6E 4A 54 1A 99 08 5B 7D 5D 77 10 E2 29 D0
         :     04 B2 66 26 60 04 18 7A AD B4 DA CF 5D 1C 2E 19
         :     DA FA 63 A6 C9 AF B9 3B 47 3F A4 45 56 2F 8C 3D
         :     5A EB CA 16 7F 78 B0 C1 17 B7 B5 08 99 94 A0 4B
         :     A4 B4 AF 86 BE A3 9E B8 17 23 8C 53 1B 58 AC E1
         :     2B E1 88 3A C4 DA BB 48 68 A3 5B B4 AD C3 7F 72
         :             [ Another 128 bytes skipped ]
 533  129:   INTEGER
         :     00 E7 04 0A 04 14 C9 8D 36 F1 1A 48 89 D5 DA 71
         :     74 41 E9 CA 07 92 A5 3F 55 DB C0 F0 4F 13 CC DD
         :     0F 1D EE 73 57 79 7E 82 68 AD C0 4B C3 6B E5 AB
         :     B0 ED 6F 4B C1 C4 27 07 8E ED 3B 41 DD CA 99 07
         :     91 14 39 25 DE 4E F6 8B 88 24 B2 56 42 E6 AE 6A
         :     E8 67 78 8C 3D 64 F8 D4 B0 C0 48 42 C2 09 C6 EE
         :     2D 80 28 D0 2F 84 4A F0 4B A4 DC 2B AB C1 E5 CE
         :     95 A4 83 BA 9A 76 49 25 D5 53 97 14 90 88 31 55
         :     7D
 665  129:   INTEGER
         :     00 C0 18 03 EB D0 31 D9 2D E3 9C 32 07 E1 F6 71
         :     D2 DC 8B D8 CF 96 32 69 FC 6B 20 1F A7 2A E3 7F
         :     E1 5F FF C9 69 DC 76 3C 4B F7 10 EF A9 62 85 4F
         :     C5 6D 76 05 4D 98 D7 96 38 AC 57 F4 BC DF 73 52
         :     82 D8 BA 10 88 1F B6 02 DC 99 10 73 45 C2 F1 F4
         :     2B 75 1A 8D 35 FC F0 C1 B3 9E 0E F7 BF 6C 28 7B
         :     1F F3 40 A7 06 52 CC 9C 1C AE 15 3B 93 B4 C2 D9
         :     1B 0A 59 3A 95 E6 DD DE BE B1 F5 23 AD 76 17 F5
         :     A7
 797  128:   INTEGER
         :     01 36 6C 37 09 44 E5 90 DC 43 1F 0E 5A 29 03 5F
         :     70 D9 21 4E 58 DE B5 2E 66 30 E5 12 05 30 96 18
         :     76 37 C2 33 3B 58 06 A7 36 02 44 63 8A 35 72 69
         :     43 55 CA 38 02 27 92 4A 95 C4 31 DC 50 2B ED 76
         :     3D 7C EF 4D F3 6C 27 DF 57 11 F8 91 F1 54 09 0B
         :     9F 3F 6A BD 07 C2 A6 9B 26 E7 3A 32 7A 8A A8 C5
         :     64 5E D2 78 ED 60 D7 52 0E 53 79 87 35 45 57 88
         :     41 8C CF 75 F0 19 02 31 D4 76 7E 8D 23 A9 DE A1
 928  128:   INTEGER
         :     23 B6 53 44 4B F8 78 7F E7 88 EA 64 3C C6 2C 73
         :     1F 3D 80 99 57 3B 18 29 2D 61 53 81 28 A0 12 EE
         :     3B 82 BA 57 4B FD 4F 48 70 2E 5D E0 07 C8 F1 03
         :     AB 4D FD BE 67 63 ED 31 AC 18 CE 0F 2F 1B A9 83
         :     59 F7 7D 8B 51 19 ED 7E 45 96 A1 57 9E DE 8C 9E
         :     67 AF 00 01 C1 7C A1 06 5B A4 3C BB 01 C8 A4 DB
         :     53 C5 F9 47 5B AD 5E 78 96 84 AC 06 D1 DC 47 B0
         :     97 43 EF 78 5E EB 70 B5 D3 2F D7 EA 2F C2 54 91
1059  128:   INTEGER
         :     06 03 35 FC 34 DB D7 5B B6 0B 14 C3 4C FD 2A 77
         :     09 71 EA 50 54 55 70 79 FB F6 48 77 37 A7 81 65
         :     79 1A F7 A7 35 1F B5 52 A3 17 DD 1C 99 DB 16 23
         :     63 EF F5 9A 34 A7 93 E6 05 EA AC 22 35 AB EC C3
         :     92 B2 E7 1C 9A C8 10 A7 A9 D5 F1 51 F8 1C 4D BE
         :     4A 05 51 AD 9B 83 05 40 BB 05 90 45 E5 CD AE BD
         :     17 CC 47 2F 21 EE C3 07 01 4A C4 91 1B 6B 9E C0
         :     A9 4E D4 DE 93 BE 94 8E 87 96 A6 C7 DA 33 FD 27
         :   }

0 warnings, 0 errors.

Операционная система Ubuntu 14.04. Для работы с токеном были установлены следующие пакеты: libccid pcscd libpcsclite1 opensc libengine-pkcs11-openssl.

При этом открытый ключ импортируется без проблем:

user@acs-ppo-14:~$ openssl rsa -in private.pem -pubout -outform DER -out public.der 
writing RSA key
user@acs-ppo-14:~$ pkcs11-tool --module /home/user/rtSDK-30-12-2015/Libs/linux/x86_64/librtpkcs11ecp.so -l -y pubkey -w public.der --id 68 --label Rutoken
Using slot 0 with a present token (0x0)
Logging in to "Rutoken".
Please enter User PIN: 
Created public key:
Public Key Object; RSA 2048 bits
  label:      Rutoken
  ID:         68
  Usage:      encrypt, verify

Каким образом можно импортировать закрытый RSA ключ на Рутокен ЭЦП? С помощью каких утилит это можно сделать?

Re: Проблемы с импортом закрытого RSA ключа на Рутокен ЭЦП

Спасибо за сообщение, мы посмотрим что там не так.

Re: Проблемы с импортом закрытого RSA ключа на Рутокен ЭЦП

Какие результаты?

Re: Проблемы с импортом закрытого RSA ключа на Рутокен ЭЦП

Проблема была в старой версии утилиты.
Информация об установленном пакете:

user@acs-ppo-14:~$ aptitude show opensc
Пакет: opensc                                    
Состояние: установлен
Автоматически установлен: нет
Версия: 0.13.0-3ubuntu4.1
Приоритет: необязательный
Раздел: universe/utils
Сопровождающий: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Архитектура: amd64
Размер в распакованном виде: 2 677 k
Зависимости: pcscd, libc6 (>= 2.14), libreadline6 (>= 6.0), libssl1.0.0 (>= 1.0.0), zlib1g (>= 1:1.1.4)
Конфликтует: libopensc2 (< 0.12.0), libopensc2 (< 0.12.0), mozilla-opensc, mozilla-opensc, opensc
Заменяет: libopensc2 (< 0.12.0), libopensc2 (< 0.12.0)
Описание: Smart card utilities with support for PKCS#15 compatible cards
 OpenSC provides a set of libraries and utilities to access smart cards.  It mainly focuses on cards that support cryptographic operations. It facilitates their use in security applications such as mail encryption, authentication, and digital
 signature. OpenSC implements the PKCS#11 API. Applications supporting this API, such as Iceweasel and Icedove, can use it. OpenSC implements the PKCS#15 standard and aims to be compatible with all software that does so as well. 
 
 Before purchasing any cards, please read carefully documentation in /usr/share/doc/opensc/html/wiki/index.html - only some cards are supported. Not only does card type matters, but also card version, card OS version and preloaded applet. Only
 a subset of possible operations may be supported for your card. Card initialization may require third party proprietary software.
Сайт: http://www.opensc-project.org/

user@acs-ppo-14:~$ 

Информация о системе:

user@acs-ppo-14:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 14.04.4 LTS
Release:        14.04
Codename:       trusty
user@acs-ppo-14:~$ uname -a
Linux acs-ppo-14 3.13.0-79-generic #123-Ubuntu SMP Fri Feb 19 14:27:58 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

Выкачал opensc из исходников, собрал pkcs11-tool и сделал импорт закрытого RSA ключа. Все заработало. Вопрос решен.

Re: Проблемы с импортом закрытого RSA ключа на Рутокен ЭЦП

Спасибо!