我在向硬令牌发放证书时遇到问题,我所拥有的是我创建的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