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

#android #bouncycastle #google-tv

#Android #bouncycastle #google-tv

Вопрос:

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

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

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

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

Ответ №1:

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

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

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

Комментарии:

1. Спасибо за информацию. Я попробовал SpongyCastle, и он работал без особых усилий, но, как вы говорите, он примерно в два раза больше BouncyCastle.

2. @Jimtronic: Да, я понятия не имею, почему он оказался таким большим. Список, относящийся к BC, может дать вам советы по уменьшению размера. Помимо этого, я бы посмотрел на пакеты BC, которые кажутся, возможно, неуместными, удалил их и посмотрел, все ли все еще строится и запускается. Не особенно научно, я согласен с вами … 🙂 Вы также можете указать проблему на сайте Spongy Castle относительно размера банки и любых предложений, которые могут возникнуть у разработчика по сокращению.

3. На самом деле я им не пользовался, но после быстрого просмотра кода кажется, что он использует только необработанные API BC для создания самозаверяющего сертификата. Проверьте их документацию для получения подробной информации, но 1) вам может вообще не понадобиться сертификат для клиента, и 2) если вы предварительно сгенерируете его, вы можете удалить / закомментировать эту часть кода.

4. @CommonsWare теперь есть артефакт sc-light-jdk15on для Spongy Castle, который включает в себя только облегченный API Bouncy Castle; его размер составляет всего 1,4 МБ. github.com/rtyley/spongycastle/wiki/jars содержит список доступных артефактов SC.