Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
c76e0e4d
D
Docs
项目概览
OpenHarmony
/
Docs
1 年多 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
c76e0e4d
编写于
6月 12, 2023
作者:
O
openharmony_ci
提交者:
Gitee
6月 12, 2023
浏览文件
操作
浏览文件
下载
差异文件
!19533 【开发自提单】加解密算法库文档整改格式问题
Merge pull request !19533 from 胡啸天/master
上级
72421975
8f86223c
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
15 addition
and
24 deletion
+15
-24
zh-cn/application-dev/security/cryptoFramework-guidelines.md
zh-cn/application-dev/security/cryptoFramework-guidelines.md
+2
-0
zh-cn/application-dev/security/cryptoFramework-overview.md
zh-cn/application-dev/security/cryptoFramework-overview.md
+13
-24
未找到文件。
zh-cn/application-dev/security/cryptoFramework-guidelines.md
浏览文件 @
c76e0e4d
...
...
@@ -140,6 +140,8 @@ function convertAsyKey() {
2.
调用convertKey方法,传入公钥二进制和私钥二进制(二者非必选项,可只传入其中一个),转换为KeyPair对象。
```
js
import
cryptoFramework
from
'
@ohos.security.cryptoFramework
'
;
function
convertEccAsyKey
()
{
let
pubKeyArray
=
new
Uint8Array
([
48
,
89
,
48
,
19
,
6
,
7
,
42
,
134
,
72
,
206
,
61
,
2
,
1
,
6
,
8
,
42
,
134
,
72
,
206
,
61
,
3
,
1
,
7
,
3
,
66
,
0
,
4
,
83
,
96
,
142
,
9
,
86
,
214
,
126
,
106
,
247
,
233
,
92
,
125
,
4
,
128
,
138
,
105
,
246
,
162
,
215
,
71
,
81
,
58
,
202
,
121
,
26
,
105
,
211
,
55
,
130
,
45
,
236
,
143
,
55
,
16
,
248
,
75
,
167
,
160
,
167
,
106
,
2
,
152
,
243
,
44
,
68
,
66
,
0
,
167
,
99
,
92
,
235
,
215
,
159
,
239
,
28
,
106
,
124
,
171
,
34
,
145
,
124
,
174
,
57
,
92
]);
let
priKeyArray
=
new
Uint8Array
([
48
,
49
,
2
,
1
,
1
,
4
,
32
,
115
,
56
,
137
,
35
,
207
,
0
,
60
,
191
,
90
,
61
,
136
,
105
,
210
,
16
,
27
,
4
,
171
,
57
,
10
,
61
,
123
,
40
,
189
,
28
,
34
,
207
,
236
,
22
,
45
,
223
,
10
,
189
,
160
,
10
,
6
,
8
,
42
,
134
,
72
,
206
,
61
,
3
,
1
,
7
]);
...
...
zh-cn/application-dev/security/cryptoFramework-overview.md
浏览文件 @
c76e0e4d
...
...
@@ -100,7 +100,7 @@
-
PKCS5:填充字符由一个字节序列组成,每个字节填充该填充字节序列的长度,规定是8字节填充。
-
PKCS7:填充字符和PKCS5填充方法一致,但是可以在1-255字节之间任意填充。
> **说明:**
> **说明:**
>
> ECB、CBC加密模式,明文长度不是64位整数倍,必须使用填充方法补足。<br/>
> 由于需要填充至分组大小,所以实际算法库中的PKCS5和PKCS7都是以分组大小作为填充长度的,即3DES加密填充至8字节。
...
...
@@ -110,16 +110,11 @@
RSA为块加密算法,加密长度需要在固定长度进行,实际应用中会使用各种padding模式做数据填充。算法库目前提供了RSA加解密常用的三种模式:NoPadding、PKCS1和PKCS1_OAEP。下文中描述了各个padding的区别:
-
NoPadding:不带填充,输入的数据必须与RSA钥模一样长,输出数据长度与RSA钥模一样长。
-
PKCS1:即RFC3447规范中的RSAES-PKCS1-V1_5模式(对应于OpenSSL中的RSA_PKCS1_PADDING)在进行RSA运算时需要将源数据D转化为Encryption block(EB),加密时,输入的数据最大长度 <= RSA钥模 - 11,输出数据长度与RSA钥模一样长。
-
PKCS1_OAEP:即RFC3447规范中的RSAES-OAEP模式(对应于OpenSSL中的RSA_PKCS1_OAEP_PADDING),是PKCS#1推出的新填充方式,此模式需要设置两个摘要(md和mgf1_md),加密时,输入的数据必须小于RSA钥模 - md摘要长度 - mgf1_md摘要长度 - 2(摘要长度以字节为单位),输出数据长度与RSA钥模一样长;此模式还可额外设置pSource字节流,来定义OAEP填充的编码输入P,并且可以获取PKCS1_OAEP的相关参数。
PKCS1_OAEP的相关参数包括:
md: 摘要算法。
mgf: 掩码生成算法,目前仅支持MGF1。
mgf1_md: mgf1摘要算法。
-
PKCS1_OAEP:即RFC3447规范中的RSAES-OAEP模式(对应于OpenSSL中的RSA_PKCS1_OAEP_PADDING),是PKCS#1推出的新填充方式,此模式需要设置两个摘要(md和mgf1_md),加密时,输入的数据必须小于RSA钥模 - md摘要长度 - mgf1_md摘要长度 - 2(摘要长度以字节为单位),输出数据长度与RSA钥模一样长;此模式还可额外设置pSource字节流,来定义OAEP填充的编码输入P,并且可以获取PKCS1_OAEP的相关参数。
<br><br>
PKCS1_OAEP的相关参数包括:
<br>
md: 摘要算法。
<br>
mgf: 掩码生成算法,目前仅支持MGF1。
<br>
mgf1_md: mgf1摘要算法。
<br>
pSource: 字节流,用于编码输入。
> **说明:**
...
...
@@ -132,18 +127,12 @@
算法库框架目前提供了两种RSA签名验签的padding模式:PKCS1和PSS。下面对两种模式做详细描述:
-
PKCS1: 即RFC3447规范中的RSASSA-PKCS1-V1_5模式(对应于OpenSSL中的RSA_PKCS1_PADDING),在签名验签时,使用该模式时需要设置摘要(md),摘要算法输出的长度(字节)需要小于RSA的钥模。
-
PSS: 即RFC3447规范中的RSASSA-PSS模式(对应于OpenSSL中的RSA_PKCS1_PSS_PADDING),此模式需要设置两个摘要(md和mgf1_md),且md和mgf1_md长度之和(字节)需要小于RSA的钥模;此模式还可额外设置以字节为单位的盐长度(saltLen),并且可以获取PSS的相关参数。
PSS的相关参数包括:
md: 摘要算法。
mgf: 掩码生成算法,目前仅支持MGF1。
mgf1_md: MGF1算法中使用的摘要算法。
saltLen: 盐长度,以字节为单位。
-
PSS: 即RFC3447规范中的RSASSA-PSS模式(对应于OpenSSL中的RSA_PKCS1_PSS_PADDING),此模式需要设置两个摘要(md和mgf1_md),且md和mgf1_md长度之和(字节)需要小于RSA的钥模;此模式还可额外设置以字节为单位的盐长度(saltLen),并且可以获取PSS的相关参数。
<br><br>
PSS的相关参数包括:
<br>
md: 摘要算法。
<br>
mgf: 掩码生成算法,目前仅支持MGF1。
<br>
mgf1_md: MGF1算法中使用的摘要算法。
<br>
saltLen: 盐长度,以字节为单位。
<br>
trailer_field:用于编码操作的整数,其值只支持为1。
> **说明:**
...
...
@@ -266,7 +255,7 @@ HMAC(Hash-based Message Authentication Code)是一种基于密钥的消息
|sk| | |× |√ |
> **说明:**
>
>
> 密钥参数用于在创建非对称密钥生成器时,指定密钥规格。</br>
> 上表说明了算法库对于指定公/私钥参数生成RSA密钥的支持情况。</br>
打√的表示需要指定这一列中的具体属性,来构成密钥参数。
</br>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录