使用密码在Java中打开Keystore文件

时间:2013-11-11 17:06:56

标签: java security keystore

我正在尝试打开一个受密码保护的密钥库文件,我将它放在jre安全目录中。我使用Bouncy Castel作为我的JCE。出于某种原因,我似乎得到了例外,我不知道为什么。请帮忙。谢谢。这就是我所拥有的:

代码段:

        String passwd = "abcd123";
        try {
            String file = "C:\\Program Files\\Java\\jre7\\lib\\security\\keystore.ssm";
            System.out.println("file =" + file);
            File keystoreFile = new File(file);
            if (keystoreFile.exists()) {
                KeyStore store = KeyStore.getInstance("PKCS12", "BC"); 
                //KeyStore store = KeyStore.getInstance("PKCS12");
                FileInputStream in = new FileInputStream(keystoreFile);
                store.load(in, passwd.toCharArray());
                // Key key = store.getKey("mykeystore",passwd.toCharArray());
            }

        } catch (KeyStoreException ex) {
            Logger.getLogger(SimpleBCTest.class.getName()).log(Level.SEVERE, null, ex);
        } catch (NoSuchProviderException ex) {
         Logger.getLogger(SimpleBCTest.class.getName()).log(Level.SEVERE, null, ex);
         }  catch (NoSuchAlgorithmException ex) {
            Logger.getLogger(SimpleBCTest.class.getName()).log(Level.SEVERE, null, ex);
        } /*catch (UnrecoverableKeyException ex) {
         Logger.getLogger(SimpleBCTest.class.getName()).log(Level.SEVERE, null, ex);
         } */ catch (IOException ex) {
            Logger.getLogger(SimpleBCTest.class.getName()).log(Level.SEVERE, null, ex);
        } catch (CertificateException ex) {
            Logger.getLogger(SimpleBCTest.class.getName()).log(Level.SEVERE, null, ex);
        }

我得到例外:

线程“main”中的异常java.lang.ClassCastException:org.bouncycastle.asn1.DLSequence无法强制转换为org.bouncycastle.asn1.ASN1Integer

0 个答案:

没有答案
相关问题