Pho*_*qui 5 java-native-interface android keystore pycrypto
我需要加密一些由 C++ 编写的 android 本机服务创建的文件。我必须使用密钥库,但我不知道如何使用。有任何图书馆或文件吗?
我知道该线程很旧,但也许将来会对某人有所帮助。下面的提示是指 Android Keystore v3 和 v4(分别是 Oreo 和 Pie)。
基本上,HAL密钥库(如所描述的在这里)被包裹在密钥库服务。服务 API 模仿 IKeymasterDevice.hal 中描述的接口。您可以使用密钥的字符串别名代替 blob(例如“mySecretKey”)。该服务将密钥块(原始密钥材料 + 密钥参数)存储到文件系统。默认位置是 /data/misc/keystore/user_0/<uid>_<key_alias>。
Keystore 服务也是检查请求进程是否允许使用密钥的层(基于进程 uid)。
与密钥库服务的通信是通过绑定器接口 (IPC) 完成的。您可能想在此处阅读更多相关信息。
AOSP在此处包含参考客户端实现。
AOSP 带有基于软件的密钥库实现,可在此处找到。默认情况下,AOSP 版本上的密钥块未加密。
请注意,库存 keystore_cli_v2 不提供对密钥导入的支持。如果您计划离线加密数据(例如 pycrypto),则必须对其进行扩展。如果您打算这样做,请记住 keystore_client_impl.cpp 链接到 libkeystore_binder.so 而不是 keystore_cli_v2。
对于非对称密钥密码,您可以使用 API 导出公钥组件。
| 归档时间: |
|
| 查看次数: |
1506 次 |
| 最近记录: |