Модуль androidx.security:security-crypto устарел или нет? Какова альтернатива?

Просматривая документацию по Android, я нашел информацию о том, что модуль безопасности Jetpack androidx.security:security-crypto устарел, вот некоторые ссылки https://developer.android.com/privacy-and-security/cryptography#jetpack_security_crypto_library

https://android-review.googlesource.com/c/platform/frameworks/support/+/2761067

Однако я обнаружил, что модуль безопасности все еще используется, и информации об альтернативах не так много. Кроме того, я использую расширение Kotlin в своем проекте androidx.security:security-crypto-ktx:1.1.0-alpha06 для EncryptedSharedPreferences и не вижу никаких предупреждений об устаревании. Эта библиотека устарела? Что мне следует использовать вместо этого?

Я считаю, что это зависит от библиотеки com.google.crypto.tink, и она устарела.

ruby6221 22.04.2024 11:11
9
1
1 407
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Кажется, так:

https://proandroiddev.com/securing-the-future-navigating-the-deprecation-of-encrypted-shared-preferences-91ce3c20ae8d

https://www.spght.dev/articles/04-06-2022/owasp-m2

https://x.com/Sp4ghettiCode/status/1786033489675944311

https://developer.android.com/privacy-and-security/cryptography#jetpack_security_crypto_library

Jetpack security crypto library is deprecated. This only affects cases where you have the following dependencies in your app module's build.gradle file:

dependencies {
    implementation "androidx.security:security-crypto:1.0.0"
}

Нет идеи хорошей альтернативы. У этого есть некоторые странные сбои без какого-либо официального объяснения того, как с ними бороться, если они ожидаются:

https://issuetracker.google.com/issues/176215143

Прекрасный пример плохой практики прекращения поддержки библиотек от Google: 1. не объявляйте об устаревании на официальной странице (Developer.android.com/jetpack/androidx/releases/security); 2. не упоминайте, почему он устарел; 3. не давайте рекомендаций по вариантам миграции, чтобы уйти от этой библиотеки.

Diego 12.06.2024 15:27

@Diego Он даже не стал широко известен и не имел относительно стабильного состояния, которое могли бы использовать все люди.

android developer 12.06.2024 16:32

Привет, я являюсь первоначальным автором трех первых ссылок, перечисленных в ответе здесь. Источником на данный момент является последняя ссылка, упомянутая в ответе. Мы все еще ждем дополнительных подтверждений, но похоже, что JetSec Crypto действительно устарел.

Ed Holloway-George 13.06.2024 10:36

@EdHolloway-Джордж в коммите в исходном коде даже предлагает, что использовать вместо этого: android.googlesource.com/platform/frameworks/support/+/… По сути, они говорят: «используйте SharedPreferences вместо EncryptedSharedPreferences; используйте File вместо EncryptedFile и KeyGenerator с AndroidKeyStore вместо MasterKey».

Diego 13.06.2024 14:22

@EdHolloway-Джордж Как вы нашли здесь мой ответ? Кроме того, почему он устарел и что мы можем использовать вместо него? Использование SharedPreferences означает, что он менее безопасен... Разве у нас нет хорошей альтернативы?

android developer 13.06.2024 20:42

Другие вопросы по теме