Есть ли преимущества использования SpongyCastle по сравнению с BouncyCastle, если вы ориентируетесь на Android 3.0 и более поздние версии?

Если я правильно понимаю ситуацию, SpongyCastle — это переименование BouncyCastle, и оно было создано, чтобы дать людям возможность включать новую версию BouncyCastle на Android, поскольку просто включение последней jar-файла BouncyCastle вызовет конфликты со старой и урезанной версией BouncyCastle, поставляемый с Android.

Однако, видимо, начиная с версии 3.0 (в 2011 году — 6 лет назад!) пакет Android BouncyCastle был переименован в com.android.org.bouncycastle, так что теперь, если вы включите обычный org.bouncycastle, это уже не будет конфликтовать с предварительно упакованным урезанным BouncyCastle, и вы таким образом можно использовать новейшую версию.

Что меня смущает, так это то, что проект SpongyCastle все еще довольно активен, и всякий раз, когда я ищу «BouncyCastle на Android» или что-то связанное, я получаю много результатов за последние пару лет, которые рекомендуют использовать SpongyCastle, ссылаясь на классовый конфликт. проблемы в качестве аргументации, даже несмотря на то, что они были (очевидно) решены еще в 2011 году. Еще один аргумент, который я видел, который имеет для меня больше смысла, заключается в том, что SpongyCastle более обратно совместим, так как вы не получите никаких проблем на устройства под управлением более ранних версий Android, чем 3.0.

Итак, мой вопрос: есть ли какие-либо преимущества в использовании SpongyCastle по сравнению с BouncyCastle, если вы не ориентируетесь на более ранние версии Android, чем 3.0?


person Robert Soultanaev    schedule 16.11.2017    source источник
comment
мне тоже интересно это   -  person hepizoj    schedule 13.06.2018


Ответы (1)


Вот что написал по этому поводу автор Spongy Castle :

Почему Spongy Castle может не устареть?

  • Устройства до Android 3.0 все еще активно используются. В более бедных странах есть более высокие области использования, и этим людям все еще нужна безопасная криптография. Сигнал (насколько я знаю, не пользователь SC) в настоящее время все еще поддерживает Android 2.3 и выше.
  • даже на устройствах после Android 3.0 производители устройств не возражают против небрежного связывания библиотек, возможно, что Bouncy Castle все еще может быть связан с некоторыми малоизвестными устройствами.
  • Хотя версия Bouncy Castle в комплекте с Android имеет измененное имя пакета, она по-прежнему имеет BC в качестве имени поставщика, что оставляет некоторую двусмысленность в отношении выбора реализации при добавлении собственной копии Bouncy Castle в приложение и выборе BC в качестве поставщика. .

Но затем он продолжил, отметив, что релизы Spongy Castle часто отстают от релизов Bouncy Castle... по вполне понятным причинам.


Короче говоря, для устройства Android единственными возможными преимуществами использования Spongy Castle могут быть случаи, когда вашему приложению требуется последняя функциональность Bouncy Castle, но производители устройств включили старую версию.

person Stephen C    schedule 25.08.2018