Как зашифровать файл при помощи pkcs11-tool ?
Добрый день!
Я пытаюсь разобраться как шифровать файлы при помощи Вашего токена (Рутокен ЭЦП 3.0 322) и утилиты pkcs-tool.
Я вижу, что в утилите есть команда --encrypt. Пытаюсь её использовать и получаю вот такой результат
c:\_projects\!FiscalRegistrators\token-library\keys>
c:\_projects\!FiscalRegistrators\token-library\keys>pkcs11-tool --encrypt --login --input-file "C:\_projects\!FiscalRegistrators\token-library/keys/a" --output-file "C:\_projects\!FiscalRegistrators\token-library/keys/a.encrypt" --verbose --pin 12345678 --label cpu --id 03 --module "C:\_projects\!FiscalRegistrators\token-library/lib/rutoken/rtpkcs11ecp.dll" --slot 0
Using slot with ID 0x0
error: Secret key not found
Aborting.
ключ с label=cpu и id=03 у меня загружен в токен:
c:\_projects\!FiscalRegistrators\token-library\keys>pkcs11-tool --list-objects --login --verbose --pin 12345678 --module "C:\_projects\!FiscalRegistrators\token-library/lib/rutoken/rtpkcs11ecp.dll" --slot 0
Using slot with ID 0x0
Private Key Object; EC
label: armi-001
ID: 01
Usage: sign
Access: sensitive
Private Key Object; EC
label: armi-root
ID: 02
Usage: sign
Access: sensitive
Public Key Object; EC EC_POINT 256 bits
EC_POINT: 044104ea80b86590249f072e0e2c20df923f2a33f72c82a1a07e597ee80835b8c5f32fa08f24c2bf114b642d71f0cc704cb411d90ab648a42571da6441d92388b06cd7
EC_PARAMS: 06082a8648ce3d030107 (OID 1.2.840.10045.3.1.7)
label: armi-001
ID: 01
Usage: verify
Access: none
Public Key Object; EC EC_POINT 256 bits
EC_POINT: 044104ffe41d568cb079efe814ec8665e98b14b4536c33c6fa80511a0d5472712a5879493828c7c0b18a457a822bf874b7443bca44baf98b4a87da0d40628d411f9514
EC_PARAMS: 06082a8648ce3d030107 (OID 1.2.840.10045.3.1.7)
label: armi-root
ID: 01
Usage: verify
Access: none
Certificate Object; type = X.509 cert
label: armi-001
subject: DN: C=RU, ST=Moscow, L=Moscow, O=AQSI, CN=AQSI_001
serial: 0CC8163D5E0F27CE1C28B95E43888ECDADBF44E3
ID: 01
Certificate Object; type = X.509 cert
label: armi-root
subject: DN: C=RU, ST=Moscow, L=Moscow, O=AQSI, CN=AQSI_FR_ROOT
serial: 3AF9A62EFF92B212F04F517AB0F946DD16CC5524
ID: 02
Private Key Object; RSA
label: cpu
ID: 01
Usage: decrypt, sign
Access: sensitive
Public Key Object; RSA 2048 bits
label: cpu
ID: 01
Usage: encrypt, verify
Access: none
Т.е. по идее - ключ есть. Метод encrypt - поддерживается для этого ключа (см вывод --list-objects). Не понятно почему он пишет про секретный ключ "Secret key not found" и что не хватает в команде