Ответ 1
TL; DR: Да.
Динамический поставщик безопасности сервисов - JCA Поставщик криптографических услуг (CSP). Программа Java может иметь несколько зарегистрированных CSP, и каждый CSP может предоставлять различные реализации примитивов безопасности, таких как алгоритмы хеширования. Здесь список CSP включен в Android 2.3:
- AndroidOpenSSL версия 1.0
- DRLCertFactory версия 1.0
- BC версия 1.45
- Crypto версия 1.0
- HarmonyJSSE версия 1.0
Когда вы активируете Dynamic Security Provider для Play Services, как указано в документации для разработчиков Android, в верхнюю часть списка добавляется только один провайдер
- GmsCore_OpenSSL версия 1.0
- AndroidOpenSSL версия 1.0
- DRLCertFactory версия 1.0
- BC версия 1.45
- Crypto версия 1.0
- HarmonyJSSE версия 1.0
Когда OkHttp (или любая другая часть вашего приложения) "делает безопасность" с помощью JCA, он выбирает поставщика в соответствии с его возможностями и предпочтением (порядок сортировки), что означает, что будет использоваться GmsCore_OpenSSL.
Используя GmsCore_OpenSSL вместо того, что связано с устройством, на котором работает ваше приложение, вы получаете обновленную реализацию предоставленных примитивов безопасности даже на древних устройствах с Android 2.3, то есть больше нет SSLv3, TLS 1.2 (Android 2.3 даже не поддерживает TLS 1.1) с текущим шифровальные пакеты и исправленные дыры в безопасности. Поскольку Службы воспроизведения обновляются независимо от Android, поставщик динамических услуг Play Services остается актуальным и, следовательно, имеет смысл использовать его и на текущих устройствах.