从Keystore获取私钥

时间:2008-10-16 15:35:14

标签: java keystore

我有以下代码从密钥库导出证书和密钥,我在Windows中使用keytool创建:

final KeyStore keystore = KeyUtil.loadKeystore("keystore.jks", "pass");  
UserInfo userinfo = new UserInfo(WSusername, WSpassword);  
X509Certificate clientcert = KeyUtil.getCertificate(CLIENT_KEY_ALIAS, keystore);  
X509Certificate servercert = KeyUtil.getCertificate(SERVER_KEY_ALIAS, keystore);  
PrivateKey clientprivate = KeyUtil.getPrivateKey(CLIENT_KEY_ALIAS, CLIENT_KEY_PASSWORD, keystore);  

然而,它在最后一行失败,“无法检索私钥进行签名” 它可以检索clientcert,但是当它尝试clientprivate时,它会失败。

1 个答案:

答案 0 :(得分:1)

我的问题是,当我使用keytool生成密钥库时,它没有将PrivateKey创建为密钥条目。为了解决这个问题,我导入了.p12密钥库作为私钥,这是有效的。我上面的原始代码工作了。