我怎麼知道如果我從罐子裏使用Bouncy Castle或在Android中使用Bouncy Castle? 我已從https://www.bouncycastle.org/latest_releases.html下載並將jar添加到我的Android Studio項目中。 如何檢查我是否使用它(我下載的那個)?我如何知道從罐子裏使用Bouncy Castle還是在Android中使用Bouncy Castle?
回答
對於至少在過去的幾個版本的Android已經通過重命名他們使用com.android的BouncyCastle的類固定的命名空間衝突。**。我不確定這是什麼時候發生的,但是查看源代碼存儲庫https://android.googlesource.com/platform/external/bouncycastle/+refs表明發生了變化,從冰淇淋三明治開始 - API級別14.
我不確定他們做了什麼,基於服務器的查詢,例如Cipher.getInstance("AES/GCM/PKCS5PADDING", "BC")
。但是,JCE中的每個getInstance()
方法也有一個可以明確指定Provider類的版本,例如Cipher.getInstance("AES/GCM/PKCS5PADDING", new org.bouncycastle.jce.provider.BouncyCastleProvider())
,消除了任何歧義。
SpongyCastle是BouncyCastle for Android的官方重新包裝。你應該使用這個包https://rtyley.github.io/spongycastle/
爲什麼?
不幸的是,Android平臺附帶了Bouncy Castle的精簡版本 - 以及被削弱,由於類加載器的衝突,它還使安裝更新版本的庫變得困難。
海綿城堡股票有幾個小的變化充氣城堡庫,使其在Android上工作:
所有程序包名稱已經從org.bouncycastle移動*到org.spongycastle *。
,以避免衝突的類加載器的Java安全API提供商名稱現在是SC,而不是BC
無類名稱變化,所以BouncyCastleProvider類仍然有彈性,不海綿,而是移動到t他org.spongycastle.jce.provider包。
最近的Android版本已將Android使用的bouncycastle類重命名爲com.android.org.bouncycastle。*之類的東西,所以這不再是一個問題,至少對於這些版本來說。 –
@JamesKPolk你能告訴我最近怎麼樣? –
@JamesKPolk查看來源,至少API 17使用您提到的「重構」版本。我相信你的評論也可能是一個答案。 –
- 1. iText 2.1.7需要Bouncy Castle 1.38,我可以使用Bouncy Castle 1.47嗎?
- 2. 使用Bouncy Castle閱讀PEM RSA公鑰僅使用Bouncy Castle
- 3. 如何在Bouncy Castle,Java中使用V2Form?
- 4. 在android上使用bulit-in bouncy castle library
- 5. SecurityException和Bouncy Castle
- 6. bouncy castle DefaultSignatureAlgorithmIdentifierFinder NoSuchFieldError:gostR3410_94
- 7. Android SDK r22 Bouncy Castle失敗
- 8. Java Bouncy Castle OCSP Url
- 9. Bouncy Castle作爲提供者v/s Bouncy Castle API
- 10. 使用Mono或Bouncy Castle c#實現TLS
- 11. 使用Bouncy Castle的PSK的HTTPS
- 12. 爲Bouncy Castle C#使用多個鍵API
- 13. C#RSA使用公鑰解密 - Bouncy Castle
- 14. Bouncy Castle使用哪個版本的OpenSSL?
- 15. 使用Bouncy Castle的GOST 3411算法
- 16. 使用Bouncy Castle Java生成X509證書
- 17. 使用Bouncy Castle的C#RSA解密
- 18. Bouncy Castle API文檔在哪裏?
- 19. Bouncy Castle C中的PBKDF2#
- 20. Bouncy Castle加密API可用於Android嗎?
- 21. 如何在JBoss中集成'Bouncy Castle'4
- 22. 用Bouncy Castle在Java中複製'openssl smime'?
- 23. 如何使用Bouncy Castle從CMS中刪除簽名?
- 24. 在android上讀取證書由bouncy castle
- 25. Bouncy Castle Diffie-Hellman DHParams問題
- 26. C#Bouncy Castle解碼私鑰
- 27. Bouncy Castle的TLS-SRP支持
- 28. Bouncy Castle PBEWITHSHA256AND256BITAES加密C#
- 29. 如何在AES和PBE中使用Bouncy Castle輕量級API
- 30. 如何在C中使用Bouncy Castle簽署公共PGP密鑰#
你可以嘗試使用SpongyCastle而不是 – EpicPandaForce
@EpicPandaForce因爲是...請填寫。 –