-1
我正在使用加密來加密我的數據。 我正在使用java 1.8.0_131和RSA/ECB/PKCS1Padding
算法版本2.無法使用java加密我的數據JCE
在我的本地環境中,我能夠加密並找到提供程序。 在我的測試環境中使用相同的Java版本我得到以下異常:
No installed provider supports this key: (null)
我們使用字節數組加密 ,關鍵是不爲空
我們所做的事情:
public static byte[] encrypt(PublicKey publicKey, String algorithm, int keyVersion, byte[] clearData) throws EncryptionException {
try {
Cipher cipher = Cipher.getInstance(algorithm);
cipher.init(Cipher.ENCRYPT_MODE, publicKey);
return addHeader(keyVersion, cipher.doFinal(clearData));
} catch (Throwable t) {
logger.error("Failed to encrypt data", t);
throw new EncryptionException("Failed to encrypt data", t);
}
}
爲什麼在我的測試環境中找不到提供程序?
謝謝
請顯示您的代碼。看起來像你輸入的密鑰是'null' – Jens
可能重複[InvalidKeyException java.security.InvalidKeyException:沒有安裝的提供程序支持此項:(空)](https://stackoverflow.com/questions/26517944/invalidkeyexception-java- security-invalidkeyexception-no-installed-provider-sup) –
嘿謝謝。如果你的意思是算法的關鍵,那麼沒有它肯定不是空,我們有一個日誌,否則指示 – Alexsh