如何在Android Native代码中使用密钥库?

 2023-01-20    332  

问题描述

我需要加密由C ++编写的Android本机服务创建的一些文件.我必须使用密钥库,但我不知道该怎么使用.有任何库或文档吗?

推荐答案

我知道线程很旧,但也许将来会帮助某人.下面的提示是指Android Keystore V3和V4(分别为Oreo和Pie).

如何在Android Native代码中使用密钥库?

基本上是HAL密钥库(如所述在这里)包裹在密钥库服务中.
服务API模拟了IkeymasterDevice.hal中描述的界面.而不是Blob,您可以为键使用字符串别名(例如” MySecretKey”).
该服务将键Blob(原始密钥材料 +密钥参数)存储到文件系统中.默认位置是/data/data/misc/keystore/user_0/ _ .

密钥库服务也是检查是否允许请求过程使用密钥的层(基于进程UID).

与密钥库服务的通信是通过活页夹接口(IPC)完成的.您可能需要阅读更多有关它的信息在这里.

aosp包含参考客户端实现在这里/p>

可以在库存中找到示例用法

AOSP配备了基于SW的密钥库实现,可以找到在这里 .默认情况下,AOSP构建上的KeyBlob未加密.

请注意,库存keystore_cli_v2不提供对密钥导入的支持.如果您打算离线加密数据(例如pycrypto),则必须将其扩展.如果您打算这样做

对于非对称密钥密码,您可以使用API​​导出公共密钥组件.

以上所述是小编给大家介绍的如何在Android Native代码中使用密钥库?,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/26026.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。