[英]SHA2RSA encryption with BouncyCastle
我一直在嘗試使用BouncyCastle的JCE提供程序加密某些數據。 我正在嘗試使用“ SHA256withRSA”,並且正在獲取“ noSuchAlgorithmException”。 難道我做錯了什么? 有人可以幫忙嗎? 謝謝
我特別在嘗試
Signature.getInstance("SHA256withRSA", new BouncyCastleProvider());
如此處所述-http: //www.bouncycastle.org/wiki/display/JA1/X.509+Public+Key+Certificate+and+Certification+Request+Generation
嘗試以下方法:
Signature.getInstance("SHA256withRSA", "BC");
在我看到的大多數示例中,第二個參數都有一個字符串與提供程序本身進行傳遞。
getInstance方法似乎支持傳入一個提供程序,但也許只是這樣做
new BouncyCastleProvier()
不能正確構造它,導致缺少算法。 我懷疑通過傳遞“ BC”字符串,它將使用JCA / JCE中已經構造的提供程序。
參考: http : //docs.oracle.com/javase/6/docs/technotes/guides/security/crypto/CryptoSpec.html#ProviderImplReq
也許這是選擇提供商的問題。
我看到標准的SunJSSE Provider支持SHA1withRSA,但不支持SHA256withRSA。
在代碼中的某處有類似以下內容:
sigGen = new JcaContentSignerBuilder("SHA1withRSA").setProvider("BC").build(privKey);
首先添加提供商
java.security.Security.addProvider(new BouncyCastleProvider());
接着
Signature.getInstance("SHA256withRSA", "BC");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.