OpenHarmony开发者论坛
标题:
兼容性测评经验分享(三):授权验证开发
[打印本页]
作者:
lzu-njy
时间:
2024-6-28 21:26
标题:
兼容性测评经验分享(三):授权验证开发
[md]本系列前一篇帖子介绍了填写兼容性测评申请(即兼容性测评的步骤2、步骤3)的流程。本帖子将对第三部分——软件定义进行更详细的阐述。
## 参考文档/链接
1. 《设备证明集成开发指南+标准设备》pdf: 从“兼容性测评”界面的”授权验证开发指南“(下图红框)可获取,解压后得到标准设备、小型设备、轻量设备三个文件,参考相应系统设备的开发指南即可。
2. 《软证书申请指导》pdf:在”授权验证管理“-”管理软证书“界面可获取,详见下文的”授权验证管理“章节。
3. [harmony 鸿蒙DeviceInfo适配说明 ](
https://www.seaxiang.com/blog/b3ce0f63efbc43f3b0c74df058927c82
):提供了**系统参数**与**接口名**的对应关系。这两种信息的作用将在下文介绍。
![兼容性平台申请-3.png](
https://forums-obs.openharmony.c ... px8eaxeqq0llpdd.png
"兼容性平台申请-3.png")
## 软件定义信息填写
### 版本id
版本id由共计10个字段拼接而成:devicetype/manufacture/brand/productSeries/OSFullName/productModel/SoftwareModel/OHOS_SDK_API_VERSION/incrementalVersion/buildType
这部分工作的难点在于:
1. **需要知道各字段如何填写;**
2. **需要修改系统源码特定文件对应字段的值,与兼容性平台填写的信息保持一致,才能完成”授权验证“工作。**
此处只讨论各字段的填写内容,第2点”修改文件字段“详见下文”授权验证管理“部分。
1. devicetype:根据实际设备选择,可选“default”、“phone”、“tablet”、“tv”等选项,可查看[鸿蒙OS应用开发](
https://blog.csdn.net/Calvin_zhou/article/details/111376082
)3.1部分。
2. manufacture:填写厂商英文名。**注意:需要与兼容性平台-用户管理-账户管理中的“企业简称(英文)“(下图红框内容)保持一致。**
![企业信息.png](
https://forums-obs.openharmony.c ... mx6qmmfqq1szxmo.png
"企业信息.png")
3. brand:填写设备品牌。**注意:需要与兼容性测评-软件定义中的”品牌英文名“保持一致。**
4. productSeries:填写产品系列名称,无特殊要求。
5. OSFullName:使用USB连接OH开发板与PC,在hdc shell输入begetctl dump api指令,查看OSFullName的值即可。例如:OpenHarmony-4.0.10.13
6. productModel:填写设备品牌。**注意:需要与兼容性测评-软件定义中的”品牌英文名“保持一致。**
7. SoftwareModel:用户可见的软件版本号,无特殊要求。
8. OHOS_SDK_API_VERSION:系统软件API Version,根据使用OpenHarmony系统的版本查询对应的API版本。例如:OpenHarmonyV4.0对应API 10,则此处填写”10“。
9. incrementalVersion:差异版本号,无特殊要求。
10. buildType:构建类型。可选debug、release,log、nolog等。
### 版本hash
填写“default”即可。
## 授权验证管理
### 软证书
![授权验证界面.png](
https://forums-obs.openharmony.c ... g8g3b3t692274zb.png
"授权验证界面.png")
从上图红框中可获取到解密工具压缩包,解压后得到《软证书申请指导》pdf文件、RsaDec.bat文件、RsaDec-2.1.0.jar文件。
《软证书申请指导》文档较完善,参考此文档即可完成这部分工作。
### 管理调测设备
主要参考《设备证明集成开发指南+标准设备》pdf文件。
#### 1.修改device_attest_oem_adapter.c文件
##### device_attest_oem_adapter.c文件路径
```
../test/xts/device_attest/services/oem_adapter/src
```
##### 更改int32_tOEMGetManufacturekey()
将manufacturekeyBuf[]中的内容(三行16进制数)修改为manu.key的内容。
manu.key文件需在”管理软证书“界面的”厂商密钥“链接获取(上图绿框所示)。
##### 更改int32_t OEMGetProductId()
修改OEMGetProductId函数中productIdBuf[]的值,更改为”兼容性测评”界面中ProdId一列的值(平台生成,形如OH0000xx)。
#### 2.修改设备OS信息与设备产品信息
##### 设备OS信息路径
```bash
base/startup/init/services/etc/param/ohos_const/ohos.para
```
##### 设备产品信息配置文件路径
```
base/startup/init/services/etc/param/ohos.para
```
需要修改的信息,可在PCS自检表xlsx文件(通过[PCS文档](
https://www.openharmony.cn/certification/document/pcs/
)获取)中查看,该文件的sheet1工作簿(如下图所示)中给出了**表1-1:设备信息接口列表**,给出了各API的接口定义与示例值。**注意:表1-1中的所有字段都需要修改。**
![设备信息接口表.png](
https://forums-obs.openharmony.c ... nr00ma6lylwfdr6.png
"设备信息接口表.png")
#### 3.获取可执行二进制文件
##### 编译开关路径
```
../test/xts/device_attest/build/devattestconfig.gni
```
修改enable_attest_test_sample = true
打开第3步的编译开关后,后续编译产物中会生成attesttestclient (\xts\device_attest目录下)可执行二进制文件,完成软证书的导入后,在OH设备端执行该文件查看授权验证结果。
#### 4.编译
```bash
./build.sh --product-name rk3568 --ccache #以rk3568开发板为例
```
镜像文件生成目录:out/rk3568/packages/phone/images
#### 5.导入软证书与调测
参考《设备证明集成开发指南+标准设备》文档的6.3、6.4章节。需要了解hdc工具的使用。
**注意:将软证书导入OH设备后调测验证(执行attesttestclient二进制文件)时,需要将设备联网**。
若在“管理调测设备”界面,查看到添加设备的“授权验证状态”一栏显示“验证通过”,则此工作已完成。否则会显示“验证不通过”。
![调测设备界面.png](
https://forums-obs.openharmony.c ... jjidg0167j4xgcg.png
"调测设备界面.png")
[/md]
作者:
charleeyang
时间:
2024-7-19 17:06
咨询下,设备授权认证过程中,是否遇到过30004故障码问题?
我们公司采用的是hi3519dv500,ohos v4.0, arm64,红外设备。
设备授权认证时,按照认证要求填写了信息,并多次对比了设备和平台侧的信息、token信息,均一致。但总是报30004故障。
我本人也论坛发帖求助:
https://forums.openharmony.cn/fo ... thread&tid=3256
作者:
lzu-njy
时间:
2024-7-22 21:40
回复
charleeyang
: 你好,这个问题没遇到过哈。
我看了下你帖子中的两条回复,可以再补充一下他们的解决思路:需要比对设备信息与平台填写信息是否一致。
可以通过这个对比程序查看,将hdc shell中通过begetctl dump api获取到的设备信息存为txt,将平台填写信息的json文件导出,与此程序放到同级目录下,执行查看程序结果即可。对比程序链接:链接:
https://pan.baidu.com/s/17G3Zm8pyMIjCmj64uj7UQw?pwd=3568
提取码:3568
作者:
lzu-njy
时间:
2024-7-22 21:45
回复
charleeyang
: 程序使用可以参考链接图片:
https://github.com/yunwuyue7/Ope ... n/reply/reply_1.png
欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/)
Powered by Discuz! X3.5