Как я знаю, использую ли я Bouncy Castle из jar или тот, который был реализован в Android? Я загрузил с https://www.bouncycastle.org/latest_releases.html и добавил jar в мой проект Android Studio. Как я могу проверить, использую ли я его (тот, который я загрузил)?Как я знаю, использую ли я Bouncy Castle из jar или тот, который реализован в Android?
ответ
По крайней мере, последние несколько версий Android закрепил имена конфликта путем переименования классов BouncyCastle они используют для com.android. **. Я не совсем уверен, когда это произошло, но, глядя на репозиторий исходного кода на https://android.googlesource.com/platform/external/bouncycastle/+refs, предлагается внести изменения, начиная с Ice Cream Sandwich - API уровня 14.
Я не уверен, что они сделали, основанные на поставщиках, например Cipher.getInstance("AES/GCM/PKCS5PADDING", "BC")
. Однако каждый метод getInstance()
в JCE также имеет версию, в которой вы можете явно указать класс Provider, например. Cipher.getInstance("AES/GCM/PKCS5PADDING", new org.bouncycastle.jce.provider.BouncyCastleProvider())
, который устраняет любую двусмысленность.
SpongyCastle является официальной репакцией BouncyCastle для Android. Вы должны использовать этот пакет https://rtyley.github.io/spongycastle/
Почему?
Платформа Android, к сожалению, поставляется с вырезанной версией Bouncy Castle, а также с искалеченными возможностями, а также затрудняет установку обновленной версии библиотек из-за конфликтов классов.
губчатые Замок акции Надувной замок библиотеки с парой небольших изменений, чтобы заставить его работать на Android:.
все имена пакетов были перемещены из org.bouncycastle * в org.spongycastle *.
, чтобы избежать конфликтов загрузчик классов имя API поставщика Java Security теперь не SC, а не до н.э.
нет имен классов меняются, поэтому класс BouncyCastleProvider остается Bouncy, а не рыхлым, но движется к т пакет org.spongycastle.jce.provider.
Последние версии Android переименовали классы bouncycastle, которые Android использует для чего-то вроде com.android.org.bouncycastle. *, Так что это уже не проблема, по крайней мере для этих версий. –
@JamesKPolk вы можете рассказать, как недавно? –
@JamesKPolk Глядя на источники, по крайней мере, API 17 использует упомянутую вами «реорганизованную» версию. Я считаю, что ваш комментарий тоже может быть ответом. –
- 1. Я не знаю, использую ли я && или ||
- 2. Библиотека JAR с Bouncy Castle
- 3. Могу ли я использовать Bouncy Castle Keystore.UBER на Android?
- 4. Java/Android Bouncy castle ClassNotFoundException
- 5. Bouncy Castle as provider v/s Bouncy Castle API
- 6. Прочтите сертификат в android by bouncy castle
- 7. PBKDF2 в Bouncy Castle C#
- 8. Bouncy Castle ECIES совместим?
- 9. Android SDK r22 Bouncy Castle Fail
- 10. Bouncy Castle PGP Decryption Issue
- 11. Java Bouncy Castle OCSP Url
- 12. ECDH с Bouncy Castle
- 13. Bouncy Castle Encryption
- 14. Xamarin.Android binding Spongy Castle/Bouncy Castle
- 15. bouncy castle DefaultSignatureAlgorithmIdentifierFinder NoSuchFieldError: gostR3410_94
- 16. Legion of Bouncy Castle
- 17. Bouncy Castle PKCS7 padding
- 18. Какая версия OpenSSL использует Bouncy Castle?
- 19. Подписывание апплета с плагином Maven jar и Bouncy Castle
- 20. Bouncy Castle TLS API-интерфейс
- 21. Ошибка Bouncy Castle In Itext
- 22. ECDHE Безопасность с Bouncy Castle
- 23. Производительность Bouncy Castle в Java
- 24. Является ли Bouncy Castle API Thread надежным?
- 25. Где я могу найти исходный код Bouncy Castle
- 26. Как интегрировать «Bouncy Castle» в JBoss 4
- 27. Название эмулятора, который я использую?
- 28. AES decryption with bouncy castle
- 29. Как использовать V2Form в Bouncy Castle, Java?
- 30. реализация bouncy castle aes 256
Вы можете попробовать использовать SpongyCastle вместо – EpicPandaForce
@EpicPandaForce Потому что ... заполните пожалуйста. –