2015-06-10 16 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());