Безопасность
В этой таблице перечислены все артефакты, входящие в группу androidx.security .
| Артефакт | Стабильный релиз | Предварительная версия для выпуска | Бета-версия | Альфа-версия |
|---|---|---|---|---|
| безопасность-крипто | 1.1.0 | - | - | - |
| security-app-authenticator | 1.0.0 | - | - | - |
| тестирование аутентификатора приложения безопасности | 1.0.0 | - | - | - |
| учетные данные для идентификации безопасности | - | - | - | 1.0.0-alpha03 |
Объявление зависимостей
Чтобы добавить зависимость от Security, необходимо добавить репозиторий Google Maven в ваш проект. Для получения дополнительной информации ознакомьтесь с информацией в репозитории Google Maven .
Добавьте зависимости для необходимых артефактов в файл build.gradle вашего приложения или модуля:
Для получения дополнительной информации о зависимостях см. раздел «Добавление зависимостей сборки» .
Обратная связь
Ваши отзывы помогают улучшить Jetpack. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете проголосовать за существующую проблему, нажав кнопку со звездочкой.
Для получения более подробной информации см. документацию по системе отслеживания ошибок .
Security-State-Provider Version 1.0
Версия 1.0.0-alpha01
24 сентября 2025 г.
Выпущена версия androidx.security:security-state-provider:1.0.0-alpha01 . Версия 1.0.0-alpha01 содержит следующие коммиты .
Новые функции
- Это первоначальная альфа-версия библиотеки
security-state-provider. - Эта библиотека упрощает для клиентов, обновляющих систему (например, OTA-клиентов), публикацию состояния безопасности обновляемых компонентов (системы, системных модулей, ядра и т. д.) на устройстве.
- Он предоставляет механизмы для регистрации и отмены регистрации информации об обновлениях, которая затем может быть передана другим приложениям или компонентам через
ContentProvider. - Включает
UpdateInfoProvider:ContentProvider, предоставляющийUpdateInfoв формате JSON. Поддерживает запросы, но не операции вставки, удаления или обновления. - Включает
UpdateInfoManager: управляет хранением и извлечением объектовUpdateInfo, используяSharedPreferencesдля обеспечения постоянного хранения. - Включает
UpdateInfo: класс данных для представления информации о доступном обновлении для компонента, включая URI, имя компонента, уровень исправления безопасности (SPL) и дату публикации.
Security-State Version 1.0.0
Версия 1.0.0-beta01
26 февраля 2025 г.
Выпущена версия androidx.security:security-state:1.0.0-beta01 . Версия 1.0.0-beta01 содержит следующие коммиты .
Исправлены ошибки
- Исправлена ошибка, из-за которой
getPatchedCves()не возвращала исправленные CVE дляCOMPONENT_SYSTEM_MODULES. ( Ice5e2 )
Версия 1.0.0-alpha05
29 января 2025 г.
Выпущена версия androidx.security:security-state:1.0.0-alpha05 . Версия 1.0.0-alpha05 содержит следующие коммиты .
Новые функции
- В манифест библиотеки были добавлены имена пакетов системных модулей по умолчанию, чтобы клиентские приложения могли получать Device SPL для системных модулей. ( Ic259c )
Изменения в API
- Переименован
SecurityStateManagerвSecurityStateManagerCompat, добавлена дополнительная документация для общедоступных свойств и функций, а методыgetComponentSecurityPatchLevelиgetVulnerabilityReportUrlстали статическими. ( I44a0c ) - Функциональность обновления доступности (методы
listAvailableUpdates()иgetAvailableSecurityPatchLevel()) временно удалена из API и планируется к возвращению в будущем обновлении библиотеки. ( Idbc5e ) - Доступ к Vendor SPL теперь защищен флагом компиляции, который по умолчанию отключен до будущего обновления библиотеки. ( I45b58 )
-
getGlobalSecurityState()теперь возвращает глобальное состояние безопасности из системной службы для SDK 35 и выше. ( I7b9da )
Исправлены ошибки
- Исправлена ошибка, приводившая к сбою при попытке получить опубликованный SPL для ядра в более старых версиях Android, где опубликованные LTS-версии ядра недоступны. ( I93dff )
Версия 1.0.0-alpha04
7 августа 2024 г.
Выпущена версия androidx.security:security-state:1.0.0-alpha04 . Версия 1.0.0-alpha04 содержит следующие коммиты .
Примечание
- Обновите
compileSdkдо версии 35 5dc41be
Изменения в API
- Критическое изменение: перечисления компонентов были заменены строковыми константами для расширения функциональности. ( Ia3283 )
Версия 1.0.0-alpha03
10 июля 2024 г.
Выпущена версия androidx.security:security-state:1.0.0-alpha03 . Версия 1.0.0-alpha03 содержит следующие коммиты .
Исправлены ошибки
- Исправление шаблона ASB-A для ошибок в бюллетенях безопасности Android, парсинг JSON для дополнительных компонентов и получение упакованных данных
Webview. ( Ide86a )
Версия 1.0.0-alpha02
26 июня 2024 г.
Выпущена версия androidx.security:security-state:1.0.0-alpha02 . Версия 1.0.0-alpha02 содержит следующие коммиты .
Исправлены ошибки
- Исправлена логика получения версии ядра. ( I5602a )
Версия 1.0.0-alpha01
12 июня 2024 г.
Выпущена версия androidx.security:security-state:1.0.0-alpha01 . Версия 1.0.0-alpha01 содержит следующие коммиты .
Новые функции
- Security State — это новая библиотека, которую разработчики могут использовать для получения полезных данных о версиях обновляемых системных компонентов, обновлениях безопасности и примененных исправлениях.
Тестирование приложения Security-App-Authenticator, версия 1.0.0
Версия 1.0.0
30 июля 2025 г.
Выпущены версии androidx.security:security-app-authenticator:1.0.0 и androidx.security:security-app-authenticator-testing:1.0.0 . Версия 1.0.0 содержит следующие коммиты .
Версия 1.0.0-rc01
20 мая 2025 г.
Выпущены версии androidx.security:security-app-authenticator:1.0.0-rc01 и androidx.security:security-app-authenticator-testing:1.0.0-rc01 . Версия 1.0.0-rc01 содержит следующие коммиты .
Версия 1.0.0-beta01
6 марта 2024 г.
Выпущены версии androidx.security:security-app-authenticator:1.0.0-beta01 и androidx.security:security-app-authenticator-testing:1.0.0-beta01 . Версия 1.0.0-beta01 содержит следующие коммиты .
Версия 1.0.0-alpha02
13 декабря 2023 г.
Выпущена версия androidx.security:security-app-authenticator-testing:1.0.0-alpha02 . Версия 1.0.0-alpha02 содержит следующие коммиты.
Исправлены ошибки
- Обновлен тест для нового поведения API, который больше не предполагает использование
Binder#getCalling[Uid|Pid]если он не предоставлен API[check|enforce]CallingAppIdentity. ( I1851b )
Версия 1.0.0-alpha01
2 июня 2021 г.
Выпущена версия androidx.security:security-app-authenticator-testing:1.0.0-alpha01 . Версия 1.0.0-alpha01 содержит следующие коммиты.
Новые функции
Эта библиотека для тестирования предоставляет конструктор, который можно использовать для настройки внедряемого AppAuthenticator в соответствии с требованиями теста. Библиотека поддерживает несколько методов настройки AppAuthenticator:
- Можно задать общую политику тестирования, которая будет сообщать о совпадении сигнатур для всех пакетов, указанных в конфигурации.
- Можно указать, что для отдельных пакетов должно быть указано совпадение подписи, а для всех остальных пакетов — отсутствие совпадения.
- Для каждого пакета можно явно указать идентификаторы подписи; в этом случае AppAuthenticator сообщит о совпадении подписи только в том случае, если предоставленный идентификатор совпадает с указанием в конфигурационном файле.
- Также пакеты могут рассматриваться как не установленные или как не имеющие явного идентификатора пользователя (uid).
Security-App-Authenticator Версия 1.0.0
Версия 1.0.0-rc01
20 мая 2025 г.
Выпущены версии androidx.security:security-app-authenticator:1.0.0-rc01 и androidx.security:security-app-authenticator-testing:1.0.0-rc01 . Версия 1.0.0-rc01 содержит следующие коммиты .
Версия 1.0.0-beta01
6 марта 2024 г.
Выпущены версии androidx.security:security-app-authenticator:1.0.0-beta01 и androidx.security:security-app-authenticator-testing:1.0.0-beta01 . Версия 1.0.0-beta01 содержит следующие коммиты .
Версия 1.0.0-alpha03
13 декабря 2023 г.
Выпущена версия androidx.security:security-app-authenticator:1.0.0-alpha03 . Версия 1.0.0-alpha03 содержит следующие коммиты.
Изменения в API
- Добавлена поддержка сценариев использования, когда UID/PID проверяемого пакета недоступен; API теперь поддерживают такие случаи, как
startActivityForResultи действия/приемники, где идентификатор вызывающего приложения передается через[Activity|Broadcast]Options#setShareIdentityEnabled. - Поведение метода
[check|enforce]CallingAppIdentity(String, String)было обновлено для поддержки новых вариантов использования; эти методы больше не будут по умолчанию использоватьBinder#getCalling[Uid|Pid], а вместо этого будут пропускать проверку UID вызывающего пакета, если он не указан явно. ( I1851b )
Версия 1.0.0-alpha02
2 июня 2021 г.
Выпущена версия androidx.security:security-app-authenticator:1.0.0-alpha02 . Версия 1.0.0-alpha02 содержит следующие коммиты.
Изменения в API
- В целях подготовки к поддержке нового флага защиты разрешений
knownSignerпредставленного в Android 12, атрибут digestAlgorithm больше нельзя указывать в конфигурации; вместо этого все дайджесты сертификатов должны вычисляться с использованием SHA-256.
Исправлены ошибки
- Все дайджесты сертификатов, предоставляемые в конфигурации, теперь нормализованы, чтобы гарантировать успешное совпадение подписи как при вычислении дайджеста во время выполнения, так и при явном указании идентификатора подписи при использовании тестовой библиотеки.
Версия 1.0.0-alpha01
5 мая 2021 г.
Выпущена версия androidx.security:security-app-authenticator:1.0.0-alpha01 . Версия 1.0.0-alpha01 содержит следующие коммиты.
Новые функции
AppAuthenticator — это новая библиотека, призванная упростить проверку доверия к приложениям на основе идентификаторов подписи. Приложению достаточно указать XML-файл конфигурации, содержащий имена пакетов и идентификаторы подписи доверенных приложений, и библиотека позаботится о проверке идентификаторов подписи приложений во время выполнения.
Security-Identity-Credential Version 1.0.0
Версия 1.0.0-alpha03
1 сентября 2021 г.
Выпущена версия androidx.security:security-identity-credential:1.0.0-alpha03 . Версия 1.0.0-alpha03 содержит следующие коммиты.
Новые функции
- В Android 12 добавлена поддержка функций аппаратной идентификации.
Версия 1.0.0-alpha02
24 февраля 2021 г.
Выпущена версия androidx.security:security-identity-credential:1.0.0-alpha02 . Версия 1.0.0-alpha02 содержит следующие коммиты.
Исправлены ошибки
- Обновите API учетных данных для соответствия планам Android 12 ( Iff83e )
Версия 1.0.0-alpha01
19 августа 2020 г.
Выпущена версия androidx.security:security-identity-credential:1.0.0-alpha01 . Версия 1.0.0-alpha01 содержит следующие коммиты.
Новые функции
В этом релизе Jetpack представлена версия API для управления учетными данными, добавленная в Android 11 и API уровня 30. Если устройство работает на Android 11 и поддерживает аппаратную аутентификацию, Jetpack просто перенаправляет вызовы к API платформы. В противном случае будет использоваться реализация на основе хранилища ключей Android. Хотя реализация на основе хранилища ключей Android не обеспечивает тот же уровень безопасности и конфиденциальности, она вполне подходит как для владельцев, так и для эмитентов в случаях, когда все данные подписаны эмитентом. Для работы этой библиотеки требуется API уровня 24 или более поздней версии.
API-интерфейсы для проверки учетных данных предоставляют интерфейс к защищенному хранилищу документов, удостоверяющих личность пользователя. Эти API-интерфейсы намеренно достаточно общие и абстрактные. В максимально возможной степени описание форматов сообщений и семантики взаимодействия с устройствами проверки учетных данных и органами, выдающими удостоверения (IA), выходит за рамки этих API-интерфейсов. Структуры данных, от которых зависят эти API-интерфейсы, совместимы со структурами данных в готовящемся к выпуску стандарте ISO/IEC IS 18013-5 «Персональная идентификация — водительские права, соответствующие стандарту ISO — Часть 5: Мобильные водительские права (mDL)».
Изменения в API
- Добавлен пакет Jetpack для ввода учетных данных ( Icf90b ).
Security-Crypto Version 1.1.0
Версия 1.1.0
30 июля 2025 г.
Выпущены androidx.security:security-crypto:1.1.0 и androidx.security:security-crypto-ktx:1.1.0 . Версия 1.1.0 содержит следующие коммиты .
Версия 1.1.0-rc01
2 июля 2025 г.
Выпущены версии androidx.security:security-crypto:1.1.0-rc01 и androidx.security:security-crypto-ktx:1.1.0-rc01 . Версия 1.1.0-rc01 содержит следующие коммиты .
Версия 1.1.0-beta01
4 июня 2025 г.
Выпущены версии androidx.security:security-crypto:1.1.0-beta01 и androidx.security:security-crypto-ktx:1.1.0-beta01 . Версия 1.1.0-beta01 содержит следующие коммиты .
Изменения в API
- Все API-интерфейсы устарели в пользу существующих API-интерфейсов платформы и прямого использования Android Keystore.
Версия 1.1.0-alpha07
9 апреля 2025 г.
Выпущены версии androidx.security:security-crypto:1.1.0-alpha07 и androidx.security:security-crypto-ktx:1.1.0-alpha07 . Версия 1.1.0-alpha07 содержит следующие коммиты .
Изменения в API
- Все API-интерфейсы устарели в пользу существующих API-интерфейсов платформы и прямого использования Android Keystore.
Версия 1.1.0-alpha06
19 апреля 2023 г.
Выпущены версии androidx.security:security-crypto:1.1.0-alpha06 и androidx.security:security-crypto-ktx:1.1.0-alpha06 . Версия 1.1.0-alpha06 содержит следующие коммиты.
Новые функции
- Обновлена зависимость Tink до версии 1.8.0.
Версия 1.1.0-alpha05
22 февраля 2023 г.
Выпущены версии androidx.security:security-crypto:1.1.0-alpha05 и androidx.security:security-crypto-ktx:1.1.0-alpha05 . Версия 1.1.0-alpha05 содержит следующие коммиты.
Исправлены ошибки
- Исправлена ошибка состояния гонки в
MasterKeys.getOrCreate( I3391e , b/268572037 )
Версия 1.1.0-alpha04
9 ноября 2022 г.
Выпущены версии androidx.security:security-crypto:1.1.0-alpha04 и androidx.security:security-crypto-ktx:1.1.0-alpha04 . Версия 1.1.0-alpha04 содержит следующие коммиты.
Новые функции
- Удалено сообщение в логе «набор ключей не найден, будет сгенерирован новый» при первом запуске приложения. ( b/185219606 )
- Зависимость от Tink обновлена до версии 1.7.0.
Изменения в API
- Внесены изменения
EncryptedFile#openFileInput(), теперь вместо общегоIOExceptionв случае, если запрошенный файл не существует, генерируется исключениеFileNotFoundException. ( I80e41 , b/148804719 ) - Класс 'MasterKeys' обновлен таким образом, что теперь он требует Android M, а не каждый из его методов. ( I8b4b8 )
- Изменены все методы получения значений в
EncryptedSharedPreferences(например,#getString,#getInt), чтобы они генерировали исключениеSecurityExceptionв редких случаях, когда тип значения не может быть сопоставлен с одним из определенных вариантов перечисления. ( b/241699427 )
Исправлены ошибки
- Синхронизирована минимальная версия SDK библиотеки security-crypto-ktx с security-crypto путем понижения ее до v21 ( b/193550375 )
- Исправлена ошибка параллельного выполнения при создании нескольких файлов
EncryptedFile( b/136590547 )
Внешний вклад
- Получено исправление для
EncryptedSharedPreferences.Editor#removeот chr.ibbotson@gmail.com ( b/224994760 , b/134197835 , f44d44d )
Security-Crypto-Ktx Version 1.1.0-alpha03
18 мая 2021 г.
Выпущена версия androidx.security:security-crypto-ktx:1.1.0-alpha03 . Версия 1.1.0-alpha03 содержит следующие коммиты.
Обновлено в соответствии с androidx.security:security-crypto:1.1.0-alpha03 .
Версия 1.1.0-alpha03
2 декабря 2020 г.
Выпущена версия androidx.security:security-crypto:1.1.0-alpha03 . Версия 1.1.0-alpha03 содержит следующие коммиты.
Новые функции
- Обновлена версия Tink до стабильной
1.5.0
Версия 1.1.0-alpha02
5 августа 2020 г.
Выпущены версии androidx.security:security-crypto:1.1.0-alpha02 и androidx.security:security-crypto-ktx:1.1.0-alpha02 . Версия 1.1.0-alpha02 содержит следующие коммиты.
Новые функции
- Обновлена версия Tink до стабильной
1.4.0
Исправлены ошибки
- Обновление Tink должно исправить проблемы R8 и Proguard, связанные с зависимостью от затененного Protobuf.
- Обновление Tink должно корректно обрабатывать сбои параллельного доступа к AndroidKeyStore.
Внешний вклад
- Очистка
mKeysChangedпри применении, исправление для EncryptedSharedPreferences ( aosp/1323026 )
Версия 1.1.0-alpha01
10 июня 2020 г.
Выпущена версия androidx.security:security-crypto:1.1.0-alpha01 . Версия 1.1.0-alpha01 содержит следующие коммиты.
Новые функции
- Теперь поддерживается Android Lollipop (API Level 21+). Обратите внимание, что AndroidKeyStore не используется для API 21 и 22. ( I7c12d , b/132325342 )
- Новый класс MasterKey предоставляет больше возможностей для настройки ключей, а также делает классы MasterKey устаревшими для поддержки новых функций и версий Android, в которых отсутствует KeyGenParamSpec.
Security-Crypto Version 1.0.0
Версия 1.0.0
21 апреля 2021 г.
Выпущена версия androidx.security:security-crypto:1.0.0 . Версия 1.0.0 содержит следующие коммиты.
Основные особенности версии 1.0.0
Основные особенности
-
EncryptedFileпредоставляет зашифрованные входные и выходные потоки для чтения/записи зашифрованных данных в файл. -
EncryptedSharedPreferencesпредоставляет реализацию SharedPreferences, которая автоматически шифрует/расшифровывает все ключи и значения. - Обеспечивает простую генерацию ключей с помощью MasterKeys.
- Для повышения стабильности используется Tink 1.5.0.
Версия 1.0.0-rc04
13 января 2021 г.
Выпущена версия androidx.security:security-crypto:1.0.0-rc04 . Версия 1.0.0-rc04 содержит следующие коммиты.
Исправлены ошибки
- Обновлена версия Tink до 1.5.0 для повышения стабильности.
Версия 1.0.0-rc03
5 августа 2020 г.
Выпущена версия androidx.security:security-crypto:1.0.0-rc03 . Версия 1.0.0-rc03 содержит следующие коммиты.
Новые функции
- Обновлена версия Tink до стабильной
1.4.0
Исправлены ошибки
- Обновление Tink должно исправить проблемы R8 и Proguard, связанные с зависимостью от затененного Protobuf.
- Обновление Tink должно корректно обрабатывать сбои параллельного доступа к AndroidKeyStore.
Внешний вклад
- Очистка
mKeysChangedпри применении, исправление для EncryptedSharedPreferences ( aosp/1323026 )
Версия 1.0.0-rc02
20 мая 2020 г.
Выпущена версия androidx.security:security-crypto:1.0.0-rc02 . Версия 1.0.0-rc02 содержит следующие коммиты.
Исправлены ошибки
- Обновлено до версии Tink 1.4.0-rc2, которая заменяет собой зависимость proto buf lite. Это решает широко распространенную проблему конфликта с другими SDK Android. ( I8a831 )
- Исправлена
apply()вEncryptedSharedPreferences. ( I29069 , b/154366606 )
Версия 1.0.0-rc01
15 апреля 2020 г.
Выпущена версия androidx.security:security-crypto:1.0.0-rc01 . Версия 1.0.0-rc01 содержит следующие коммиты.
Исправлены ошибки
- Добавлены проверки, гарантирующие, что если
KeyGenParamSpecпередается вMasterKeys.getOrCreate, то еслиgetUserAuthenticationRequiredвозвращаетtrue, тоgetUserAuthenticationValidityDurationSecondsвозвращает значение >0. ( I911f5 ) ( b/152644939 )
Версия 1.0.0-beta01
18 марта 2020 г.
Выпущена версия androidx.security:security-crypto:1.0.0-beta01 без изменений по сравнению с 1.0.0-alpha02 . Версия 1.0.0-beta01 содержит следующие коммиты .
Версия 1.0.0-alpha02
23 мая 2019 г.
Выпущена версия androidx.security:security-crypto:1.0.0-alpha02 . Список изменений, включенных в эту версию, можно найти в этом журнале изменений .
Исправлены ошибки
- Исправлена ошибка при получении пары ключ/значение, связанной с общими настройками, из функции
getAll(). - Запрещено использование ограниченных по возможностям клавиш настроек.
- Незначительные обновления Javadoc.
Версия 1.0.0-alpha01
7 мая 2019 г.
Выпущена версия androidx.security:security-crypto:1.0.0-alpha01 . Список изменений, включенных в эту версию, можно найти здесь .
Основные особенности новых функций
-
EncryptedFileпредоставляет зашифрованные входные и выходные потоки для чтения/записи зашифрованных данных в файл. -
EncryptedSharedPreferencesпредоставляет реализациюSharedPreferences, которая автоматически шифрует/расшифровывает все ключи и значения. - Обеспечивает простую генерацию ключей с помощью MasterKeys.