# 证书管理 ## 简介 证书管理主要提供系统级的证书管理能力,实现证书全生命周期(安装,存储,使用,销毁)的管理和安全使用 ,满足生态应用和上层业务的诉求。 证书管理架构如下图所示: 图1 证书管理架构 ![](figures/zh-cn_certificate_manager_architecture.png) 证书管理模块可以分为如下三大部分: - SDK层:提供证书管理 API,供应用调用。 - Service层:实现证书全生命周期管理。 - Engine层:证书管理核心模块,负责证书的安装、存储、授权、使用、销毁等工作。其中密钥相关操作依赖于当前设备中的[HUKS](https://gitee.com/openharmony/security_huks)能力。 证书生命周期管理: - 证书安装:使用者可以通过安装接口,传入证书文件或密钥库文件,实现证书的安装。 - 证书存储:证书管理模块将用户传入的证书、或设备端生成的证书,存储在/data/service/el1/public/cert_manager_service/certificates目录下,并使用UserID和UID对证书进行隔离。对应的密钥会存储在HUKS模块中。 - 证书使用:通过查询对应的证书,使用者可获取到证书文件进行业务相关操作。 - 证书销毁:删除接口允许使用者,批量或单张销毁存储在证书管理中的证书,相对应的密钥也会在HUKS模块中被删除。 通过使用方式,可以将证书分为如下两类: - CA证书:只含有公钥,适用于验签或验证对端身份。 - 业务证书:含有公钥、私钥,适用于业务场景的签名和验签。 ## 目录 ``` base/security/certificate_manager/ ├── config # 系统根证书文件 ├── frameworks # 框架代码, 作为基础功能目录, 被interfaces和services使用 ├── interfaces # 接口代码 │ └── innerkits # c接口代码 │ └── kits # napi代码 ├── services # 服务层代码 │ └── cert_manager_standard # 证书管理核心功能代码 ├── test # 测试资源存放目录 ``` ## 说明 ### 接口说明 证书管理相关JS接口将在后续API版本中体现,具体参见证书管理使用指南。 ## 相关仓 **安全子系统** **security_huks** **security_privacy_center**