Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
c95376fc
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看板
未验证
提交
c95376fc
编写于
8月 08, 2022
作者:
O
openharmony_ci
提交者:
Gitee
8月 08, 2022
浏览文件
操作
浏览文件
下载
差异文件
!7843 HUKS增加attestkey接口说明
Merge pull request !7843 from CheungVane/master
上级
fc1cb139
e44f3a95
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
138 addition
and
0 deletion
+138
-0
zh-cn/application-dev/reference/apis/js-apis-huks.md
zh-cn/application-dev/reference/apis/js-apis-huks.md
+138
-0
未找到文件。
zh-cn/application-dev/reference/apis/js-apis-huks.md
浏览文件 @
c95376fc
...
...
@@ -761,6 +761,144 @@ var huksoptions = {
var
result
=
huks
.
importKey
(
keyAlias
,
huksoptions
);
```
## huks.attestkey<sup>9+</sup>
attestKey(keyAlias: string, options: HuksOptions, callback: AsyncCallback
\<
HuksResult>) : void
获取密钥证书,使用Callback方式回调异步返回结果 。
**系统能力**
:SystemCapability.Security.Huks
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ---------------- | ----------------------------------------- | ---- | -------------------------------------------------- |
| keyAlias | string | 是 | 密钥别名,存放待获取证书密钥的别名。 |
| options |
[
HuksOptions
](
#huksoptions
)
| 是 | 用于获取证书时指定所需参数与数据。 |
| callback | AsyncCallback
\<
[
HuksResult
](
#huksresult
)
> | 是 | 返回HUKS_SUCCESS时表示接口使用成功,其他时为错误。 |
**示例:**
```
js
let
securityLevel
=
stringToUint8Array
(
'
sec_level
'
);
let
challenge
=
stringToUint8Array
(
'
challenge_data
'
);
let
versionInfo
=
stringToUint8Array
(
'
version_info
'
);
let
keyAliasString
=
"
key attest
"
;
function
stringToUint8Array
(
str
)
{
var
arr
=
[];
for
(
var
i
=
0
,
j
=
str
.
length
;
i
<
j
;
++
i
)
{
arr
.
push
(
str
.
charCodeAt
(
i
));
}
var
tmpUint8Array
=
new
Uint8Array
(
arr
);
return
tmpUint8Array
;
}
function
printLog
(...
data
)
{
console
.
error
(
data
.
toString
());
}
async
function
attestKey
()
{
let
aliasString
=
keyAliasString
;
let
aliasUint8
=
stringToUint8Array
(
aliasString
);
let
properties
=
new
Array
();
properties
[
0
]
=
{
tag
:
huks
.
HuksTag
.
HUKS_TAG_ATTESTATION_ID_SEC_LEVEL_INFO
,
value
:
securityLevel
};
properties
[
1
]
=
{
tag
:
huks
.
HuksTag
.
HUKS_TAG_ATTESTATION_CHALLENGE
,
value
:
challenge
};
properties
[
2
]
=
{
tag
:
huks
.
HuksTag
.
HUKS_TAG_ATTESTATION_ID_VERSION_INFO
,
value
:
versionInfo
};
properties
[
3
]
=
{
tag
:
huks
.
HuksTag
.
HUKS_TAG_ATTESTATION_ID_ALIAS
,
value
:
aliasUint8
};
let
options
=
{
properties
:
properties
};
generateKey
(
aliasString
);
setTimeout
(()
=>
huks
.
attestKey
(
aliasString
,
options
,
function
(
err
,
data
)
{
printLog
(
`key attest result :
${
JSON
.
stringify
(
data
)}
`
);
}),
1000
);
}
```
## huks.attestkey<sup>9+</sup>
attestKey(keyAlias: string, options: HuksOptions) : Promise
\<
HuksResult>
获取密钥证书,使用Promise方式异步返回结果 。
**系统能力**
:SystemCapability.Security.Huks
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ---------------- | ----------------------------------------- | ---- | -------------------------------------------------- |
| keyAlias | string | 是 | 密钥别名,存放待获取证书密钥的别名。 |
| options |
[
HuksOptions
](
#huksoptions
)
| 是 | 用于获取证书时指定所需参数与数据。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------------- | -------------------------------------------------- |
| Promise
\<
[
HuksResult
](
#huksresult
)
> | 返回HUKS_SUCCESS时表示接口使用成功,其他时为错误。 |
**示例:**
```
js
let
securityLevel
=
stringToUint8Array
(
'
sec_level
'
);
let
challenge
=
stringToUint8Array
(
'
challenge_data
'
);
let
versionInfo
=
stringToUint8Array
(
'
version_info
'
);
let
keyAliasString
=
"
key attest
"
;
function
stringToUint8Array
(
str
)
{
var
arr
=
[];
for
(
var
i
=
0
,
j
=
str
.
length
;
i
<
j
;
++
i
)
{
arr
.
push
(
str
.
charCodeAt
(
i
));
}
var
tmpUint8Array
=
new
Uint8Array
(
arr
);
return
tmpUint8Array
;
}
function
printLog
(...
data
)
{
console
.
error
(
data
.
toString
());
}
async
function
attestKey
()
{
let
aliasString
=
keyAliasString
;
let
aliasUint8
=
stringToUint8Array
(
aliasString
);
let
properties
=
new
Array
();
properties
[
0
]
=
{
tag
:
huks
.
HuksTag
.
HUKS_TAG_ATTESTATION_ID_SEC_LEVEL_INFO
,
value
:
securityLevel
};
properties
[
1
]
=
{
tag
:
huks
.
HuksTag
.
HUKS_TAG_ATTESTATION_CHALLENGE
,
value
:
challenge
};
properties
[
2
]
=
{
tag
:
huks
.
HuksTag
.
HUKS_TAG_ATTESTATION_ID_VERSION_INFO
,
value
:
versionInfo
};
properties
[
3
]
=
{
tag
:
huks
.
HuksTag
.
HUKS_TAG_ATTESTATION_ID_ALIAS
,
value
:
aliasUint8
};
let
options
=
{
properties
:
properties
};
generateKey
(
aliasString
);
let
result
=
await
huks
.
exportKey
(
attestKey
,
options
);
printLog
(
`key attest result :
${
result
.
errorCode
}
`
);
}
```
## huks.importWrappedKey<sup>9+</sup>
importWrappedKey(keyAlias: string, wrappingKeyAlias: string, options: HuksOptions, callback: AsyncCallback
\<
HuksResult>) : void
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录