我使用keytool命令生成密钥库,同时生成密钥库我已经为密钥库提供了密码命令
keytool -genkey -alias mydomain -keyalg RSA -keystore keystore.jks -keysize 2048
现在访问密钥库使用JAVA API,我不必提供密码来列出keytool条目,我可以看到证书和别名是什么,而不向密钥库提供任何密码
KeyStore store = = KeyStore.getInstance("JKS");
store.load(new ByteArrayInputStream(bOut.toByteArray()), null);
Enumeration en = store.aliases();
while (en.hasMoreElements())
{
String alias = (String)en.nextElement();
System.out.println("found " + alias + ", isCertificate? " + store.isCertificateEntry(alias));
}
使用keytool访问密钥库时,提示密码为excptect
bash # keytool -list -v -keystore keystore.jks
Enter keystore password:
密码是否仅适用于keytool?这是我的困惑
答案 0 :(得分:2)
更新密钥库时,您只需要需要密码,或者通过API访问私钥。例如,javax.net.ssl.keyStorePassword是必需的,但javax.net.ssl.trustStorePassword是可选的。