加载密钥库文件时无效的密钥库格式异常

时间:2012-02-17 00:09:45

标签: java

我正在使用以下代码尝试加载密钥库文件,并且我收到了java.io.IOException:无效的密钥库格式异常。有关如何解决此问题或导致问题的原因的任何想法?

加载密钥库文件:

final FileInputStream keyFile = new FileInputStream(filePath
                    + "key.p7b");
            final KeyStore keyStore = KeyStore.getInstance("JKS");
            String storepass = "pwd";
            keyStore.load(keyFile, storepass.toCharArray());

例外:

java.io.IOException: Invalid keystore format
    at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:633)
    at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:38)
    at java.security.KeyStore.load(KeyStore.java:1185)

2 个答案:

答案 0 :(得分:1)

根据要求,我的评论作为答案:

p7b是证书文件,而不是密钥库文件。你必须先转换它。显然OpenSSL可以提供帮助。

答案 1 :(得分:0)

当我尝试用葡萄牙语创建一个带有Sun / Oracle JDK的密钥库文件时,我遇到了类似问题... JDK(或我的Windows PT-BR,我还不知道)的葡萄牙语版本有这个bug ...我需要在英文操作系统中创建密钥库文件。