从PKCS12密钥库发出PKCS11令牌

时间:2012-07-16 09:16:35

标签: java security pkcs#11

我在向硬令牌发放证书时遇到问题,我所拥有的是我创建的PKCS12密钥库,并希望将其作为PKCS11移动到硬盘中。

我可以成功生成密钥和证书并将它们保存在p12密钥库中,并可以使用此设备的管理控制台将p12文件导入到hardtoken。 但是当我尝试以编程方式完成最后一步时,我会得到不同的结果。

使用管理工具导入的p12文件我在设备中的内容是
- 序号
   - 签名和密钥交换使用
      证书
      私钥
      公钥

以编程方式导入所有步骤
- 序号
   - 签名和加密
      证书
      私钥

最终结果是最终用户无法使用该设备进行签名。 我正在使用SunPKCS11。

编辑:用于导入密钥的代码:

KeyStore.PrivateKeyEntry priEntry = 
    new KeyStore.PrivateKeyEntry(keys.getPrivate(), certificateArray); 
KeyStore.PasswordProtection password = 
    new KeyStore.PasswordProtection(pass.toCharArray()); 
store.setEntry("Entry", priEntry, password);

编辑2 keytool -list

有趣的是,当我使用以下命令时,输出是完全相同的 keytool -keystore NONE -storetype pkcs11 -list

0 个答案:

没有答案