1

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

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

使用管理工具导入的 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

4

0 回答 0