Есть ли уменьшенная версия BouncyCastleProvider на Android?

Я разрабатываю сотовое приложение для Android, для которого требуется использование библиотеки BouncyCastle (bcprov-jdk15-143.jar). Я включил эту банку в свою папку libs и добавил ее в свой путь сборки. К сожалению, он относительно большой (1,6 мегабайта), и Eclipse требуется несколько минут, чтобы упаковать его в байт-код Dalvik. Это очень замедляет разработку, так как каждый раз, когда я хочу протестировать свои изменения, мне нужно дождаться завершения упаковки.

Требование для BouncyCastle исходит из использования протокола google-tv-pairing-protocol от Google. http://code.google.com/p/google-tv-pairing-protocol/

У кого-нибудь есть хорошие идеи, как облегчить мою жизнь?

Есть ли уменьшенная версия BouncyCastle? Можно ли как-то извлечь только то, что мне нужно и перепаковать? Есть ли облегченная альтернатива?


person Jimtronic    schedule 17.10.2011    source источник


Ответы (1)


Мне нужно дождаться окончания упаковки

Что еще более важно, это может не сработать. Bouncy Castle является частью реализации Android javax.crypto — люди сообщали о всевозможных проблемах, пытаясь добавить BC в качестве JAR-файла в свои проекты.

Если вы можете придерживаться интерфейса javax.crypto, я бы сделал это и полностью избегал BC. Если нет, попробуйте Spongy Castle, который представляет собой переупаковку BC в отдельный пакет Java, чтобы избежать проблем с виртуальной машиной. Если бы вы хотели, вы могли бы, возможно, найти способы избавиться от вещей, которые вам не нужны, из вашей копии Spongy Castle - по какой-то причине она значительно больше, чем JAR BC, который вы цитируете.

person CommonsWare    schedule 17.10.2011
comment
Спасибо за информацию. Я попробовал SpongyCastle, и он работал без особых усилий, но, как вы сказали, он примерно в два раза больше, чем BouncyCastle. - person Jimtronic; 17.10.2011
comment
@Jimtronic: Да, я понятия не имею, почему он оказался таким большим. Список, относящийся к Британской Колумбии, может дать вам советы по уменьшению размера. Кроме того, я бы просматривал пакеты BC, которые кажутся, возможно, неактуальными, удалял их и смотрел, все ли по-прежнему собирается и работает. Соглашусь, не особенно научно... :-) Вы также можете сообщить о проблеме на сайте Spongy Castle относительно размера JAR и любых предложений, которые разработчик может иметь по сокращению. - person CommonsWare; 18.10.2011
comment
На самом деле не использовал его, но после быстрого просмотра кода кажется, что он использует только необработанные API-интерфейсы BC для создания самозаверяющего сертификата. Подробности смотрите в их документации, но 1) вам может вообще не понадобиться сертификат для клиента, и 2) если вы его предварительно сгенерируете, вы можете удалить/закомментировать эту часть кода. - person Nikolay Elenkov; 18.10.2011
comment
@CommonsWare теперь есть артефакт sc-light-jdk15on для Spongy Castle, который включает только облегченный API Bouncy Castle; его размер составляет всего 1,4 МБ. github.com/rtyley/spongycastle/wiki/jars содержит список доступных SC артефакты. - person Roberto Tyley; 18.05.2012