访问密钥库不会要求输入密码

时间:2014-03-20 05:26:06

标签: java keystore jks

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

1 个答案:

答案 0 :(得分:2)

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