pkcs11-tool无法识别RSA密钥

时间:2016-02-08 10:32:11

标签: private-key pkcs#11

pkcs11-tool无法导入RSA私钥,即使它已被openssl正确解析。它失败了:

error: OpenSSL error during RSA private key parsing
Aborting.

密钥已经采用DSA格式,我尝试使用以下方法导入密钥:

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

1 个答案:

答案 0 :(得分: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           :...