鸿蒙开发:Universal Keystore Kit(密钥管理服务)【密钥证明介绍及算法规格】

news2024/9/21 10:48:47

密钥证明介绍及算法规格

HUKS为密钥提供合法性证明能力,主要应用于非对称密钥的公钥的证明。

基于PKI证书链技术,HUKS可以为存储在HUKS中的非对称密钥对的公钥签发证书,证明其公钥的合法性。业务可以通过系统提供的根CA证书,逐级验证HUKS签发的密钥证明证书,来确保证书中的公钥以及对应的私钥,确实来自合法的硬件设备,且存储管理在HUKS中。同时,输出的密钥证书中包含密钥属主信息,格式如下:

密钥属主格式说明
HAP应用{appId:“xxx”, bundleName:“xxx”}bundleName为应用包名
系统服务{processName:“xxx”, APL:"system_basicsystem_core"}

说明: 当调用方为系统服务且APL等级为normal时,暂不支持密钥证明,此种情况下,processName与APL字段将置空。开发前请熟悉鸿蒙开发指导文档gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。

密钥证明过程如下:

  1. 业务将指定密钥别名和需要证明的密钥属性的标签传入HUKS。
  2. 调用HUKS为应用生成一个依次由根CA证书、设备CA证书、设备证书、密钥证书组成的X.509证书链。
  3. 将证书链传输至受信任的服务器,并在服务器上解析和验证证书链的有效性和单个证书是否吊销。

当前提供了两种密钥证明方式。

  • 匿名密钥证明:不会泄露设备信息,没有权限管理。面向所有应用开放。为了保护用户设备信息,三方应用开发者只能使用匿名密钥证明。
  • 非匿名密钥证明:可以看到调用方设备信息,有权限管控,需申请"ohos.permission.ATTEST_KEY"权限。

在这里插入图片描述

支持的算法

以下为密钥证明支持的规格说明。

面向OpenHarmony的厂商适配密钥管理服务规格分为必选规格和可选规格。必选规格为所有厂商均支持的算法规格。而对于可选规格,厂商将基于实际情况决定是否实现,如需使用,请查阅具体厂商提供的说明,确保规格支持再使用。

建议开发者使用必选规格开发应用,可保证全平台兼容。

算法备注API级别是否必选规格
RSA支持Padding为PSS与PKCS1_V1_5的密钥8+
ECC-8+
X25519仅支持非匿名接口8+
SM2-8+

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1921992.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python数据分析-Excel和 Text 文件的读写操作

1.Excel和 Text 文件的读写操作 1. Text 文件读写包 import sys print(sys.argv[0]) print(__file__) print(sys.path[0]) qopen(sys.path[0] "\out.txt","w",encodingutf-8) q.write(这个是测试一下) q.close() print(done)open 语句可以打开的创建text…

DR模式介绍

DR模式 lvs的三种模式 nat:地址转换 DR模式:直接路由模式 tun:隧道模式 DR模式的特点 调度器在整个lvs集群当中是最重要的,在nat模式下,即负责接受请求,同时根据负载均衡的算法转发流量,响…

OceanBase 社区版,搭建,安装,部署

这是阿里的数据库,因为我目前在杭州,所以企业用这个的比较多。 我看的版本是V4.3.1 官网概述解读 我看的是社区版 他是分布式关系型数据库,支持事务。兼容mysql语法,支持水平扩展,LSM数据压缩。 社区版&#xff0…

ROS的TF系统

一、SLAM 1、SLAM全称是Simultaneous Localization And Mapping,即同时定位与地图构建 2、SLAM软件包Hector_Mapping,←建图可参考链接所示文章 二、机器人定位 1、假设机器人开始建图的位置是地图坐标系的原点 2、则机器人在建图过程中的位置可以描…

qml:Material风格下改变控件的颜色

用过Material的都知道,所有控件的默认颜色是玫红色,如果要改变颜色,只需要加一句代码即可:Material.accent: "blue" 你可以将这句写在顶层,那就是所有颜色都改了,如果你单独写在某个控件下&…

【linux】Shell 脚本中的 For 循环详细用法教程

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全…

Elasticsearch详细介绍

B站对应视频: Elasticsearch01-01.为什么学习elasticsearch_哔哩哔哩_bilibili 大多数日常项目,搜索肯定是访问频率最高的页面之一。目前搜索功能是基于数据库的模糊搜索来实现的,存在很多问题。 首先,查询效率较低。 由于数据…

类和对象(初)

目录 一、面向过程和面向对象初步认识 二、类的引入 命名规则 三、类的定义 四、访问限定符 五、类的作用域 六、类的实例化 七.类对象模型 一、面向过程和面向对象初步认识 1.C语言是面向过程的,关注的是过程,分析出求解问题的步骤,…

开发个人Ollama-Chat--5 模型管理 (二)

开发个人Ollama-Chat–5 模型管理 (二) ChatGPT 这是该项目的最终效果,使用ollama的open-webui进行人与机器的对话功能,对话的后端服务则完全对接自己开发的Go项目。 如何实现呢?则通过这篇文章,一一给大家剖析后端的原理及功能…

【进阶篇-Day8:JAVA中递归、异常的介绍】

目录 1、递归的介绍和使用1.1 递归的介绍1.2 案例案例一:案例二:案例三:案例四: 1.3 总结 2、异常的介绍和使用2.1 异常的介绍:(1)能够看懂异常(2)异常的体系接口和分类&…

fortran快速排序算法,示例对一维数组进行排序

fortran快速排序算法,示例对一维数组进行排序 0. 引言1. 快速排序方法(QuickSqrt)代码实现2. 结语 0. 引言 快速排序(QuickSort)是一种常用的排序算法,采用分治策略实现。它的基本思想是通过一趟排序将待排序的数据分割成独立的两…

[笔试训练](三十六)106:提取不重复的整数107:哈夫曼编码108:abb

目录 106:提取不重复的整数 107:哈夫曼编码 108:abb 106:提取不重复的整数 题目链接:提取不重复的整数_牛客题霸_牛客网 (nowcoder.com) 题目: ​ 题解: #include <iostream> #include <string> using namespace std; int n0; int cnt[10]; int ret0; int mai…

MySQL CONCAT函数的简单使用

CONCAT函数用于将mysql中查询多列的值拼成一列显示&#xff0c; 使用示例&#xff1a; SELECT CONCAT(attr_name,"&#xff1a;",attr_value) FROM pms_sku_sale_attr_value WHERE sku_id1; 上面SQL语句使用CONCAT函数将attr_name、attr_value两列的值拼成一列&am…

【代码随想录】【算法训练营】【第62天】 [卡码108]冗余连接 [卡码109]冗余连接II

前言 思路及算法思维&#xff0c;指路 代码随想录。 题目来自 卡码网。 day 62&#xff0c;又是一个周一&#xff0c;ding~ 题目详情 [卡码108] 冗余连接 题目描述 卡码108 冗余连接 LeetCode类似题目684 冗余连接 解题思路 前提&#xff1a; 思路&#xff1a; 重点&a…

如何对odoo17网站cookies进行配置(How to configure cookies for Odoo 17 website?)

浏览器cookies具有缓存和加速的作用&#xff0c;odoo17 website 模块内置了cookies的选项: &#xff08;Browser cookies have the function of caching and acceleration, and the Odoo 17 website module has built-in options for cookies:&#xff09; 1、安装website模块后…

TCP传输控制协议

传输控制协议&#xff08;TCP&#xff0c;Transmission Control Protocol&#xff09;是一种面向连接的、可靠的、基于字节流的传输层通信协议&#xff0c;由IETF的RFC 793[1]定义。 TCP旨在适应支持多网络应用的分层协议层次结构。 连接到不同但互连的计算机通信网络的主计算机…

【C++】哈希表的模拟实现及 unordered_set 和 unorderded_map 的封装

目录 前言一、哈希表的模拟实现1.1 哈希表的改造1.1.1 模板参数列表的改造1.1.2 增加迭代器操作 1.2 哈希表的模拟实现1.2.1 哈希表中仿函数的实现1.2.2 哈希表中节点类的实现1.2.3 哈希表中迭代器类的实现1.2.4 哈希表中构造函数、析构函数和 Clear() 函数的实现1.2.5 哈希表中…

JZ62 孩子们的游戏(圆圈中最后剩下的数)

题目来源&#xff1a;牛客 题目描述&#xff1a; 每年六一儿童节&#xff0c;牛客都会准备一些小礼物和小游戏去看望孤儿院的孩子们。其中&#xff0c;有个游戏是这样的&#xff1a;首先&#xff0c;让 n 个小朋友们围成一个大圈&#xff0c;小朋友们的编号是0~n-1。然后&…

Git 课程任务

** ** https://github.com/InternLM/Tutorial/pull/905 https://github.com/onlyzer0/all_you_need/blob/main/README.md

Dify中固定递归字符文本分割器的chunk长度计算方式

本文主要从源码角度剖析了Dify中FixedRecursiveCharacterTextSplitter的chunk长度计算方式。 1.self._length_function(chunk) 源码位置:dify\api\core\splitter\fixed\_text\_splitter.py\FixedRecursiveCharacterTextSplitter类\split\_text方法\self.\_length\_function(…