前言
项目初期,我们可能会图方便,直接使用自动生成签名的方式对项目进行签名,但在多人协作开发的项目中,拉取代码常常因他人自动生成的签名信息与自己自动生成的签名信息冲突,常常需要在本地重新生成签名,显得很不方便。有没有一劳永逸的方法呢?答案是肯定的,下面将介绍通过本地配置证书的方式进行签名管理。
准备签名文件
HarmonyOS应用/元服务通过数字证书(.cer文件)和Profile文件(.p7b文件)来保证应用/元服务的完整性。在申请数字证书和Profile文件前,首先需要通过DevEco Studio来生成密钥(存储在格式为.p12的密钥库文件中)和证书请求文件(.csr文件)。
基本概念
- 密钥:包含非对称加密中使用的公钥和私钥,存储在密钥库文件中,格式为.p12,公钥和私钥对用于数字签名和验证。
- 证书请求文件:格式为.csr,全称为Certificate Signing Request,包含密钥对中的公钥和公共名称、组织名称、组织单位等信息,用于向AppGallery Connect申请数字证书。
- 数字证书:格式为.cer,由华为AppGallery Connect颁发。
- Profile文件:格式为.p7b,包含HarmonyOS应用/元服务的包名、数字证书信息、描述应用/元服务允许申请的证书权限列表,以及允许应用/元服务调试的设备列表(如果应用/元服务类型为Release类型,则设备列表为空)等内容,每个应用/元服务包中均必须包含一个Profile文件。
生成密钥和证书请求文件
首先需要通过DevEco Studio来生成密钥(存储在格式为.p12的密钥库文件中)和证书请求文件(.csr文件)
Build - Generate Key and CSR
设置密钥库文件存储路径,并填写p12文件名,文件后缀为 .p12
设置文件别名,点击 Next,生成 p12文件
设置CSR文件存储路径和CSR文件名,文件后缀为 .csr
申请发布证书和Profile文件
- 新建 APP ID
新建 APP ID
- 申请调试证书
证书类型:调试证书
证书请求文件(CSR):选取前面生成的 .csr 文件
申请 .cer 调试证书
下载调试证书
- 申请调试 Profile
申请调试 Profile 前,需要先添加用于调试的设备
添加调试设备
添加调试 Profile
应用名称:选择前面创建的应用 APP ID
类型:调试
选择证书:选择前面创建的调试证书
选择设备:选择需要用于调试的设备
添加调试 Profile
下载调试 Profile
配置签名信息
为了多人协作,建议将调试签名证书添加到工程中,并通过相对路径配置签名信息中的文件路径。
将签名所需的证书文件添加到工程中
在File > Project Structure > Project > Signing Configs > default界面中,取消“Automatically generate signature”勾选项,然后配置工程的签名信息。
结语
至此,调试证书的本地配置就完成了,由项目管理者配置签名文件信息,其他开发者拉取代码后即可直接运行在测试设备上,无需进行繁琐的自动签名流程。如果需要添加新的真机设备,需到 AppGellery Connect 中添加设备,并更新 Profile 文件选择的设备,重新下载 Profile 文件进行替换。