Java AES密钥存储

Java AES密钥存储,java,exception,cryptography,aes,keystore,Java,Exception,Cryptography,Aes,Keystore,大家好,我在将AES密钥存储到密钥库时遇到问题 这是我的代码: public Key getKey(String alias) { try { FileInputStream fStream = new FileInputStream(path); keyStore.load(fStream, this.password.toCharArray()); Key key = keyStore.getKey(alias, null);

大家好,我在将AES密钥存储到密钥库时遇到问题

这是我的代码:

public Key getKey(String alias) {
    try {
        FileInputStream fStream = new FileInputStream(path);
        keyStore.load(fStream, this.password.toCharArray());
        Key key = keyStore.getKey(alias, null);
        fStream.close();

        return key;
    } catch (Exception e) {
        e.printStackTrace();
    }

    return null;
}

public void storeKey(Key key, String alias) {
    try {
        keyStore.setKeyEntry(alias, key.getEncoded(), null);
        OutputStream writeStream = new FileOutputStream(path);
        keyStore.store(writeStream, this.password.toCharArray());
        writeStream.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
}
所以storeKey可以正常工作,但当我调用getKey()时,会出现以下异常:

java.security.UnrecoverableKeyException: Get Key failed: AES SecretKeyFactory not available
at sun.security.pkcs12.PKCS12KeyStore.engineGetKey(Unknown Source)
at java.security.KeyStore.getKey(Unknown Source)
at sm130075.vl130298.crypto.KeyStoreManager.getKey(KeyStoreManager.java:51)
at sm130075.vl130298.crypto.AES.<init>(AES.java:36)
at sm130075.vl130298.crypto.AES.main(AES.java:84)
java.security.UnrecoverableKeyException:获取密钥失败:AES SecretKeyFactory不可用
位于sun.security.pkcs12.PKCS12KeyStore.engineGetKey(未知源)
位于java.security.KeyStore.getKey(未知源)
位于sm130075.vl130298.crypto.keystemanager.getKey(keystemanager.java:51)
atsm130075.vl130298.crypto.AES.(AES.java:36)
位于sm130075.vl130298.crypto.AES.main(AES.java:84)
编辑:
所以我发现问题很可能是SecretFactory不知道为AES生成密钥。有人知道我该如何解决这个问题吗?

您能添加有关运行时的信息吗,主要是您的Java品牌和版本吗?对不起,我不知道您所说的品牌是什么意思。版本是8更新77FWIW:几个月后在8u102和8u111中修复,请参阅能否添加有关运行时的信息,主要是您的Java品牌和版本?我不知道您所说的品牌是什么意思,抱歉。版本为8更新77FWIW:几个月后在8u102和8u111中修复,请参阅