加密货币

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

Conscrypt 模块可加速安全改进并提高设备安全性,而无需依赖 OTA 更新。它使用 Java 代码和本机库来提供 Android TLS 实现以及大部分 Android 加密功能,例如密钥生成器、密码和消息摘要。 Conscrypt 可作为一个开源库使用,尽管它在包含在 Android 平台中时有一些专门化。

Conscrypt 模块使用BoringSSL ,这是一个本地库,它是 OpenSSL 的 Google 分支,在许多 Google 产品中用于加密和 TLS(最著名的是 Google Chrome),以及 Conscrypt 代码(Java 和本地代码)。 BoringSSL 没有正式版本(所有用户都是从头开始构建的),并且不保证 API 或 ABI 的稳定性。

Android 10 的变化

Android 9 不包含用于 Conscrypt 的特定于 Android 的公共 API,而是使用安全提供程序来实现 Java 加密体系结构 (JCA) 的标准类,包括 Cipher 和 MessageDigest,以及 Java 安全套接字扩展 (JSSE),包括 SSLSocket 和 SSLEngine。用户与这些类交互,一些非公共的 Conscrypt API 被libcore或框架代码使用。

Android 10 在android.net.ssl中添加了少量公共 API 方法来访问javax.net.ssl下的类未公开的 Conscrypt 功能。 Android 10 还包含Bouncy Castle的精简副本,以提供较低流行度的加密工具作为 Android 运行时的一部分(不包含在 Conscrypt 模块中)。

格式和依赖

Conscrypt 模块(`com.android.conscrypt`)作为APEX文件分发,其中包括 Conscrypt Java 代码和动态链接到 Android NDK 库(例如liblog )的 Conscrypt 本机库。本机库还包括已通过 NIST 的 加密模块验证程序 (CMVP) 验证的 BoringSSL 副本( 证书 #3753 )。

Conscrypt 模块公开了以下 API:

  • 公共 APIjava.*javax.*下的包中的类和接口的扩展,以及android.net.ssl.*下的类。外部应用程序代码不直接调用 Conscrypt。平台 API 标准确保这些 API 保持向后和向前兼容。
  • 核心平台 API是框架用来访问非公共功能的隐藏 API。这些是相对有限的;最大的用户是NetworkSecurityConfig ,它扩展了 Conscrypt 信任管理器(验证证书的组件)来实现网络安全配置功能
  • 内核内 API仅限于由 JCA 和 JSEE 机制反射调用的零参数构造函数。