Android 加密与网络安全:原理、应用与实践
1. 加密引擎与算法支持
在 Android 系统中,不同的引擎类对应着多种支持的算法,以下是部分引擎类及其支持算法的详细信息:
| Engine Class Name | Supported Algorithms |
| — | — |
| SecretKeyFactory | DES、DESEDE、PBEWITHHMACSHA1 等众多算法 |
| Signature | ECDSA、MD5WITHRSA、NONEWITHDSA 等 |
1.1 AndroidOpenSSL 提供者
从 Android 4.0 开始,为了提升加密性能,原生 AndroidOpenSSL 提供者所支持的引擎类和算法数量在不断增加。最初,它仅用于实现 SSL 套接字,但到了 Android 4.4,它已涵盖了 Bouncy Castle 的大部分功能。由于它是首选提供者(优先级最高,为 1),那些未明确请求 Bouncy Castle 的引擎类将从 AndroidOpenSSL 提供者获取实现。
其加密功能由 OpenSSL 库提供,实现过程使用 JNI 将 OpenSSL 的原生代码与实现 JCA 提供者所需的 Java SPI 类相链接。大部分实现位于 NativeCrypto Java 类中,该类会被大多数 SPI 类调用。从 Android 4.4 起,AndroidOpenSSL 与 libcore 解耦,可作为独立库编译,并被包含在需要稳定加密实现且不依赖平台版本的应用中,这个独立提供者被称为 Conscrypt。
以下是 Android 4.4.4 版
超级会员免费看
订阅专栏 解锁全文
1238

被折叠的 条评论
为什么被折叠?



