gpt4 book ai didi

android - 如何在 Android Native Code 中使用 Keystore?

转载 作者:太空狗 更新时间:2023-10-29 13:53:43 27 4
gpt4 key购买 nike

我需要加密一些由用 C++ 编写的 android native 服务创建的文件。我必须使用 Keystore 但我不知道如何使用。有没有图书馆或文件?

最佳答案

我知道这个帖子已经过时了,但也许它会对将来的人有所帮助。以下提示涉及 Android Keystore v3 和 v4(分别为 Oreo 和 Pie)。

基本上,HAL keystore (如 here 所述)包含在 keystore 服务中。服务 API 模仿 IKeymasterDevice.hal 中描述的接口(interface)。您可以为 key 使用字符串别名而不是 blob(例如“mySecretKey”)。该服务将 key block (原始 key Material + key 参数)存储到文件系统。默认位置是/data/misc/keystore/user_0/ _

Keystore 服务也是检查是否允许请求进程使用 key 的层(基于进程 uid)。

与 keystore 服务的通信是通过绑定(bind)器接口(interface) (IPC) 完成的。您可能想阅读更多相关信息 here .

AOSP 包含引用客户端实现 here .

可以在常用 CLI 中找到示例用法 here

AOSP 带有基于 SW 的 keystore 实现,可以在 here 中找到.默认情况下,AOSP 构建中的 key block 未加密。

请注意,库存 keystore_cli_v2 不支持 key 导入。如果您计划离线加密数据(例如 pycrypto),您必须扩展它。如果您打算这样做,请记住 keystore_client_impl.cpp 链接到 libkeystore_binder.so 而不是 keystore_cli_v2。

对于非对称 key 密码,您可以使用 API 导出公钥组件。

关于android - 如何在 Android Native Code 中使用 Keystore?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42127072/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com