Google 致力于为黑人社区推动种族平等。查看具体举措

Security

安全地管理密钥并对文件和 sharedpreferences 进行加密。
最近更新时间 当前稳定版 下一候选版本 Beta 版 Alpha 版
2020 年 8 月 19 日 - 1.0.0-rc03 - 1.1.0-alpha02

声明依赖项

如需添加 Security 的依赖项,您必须将 Google Maven 代码库添加到项目中。如需了解详情,请参阅 Google 的 Maven 代码库

在应用或模块的 build.gradle 文件中添加所需工件的依赖项:

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

    // For Identity Credential APIs
    implementation "androidx.security:security-identity-credential:1.0.0-alpha01"
}

如需详细了解依赖项,请参阅添加构建依赖项

反馈

您的反馈将帮助我们改进 Jetpack。如果您发现了新问题,或对库的改进有某些建议,请告诉我们。创建新问题前,请先查看此库中的现有问题。您可以点击“加注星标”按钮,为现有问题投票。

创建新问题

如需了解详情,请参阅问题跟踪器文档

版本 1.1.0

版本 1.1.0-alpha02

2020 年 8 月 5 日

发布了 androidx.security:security-crypto:1.1.0-alpha02androidx.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

2020 年 6 月 10 日

发布了 androidx.security:security-crypto:1.1.0-alpha01版本 1.1.0-alpha01 中包含这些提交内容

新功能

  • Lollipop(API 级别 21 以上)现在受支持。请注意,AndroidKeyStore 不用于 API 21 和 22。I7c12db/132325342
  • 新的 MasterKey 类为密钥提供更多选项,同时弃用了 MasterKey 以支持新功能和不具有 KeyGenParamSpec 的 Android 版本。

Security-Identity-Credential 版本 1.0.0

Security-Identity-Credential 版本 1.0.0-alpha01

2020 年 8 月 19 日

发布了 androidx.security:security-identity-credential:1.0.0-alpha01版本 1.0.0-alpha01 中包含这些提交内容

新功能

此 Jetpack 版本具有身份凭据 API 的 Jetpack 版本,它已添加到 Android 11 和 API 级别 30。如果设备搭载 Android 11 并提供由硬件支持的身份凭据支持,那么此 Jetpack 仅会向平台 API 转发调用。否则,将使用由 Android 密钥库支持的实现。虽然由 Android 密钥库支持的实现不会提供相同级别的安全和隐私保护,但只要所有数据都经颁发者签名,对持有者和颁发者而言,该实现就完全足够。此库需要 API 级别 24 或更高级别。

身份凭据 API 为用户身份文档提供安全存储的接口。这些 API 是极其普通且抽象的 API。与凭据验证设备和颁发机构 (IA) 通信时,消息格式和语义应尽可能不在这些 API 的范围内。这些 API 所依赖的数据结构与即将发布的《ISO/IEC IS 18013-5 个人身份识别 — 符合 ISO 要求的驾照 — 第 5 部分:移动驾照 (mDL) 申请标准》中的数据结构兼容。

API 变更

  • 添加了身份凭据 Jetpack。(Icf90b)

版本 1.0.0

版本 1.0.0-rc03

2020 年 8 月 5 日

发布了 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

2020 年 5 月 20 日

发布了 androidx.security:security-crypto:1.0.0-rc02版本 1.0.0-rc02 中包含这些提交内容

问题修复

  • 已更新至 Tink 版本 1.4.0-rc2,可为 protobuf 精简依赖项添加阴影。这解决了被广泛报告的与其他 Android SDK 冲突的问题。(I8a831)
  • 修复了 EncryptedSharedPreferences 中的 apply()。(I29069b/154366606

版本 1.0.0-rc01

2020 年 4 月 15 日

发布了 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

2020 年 3 月 18 日

发布了 androidx.security:security-crypto:1.0.0-beta01,该版本与 1.0.0-alpha02 相比没有变化。版本 1.0.0-beta01 中包含这些提交内容

版本 1.0.0-alpha02

2019 年 5 月 23 日

发布了 androidx.security:security-crypto:1.0.0-alpha02。点击提交内容日志可查看此版本中包含的提交内容。

问题修复

  • 修复了从 getAll() 检索与共享偏好设置相关的键值对时出现的问题。
  • 已阻止使用受限的偏好设置键。
  • 对 Javadoc 进行了次要更新。

版本 1.0.0-alpha01

2019 年 5 月 7 日

发布了 androidx.security:security-crypto:1.0.0-alpha01。点击此处可查看此版本中包含的提交内容。

新功能亮点

  • EncryptedFile,提供加密输入和输出流,以从文件读取或向文件写入加密数据。
  • EncryptedSharedPreferences,提供了 SharedPreferences 的实现,可自动加密/解密所有键和值。
  • 通过 MasterKeys 提供简单的密钥生成机制。