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