1

我正在使用 bouncycastle 为 XML 签名生成分离签名。对于密钥初始化,我使用以下代码:

Security.addProvider(new BouncyCastleProvider());

    KeyStore ks = KeyStore.getInstance(KEYSTORE_INSTANCE);
    ks.load(new FileInputStream(KEYSTORE_FILE), KEYSTORE_PWD.toCharArray());
    Key key = ks.getKey(CERT_ALIAS, KEYSTORE_PWD.toCharArray());

我有带证书的 JKS 密钥库。但如果我这样做:

Key key = ks.getKey(CERT_ALIAS, KEYSTORE_PWD.toCharArray());

密钥始终为空,我有InvalidKeyException 我的错误在哪里?我是加密新手

4

1 回答 1

0

由于声誉太低,我无法发表评论。所以我会回答/编辑。

上面的示例工作正常,错误可能在使用的常量之一中。它们是什么,你得到的确切错误是什么?

我的意思是:java.security.InvalidKeyException:非法密钥大小

这是我在从文件加载 KeyStore 时尝试的工作示例:“secret1”是存储密码,“secret2”是密钥密码,“myKey”是密钥别名。

    KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
    keyStore.load(new FileInputStream(keyStoreFile.getAbsolutePath()), "secret1".toCharArray());
    Key key = keyStore.getKey("myKey", "secret2".toCharArray());
于 2015-06-11T13:31:36.630 回答