• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 签名验签(C/C++)
2
3### 介绍
4
5当需要判断接收的数据是否被篡改、数据是否为指定对象发送的数据时,可以使用签名验签操作。接下来将说明系统目前支持的算法及其对应的规格。
6
7本示例主要展示了签名验签(C/C++)的多种场景 。该工程中展示的代码详细描述可查如下链接。
8
9- [使用RSA密钥对(PKCS1模式)验签(C/C++)](https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/security/CryptoArchitectureKit/crypto-rsa-sign-sig-verify-pkcs1-ndk.md)
10- [使用RSA密钥对(PKCS1模式)签名恢复(C/C++)](https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/security/CryptoArchitectureKit/crypto-rsa-sign-sig-verify-recover-pkcs1-ndk.md)
11- [使用RSA密钥对分段验签(PKCS1模式)(C/C++)](https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/security/CryptoArchitectureKit/crypto-rsa-sign-sig-verify-pkcs1-by-segment-ndk.md)
12- [使用RSA密钥对验签(PSS模式)(C/C++)](https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/security/CryptoArchitectureKit/crypto-rsa-sign-sig-verify-pss-ndk.md)
13- [使用ECDSA密钥对验签(C/C++)](https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/security/CryptoArchitectureKit/crypto-ecdsa-sign-sig-verify-ndk.md)
14- [使用SM2密钥对验签(C/C++)](https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/security/CryptoArchitectureKit/crypto-sm2-sign-sig-verify-pkcs1-ndk.md)
15
16### 效果预览
17
18| 首页效果图                                                   | 执行结果图                                                   |
19| ------------------------------------------------------------ | ------------------------------------------------------------ |
20| <img src="./screenshots/SigningSignatureVerification1.png" style="zoom: 50%;" /> | <img src="./screenshots/SigningSignatureVerification2.png" style="zoom: 50%;" /> |
21
22### 使用说明
23
241. 运行Index主界面。
252. 页面呈现上述执行结果图效果,点击不同按钮可以跳转到不同功能页面,点击跳转页面中按钮可以执行对应操作,并更新文本内容。
263. 运行测试用例SigningSignatureVerification.test.ets文件对页面代码进行测试可以全部通过。
27
28### 工程目录
29
30```
31entry/src/
32 ├── main
33 │   ├── cpp
34 │   │   ├── types
35 │   │   |   ├── libentry
36 │   │   |       ├── index.d.ts
37 │   │   |       ├── oh-package.json5
38 │   │   |   ├── project
39 │   │   |       ├── ecdsa_signature_verification.cpp
40 │   │   |       ├── rsa_pkcs1_segment_signature.cpp
41 │   │   |       ├── rsa_pkcs1_signature_restoration.cpp
42 │   │   |       ├── rsa_pkcs1_signature_validator.cpp
43 │   │   |       ├── rsa_pss_verification_tool.cpp
44 │   │   |       ├── signing_signature_verification.h
45 │   │   |       ├── sm2_signature_verification.cpp
46 │   │   ├── CMakeList.txt
47 │   │   ├── napi_init.cpp
48 │   ├── ets
49 │   │   ├── entryability
50 │   │   ├── entrybackupability
51 │   │   ├── pages
52 │   │       ├── Index.ets               // 签名验签(C/C++)示例代码
53 │   ├── module.json5
54 │   └── resources
55 ├── ohosTest
56 │   ├── ets
57 │   │   └── test
58 │   │       ├── Ability.test.ets
59 │   │       ├── SigningSignatureVerification.test.ets  // 自动化测试代码
60 │   │       └── List.test.ets
61```
62
63### 相关权限
64
65不涉及。
66
67### 依赖
68
69不涉及。
70
71### 约束与限制
72
731.本示例仅支持标准系统上运行, 支持设备:RK3568。
74
752.本示例为Stage模型,支持API14版本SDK,版本号:5.0.2.57,镜像版本号:OpenHarmony_5.0.2.58。
76
773.本示例需要使用DevEco Studio 5.0.1 Release (Build Version: 5.0.5.306, built on December 6, 2024)及以上版本才可编译运行。
78
79### 下载
80
81如需单独下载本工程,执行如下命令:
82
83````
84git init
85git config core.sparsecheckout true
86echo code/DocsSample/Security/CryptoArchitectureKit/SignatureVerification/SigningSignatureVerification > .git/info/sparse-checkout
87git remote add origin https://gitee.com/openharmony/applications_app_samples.git
88git pull origin master
89````