[HarmonyOS Next示例代码] 鸿蒙功能开发 - 证书算法库框架

鸿蒙功能开发 - 证书算法库框架 源码下载地址 

介绍

本示例使用了@ohos.security.cert相关接口实现了对签名数据进行校验的功能。

实现场景如下:

1)使用正确的原始数据和签名数据进行签名校验场景:模拟服务端通过客户端证书获取公钥,利用公钥对签名数据进行校验,验证客户端身份和原始数据完整性。

2)使用错误的原始数据或签名数据进行签名校验场景:模拟攻击者修改原始数据或签名数据,服务端在利用公钥进行签名校验时,攻击者身份不可信或原始数据不完整,验证失败。

效果预览

主页校验通过校验失败

使用说明

1、点击数据展示按钮,页面文本框中分别显示正确的证书、原始和签名数据内容。

2、点击签名校验按钮,页面弹出弹窗,提示校验通过

3、点击修改原始数据按钮,页面显示修改后的原始数据和正确的证书、签名数据;点击签名校验按钮,页面弹出弹窗,提示校验失败

4、点击修改签名数据按钮,页面显示修改后的签名数据和正确的证书、原始数据;点击签名校验按钮,页面弹出弹窗,提示校验失败

5、点击数据展示按钮,页面恢复正确证书、原始和签名数据的展示;点击签名校验按钮,页面弹出弹窗,提示校验通过

工程目录

├──entry/src/main/ets                                  // 代码区
│  ├──entryability
│  │  └──EntryAbility.ets       
│  ├──model
│  │  ├──CertFrameworkModel.ets                        // 证书算法库框架模型文件
│  │  └──Logger.ets                                    // 日志文件
│  └──pages
│     └──Index.ets                                     // 主界面
└──entry/src/main/resources                            // 应用资源目录

具体实现

  • 使用证书公钥实现签名校验的功能接口Verify封装在CertFrameworkModel中
    • 获取证书公钥:首先调用cert.createX509Cert接口生成证书对象certObject,使用certObject对象的getPublicKey能力获取公钥pubKey;然后调用cryptoFramework.createAsyKeyGenerator接口创建密钥生成器keyGenerator,使用keyGenerator的convertKey能力将公钥pubKey转换为正确的格式。
    • 使用公钥校验签名:首先调用cryptoFramework.createVerify接口创建验签对象verifier,使用公钥pubKey对验签对象verifier进行初始化verifier.init;然后使用验签对象verifier的verify能力对签名进行校验。

相关权限

不涉及。

依赖

  • 加解密算法库框架@ohos.security.cryptoFramework
  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值