pkcs11-tool падает в модуле librtpkcs11ecp.so

# rpm -qf /usr/bin/pkcs11-tool

opensc-0.19.0-4.el7_9.x86_64

# pkcs11-tool --module=/usr/lib64/librtpkcs11ecp.so --test --login --pin 12345678

Using slot 0 with a present token (0x0)
C_SeedRandom() and C_GenerateRandom():
  seeding (C_SeedRandom) not supported
  ERR: C_GenerateRandom(buf1,0) failed: CKR_ARGUMENTS_BAD (0x7)
Digests:
  all 4 digest functions seem to work
  MD5: OK
  SHA-1: OK
Signatures (currently only for RSA)
  testing key 0 () 
  all 4 signature functions seem to work
  testing signature mechanisms:
    RSA-X-509: OK
    RSA-PKCS: OK
    SHA1-RSA-PKCS: OK
    MD5-RSA-PKCS: OK
    SHA256-RSA-PKCS: OK
Verify (currently only for RSA)
  testing key 0 ()
    RSA-X-509: OK
    RSA-PKCS: OK
    SHA1-RSA-PKCS: OK
    MD5-RSA-PKCS: OK
Key unwrap (currently only for RSA)
  testing key 0 () 
  ERR: C_UnwrapKey failed: CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT (0xf2)
  ERR: C_UnwrapKey failed: CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT (0xf2)
  ERR: C_UnwrapKey failed: CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT (0xf2)
  ERR: C_UnwrapKey failed: CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT (0xf2)
    DES-CBC:     DES-EDE3-CBC:     BF-CBC:     CAST5-CFB: Decryption (currently only for RSA)
  testing key 0 () 
Ошибка сегментирования

gdb показывает это

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff6d02b48 in __memmove_ssse3_back () from /lib64/libc.so.6
(gdb) bt
#0  0x00007ffff6d02b48 in __memmove_ssse3_back () from /lib64/libc.so.6
#1  0x00007ffff68b91bf in ?? () from /usr/lib64/librtpkcs11ecp.so
#2  0x00007ffff68b99ed in ?? () from /usr/lib64/librtpkcs11ecp.so
#3  0x00007ffff68640ef in C_DecryptInit () from /usr/lib64/librtpkcs11ecp.so
#4  0x000000000040ebfb in encrypt_decrypt ()
#5  0x0000000000410b0a in p11_test ()
#6  0x00000000004056a2 in main ()

Re: pkcs11-tool падает в модуле librtpkcs11ecp.so

andrek, добрый день!

Укажите, пожалуйста, версию библиотеки librtpkcs11ecp.so.

(2022-09-19 03:46:02 отредактировано andrek)

Re: pkcs11-tool падает в модуле librtpkcs11ecp.so

версия librtpkcs11ecp-2.3.3.0-1.x86_64

дополнительно вопрос по утилите pkcs возник, пытаюсь в скриптах расшифровать pkcs7 в pem или der формате, получаю ошибку:

pkcs11-tool --module=/usr/lib64/librtpkcs11ecp.so --decrypt  --input-file crypto.der --id 45 -p 12345678

выдает

Using slot 0 with a present token (0x0)
Using decrypt algorithm RSA-PKCS
error: PKCS11 function C_Decrypt failed: rv = CKR_ENCRYPTED_DATA_LEN_RANGE (0x41)
Aborting.

Re: pkcs11-tool падает в модуле librtpkcs11ecp.so

andrek, добрый день!

Команда --decrypt ожидает на входа "сырые данные" на указанном ключе. Поскольку механизм не указывается, то берётся "стандартный" механизм расшифрования на RSA ключах - CKM_RSA_PKCS. Этот механизм принимает на вход зашифрованные тем же образом данные в размере k, где k - длина в байтах модуля используемого RSA ключа. Подробнее с ним можно ознакомиться в PKCS#11 current mechanisms 2.1.6 PKCS #1 v1.5 RSA

Для расшифрования PKCS7, сформированных на RSA-ключах, возможно использовать OpenSSL, и engine-pkcs11 (из состава OpenSC).

Re: pkcs11-tool падает в модуле librtpkcs11ecp.so

Павел Анфимов пишет:

andrek, добрый день!

Команда --decrypt ожидает на входа "сырые данные" на указанном ключе. Поскольку механизм не указывается, то берётся "стандартный" механизм расшифрования на RSA ключах - CKM_RSA_PKCS. Этот механизм принимает на вход зашифрованные тем же образом данные в размере k, где k - длина в байтах модуля используемого RSA ключа. Подробнее с ним можно ознакомиться в PKCS#11 current mechanisms 2.1.6 PKCS #1 v1.5 RSA

Для расшифрования PKCS7, сформированных на RSA-ключах, возможно использовать OpenSSL, и engine-pkcs11 (из состава OpenSC).

спасибо за информацию, более менее все стало понятно!