1

我已经使用 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 ?这是我的困惑

4

1 回答 1

2

更新密钥库或通过 API 访问私钥时,您只需要密码。例如,javax.net.ssl.keyStorePassword 是必需的,但 javax.net.ssl.trustStorePassword 是可选的。

于 2014-03-20T06:05:38.923 回答