2015-06-10 25 views
1

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

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 哪里是我的错?我新加密

回答

0

我不能评论,因为信誉太低。所以我会回答/编辑。

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

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

这里是同时加载从文件密钥库我尝试了工作示例: “secret1”是存储密码,“secret2”被密钥密码和'myKey'是密钥别名。

KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType()); 
    keyStore.load(new FileInputStream(keyStoreFile.getAbsolutePath()), "secret1".toCharArray()); 
    Key key = keyStore.getKey("myKey", "secret2".toCharArray());