2016-02-08 5 views
0

pkcs11-tool не может импортировать закрытый ключ RSA, даже если он правильно разобран openssl. Она терпит неудачу с:pkcs11-tool не распознает ключ RSA

error: OpenSSL error during RSA private key parsing 
Aborting. 

Ключ уже в формате DSA, и я пытаюсь импортировать его с помощью:

pkcs11-tool --module ... -y privkey --slot ... -w some/path.der -l --id ... 

ответ

0

Закрытый ключ RSA может быть закодирован в DER двумя способами. Либо он имеет заголовок, определяющий, что это за ключ, либо может быть просто списком полей (как определено в последовательности PKCS # 1 RSAPrivateKey). Команда openssl сама обрабатывает обе формы прозрачно в большинстве случаев, но d2i_RSAPrivateKey нет. Он ожидает, что последовательность RSAPrivateKey будет доступна напрямую.

Необходимый файл может быть сгенерирован из файла формата DER или PEM. Это делается с помощью openssl rsa -in ... -outform DER -out ...

Обернутые формат выглядит в openssl asn1parse выход:

0:d=0 hl=4 l=2370 cons: SEQUENCE   
4:d=1 hl=2 l= 1 prim: INTEGER   :00 
7:d=1 hl=2 l= 13 cons: SEQUENCE   
9:d=2 hl=2 l= 9 prim: OBJECT   :rsaEncryption 
20:d=2 hl=2 l= 0 prim: NULL    
22:d=1 hl=4 l=2348 prim: OCTET STRING  [HEX DUMP]..... 

развернутая один выглядит следующим образом:

0:d=0 hl=4 l=2344 cons: SEQUENCE   
    4:d=1 hl=2 l= 1 prim: INTEGER   :00 
    7:d=1 hl=4 l= 513 prim: INTEGER   :... 
524:d=1 hl=2 l= 3 prim: INTEGER   :010001 
529:d=1 hl=4 l= 513 prim: INTEGER   :...