Описание тега spongycastle
None Переупаковка криптографических библиотек Java Bouncy Castle, ориентированная специально на Android
К сожалению, платформа Android поставляется с урезанной версией Bouncy Castle - помимо того, что она повреждена, она также затрудняет установку обновленной версии библиотек из-за конфликтов загрузчика классов.
Spongy Castle - это стандартные библиотеки Bouncy Castle с парой небольших изменений, чтобы они работали на Android:
- все имена пакетов были перемещены из
org.bouncycastle.*
кorg.spongycastle.*
- чтобы избежать конфликтов загрузчика классов, Java Security - Имя поставщика API теперь SC, а не BC, имена классов не меняются, поэтому
- в
BouncyCastleProvider
класс остается Bouncy, а не Spongy, но перемещается вorg.spongycastle.jce.provider
пакет.
В общем, Spongy Castle должен быть заменой Bouncy Castle, но есть пара болевых точек:
- ProGuard часто может удалять важные классы из библиотек Spongy Castle (внутренне Bouncy Castle использует много загрузок классов по имени, что означает, что ProGuard будет чрезмерно агрессивно удалять свои классы). Конфигурацию ProGuard необходимо настроить, чтобы сохранить соответствующие классы для любых криптоалгоритмов, которые вам нужны.
- Не все классы из Oracle Java присутствуют в Android - например, отсутствующие классы AWT блокируют использование S/MIME API.