Рутокен ЭЦП 2.0 - нестабильно видит закрытый ключ RSA
Здравствуйте!
На руках токен Рутокен ЭЦП 2.0 с серийным номером 393375b5.
Подготовка и работа осуществляется в Ubuntu 16.04.4 следующим образом:
1. отформатирован с помощью pkcs15-init, изменены pin и so-pin
2. импортированы созданные в OpenSSL ключевая пара RSA 2048 + самоподписанный сертификат, а также data object (~3Кб) с флагом --private
3. импорт осуществляется в pkcs11-tool с использованием крайней версии библиотеки librtpkcs11ecp.so
В конечном изделии токен используется для расшифровки данных (используется OpenSSL)
В процессе работы обратил внимание на то, что на данном конкретном токене команда:
pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --slot 0 -l --pin XXXXXXXXX -O
в 40% случаев выводит весь перечень объектов, хранящихся на токене, т.е.:
Private Key Object; RSA
label: Rutoken1
ID: 01
Usage: decrypt, sign
Public Key Object; RSA 2048 bits
label: Rutoken1
ID: 01
Usage: encrypt, verify
Data object 3239597909
label: 'Rutoken1'
application: ''
app_id: <empty>
flags: modifiable private
Certificate Object, type = X.509 cert
label: Rutoken1
ID: 01
в 60% случаев выводит все, кроме Private Key Object, т.е.:
Public Key Object; RSA 2048 bits
label: Rutoken1
ID: 01
Usage: encrypt, verify
Data object 20316785
label: 'Rutoken1'
application: ''
app_id: <empty>
flags: modifiable private
Certificate Object, type = X.509 cert
label: Rutoken1
ID: 01
Соответственно при попытке работы с ним через API OpenSSL возникают разнообразные ошибки:
1. Либо неуспешно выполняется функция PKCS11_find_key(), не находит ключ по сертификату
2. Либо расшифровка выполняется с ошибкой:
139925623768760:error:80008001:PKCS11 library:PKCS11_rsa_decrypt:Cancel:p11_ops.c:234:
139925623768760:error:06065064:digital envelope routines:func(101):reason(100):evp_enc.c:529:
При этом, отработка осуществлялась идентично на партии ~30 токенов, с другими подобных проблем не наблюдалось (!).
Доп.информация:
pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --slot 0 -T
Slot 0 (0x0): Aktiv Rutoken ECP 00 00
token label : Rutoken ECP <no label>
token manufacturer : Aktiv Co.
token model : Rutoken ECP
token flags : rng, login required, PIN initialized, token initialized
hardware version : 20.5
firmware version : 23.2
serial num : 393375b5
Заранее спасибо за оперативный ответ!