pkcs11-tool для тестов на извлекаемость ключей с Рутокен ЭЦП 2.0
Имеем:
$ pkcs11-tool --module /usr/lib64/pkcs11/librtpkcs11ecp.so -l -O
...
Public Key Object; unknown key algorithm 3560050691
label:
ID: 746f6b656e36
Usage: verify
Private Key Object; unknown key algorithm 3560050691
label:
ID: 746f6b656e36
Usage: sign, derive
Certificate Object; type = X.509 cert
label: Rutoken Plugin
subject: DN: CN=\xD0\x9E\xD0\x9E\xD0\x9E "\xD0\xA0\xD0\xBE\xD0\xBC\xD0\xB0\xD1\x88\xD0\xBA\xD0\xB0", C=RU, ST=\xD0\xB3. \xD0\x9C\xD0\xBE\xD1\x81\xD0\xBA\xD0\xB2\xD0\xB0, L=\xD0\xB3. \xD0\x9C\xD0\xBE\xD1\x81\xD0\xBA\xD0\xB2\xD0\xB0
ID: 746f6b656e36
...
Сертификат читается и показывается командой
$ pkcs11-tool --module /usr/lib64/pkcs11/librtpkcs11ecp.so -r -y cert --id 746f6b656e36 | openssl x509 -inform der -text -nameopt utf8
Читаем открытый ключ
$ pkcs11-tool --module /usr/lib64/pkcs11/librtpkcs11ecp.so -r -y pubkey --id 746f6b656e36
Using slot 0 with a present token (0x0)
error: Reading public keys of type 0xD4321003 not (yet) supported
Aborting.
По крайней мере программа готова его прочитать, да не поддерживает именно этот тип.
Есть у меня на токене ключ RSA. Он читается (как вывести в читаемом формате не нашел, иначе бы показал).
Закрытый ключ, якобы отсутствует:
$ pkcs11-tool --module /usr/lib64/pkcs11/librtpkcs11ecp.so -r -y privkey --id 746f6b656e36
Using slot 0 with a present token (0x0)
error: object not found
Aborting.
В листинге объектов закрытый ключ есть. Но он не читается. Это и есть неизвлекаемый закрытый ключ? Или просто не так читать пытаюсь?