2016-02-08 72 views
0

pkcs11-tool无法导入RSA私钥,即使它被openssl正确解析。和pkcs11-工具无法识别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   :...