簡體   English   中英

使用BouncyCastle進行SHA2RSA加密

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM