生成密鑰(ArkTS)
以生成DH密鑰為例,生成隨機密鑰。具體的場景介紹及支持的算法規(guī)格
注意: 密鑰別名中禁止包含個人數(shù)據(jù)等敏感信息。
開發(fā)前請熟悉鴻蒙開發(fā)指導文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
開發(fā)步驟
- 指定待生成的密鑰別名keyAlias。
- 密鑰別名的最大長度為64字節(jié)。
- 對于不同業(yè)務間生成的密鑰,HUKS將基于業(yè)務身份信息進行存儲路徑隔離,不會因為和其他業(yè)務密鑰同名導致沖突。
- 初始化密鑰屬性集。通過[HuksParam]封裝密鑰屬性,搭配Array組成密鑰屬性集,并賦值給[HuksOptions]中的properties字段。 密鑰屬性集中必須包含[HuksKeyAlg],[HuksKeySize],[HuksKeyPurpose]屬性,即必傳TAG,HUKS_TAG_ALGORITHM、HUKS_TAG_PURPOSE、HUKS_TAG_KEY_SIZE。
- 調(diào)用[huks.generateKeyItem],傳入密鑰別名和密鑰屬性集,生成密鑰。
說明: 如果業(yè)務再次使用相同別名調(diào)用HUKS生成密鑰,HUKS將生成新密鑰并直接覆蓋歷史的密鑰文件。
HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿
/* 以下以生成DH密鑰為例 */
import { huks } from "@kit.UniversalKeystoreKit";
/* 1.確定密鑰別名 */
let keyAlias = 'dh_key';
/* 2.初始化密鑰屬性集 */
let properties1: Array< huks.HuksParam > = [
{
tag: huks.HuksTag.HUKS_TAG_ALGORITHM,
value: huks.HuksKeyAlg.HUKS_ALG_DH
},
{
tag: huks.HuksTag.HUKS_TAG_PURPOSE,
value: huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_AGREE
},
{
tag: huks.HuksTag.HUKS_TAG_KEY_SIZE,
value: huks.HuksKeySize.HUKS_DH_KEY_SIZE_2048
},
{
tag: huks.HuksTag.HUKS_TAG_DIGEST,
value: huks.HuksKeyDigest.HUKS_DIGEST_SHA256
}
];
let huksOptions: huks.HuksOptions = {
properties: properties1,
inData: new Uint8Array(new Array())
}
/* 3.生成密鑰 */
function generateKeyItem(keyAlias: string, huksOptions: huks.HuksOptions){
return new Promise< void >((resolve, reject) = > {
try {
huks.generateKeyItem(keyAlias, huksOptions, (error, data) = > {
if (error) {
reject(error);
} else {
resolve(data);
}
});
} catch (error) {
throw (error as Error);
}
});
}
async function publicGenKeyFunc(keyAlias: string, huksOptions: huks.HuksOptions) {
console.info(`enter promise generateKeyItem`);
try {
await generateKeyItem(keyAlias, huksOptions)
.then((data) = > {
console.info(`promise: generateKeyItem success, data = ${JSON.stringify(data)}`);
})
.catch((error: Error) = > {
console.error(`promise: generateKeyItem failed, ${JSON.stringify(error)}`);
});
} catch (error) {
console.error(`promise: generateKeyItem input arg invalid` + JSON.stringify(error));
}
}
async function TestGenKey() {
await publicGenKeyFunc(keyAlias, huksOptions);
}
審核編輯 黃宇
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
密鑰
+關(guān)注
關(guān)注
1文章
146瀏覽量
20276 -
鴻蒙
+關(guān)注
關(guān)注
60文章
2620瀏覽量
44058
發(fā)布評論請先 登錄
相關(guān)推薦
熱點推薦
鴻蒙5開發(fā)寶藏案例分享---穿戴開發(fā)寶藏指南
太棒了!鴻蒙官方文檔里竟然藏著這么個大寶藏!之前開發(fā)智能穿戴應用時感覺資源匱乏,沒想到在“最佳實踐”里藏著這么多 現(xiàn)成的、高質(zhì)量的案例和代碼 !今天必須跟大家好好分享一下這個“輕量級智能穿戴開發(fā)實踐
發(fā)表于 06-12 16:12
使用DevEcoStudio 開發(fā)、編譯鴻蒙 NEXT_APP 以及使用中文插件
的一站式集成開發(fā)環(huán)境(IDE),專為鴻蒙操作系統(tǒng)(HarmonyOS Next)應用和服務開發(fā)設(shè)計 DevEco Studio,掌握基本操作和開發(fā)
發(fā)表于 06-11 17:18
HarmonyOS5云服務技術(shù)分享--ArkTS開發(fā)函數(shù)
等打包
? 支持Node.js 14.x/18.x和Java 1.8
? 支持HTTP觸發(fā)器調(diào)用
? 持續(xù)開發(fā)調(diào)試一條龍
?? 準備工作:
安裝AGCLI工具(華為應用分發(fā)服務命令行工具)
準備測試
發(fā)表于 05-22 17:29
鴻蒙應用元服務開發(fā)-Account Kit配置登錄權(quán)限
的用戶體系。
用戶打開元服務時,不需要用戶點擊登錄/注冊按鈕,即可獲取用戶的身份標識UnionID/OpenID,完成靜默登錄。靜默登錄詳細接入體驗可參考Account Kit提供的SampleCode
發(fā)表于 04-15 16:03
鴻蒙應用元服務開發(fā)-Account Kit獲取手機號
客戶端開發(fā)參見Scenario Fusion Kit的快速驗證手機號Button。
服務端開發(fā)
1.元服務
發(fā)表于 04-08 16:14
鴻蒙應用元服務開發(fā)-Account Kit獲取收貨地址
Fusion Kit對應的Button組件并設(shè)置openType為CHOOSE_ADDRESS,打開華為賬號收貨地址管理頁面。
用戶可以在收貨地址管理頁面添加新的收貨地址或者選擇已有收貨地址,點擊確認后
發(fā)表于 04-07 17:15
鴻蒙應用元服務開發(fā)-Account Kit獲取華為賬號用戶信息概述
一、概述
當元服務需要完善用戶個人資料(頭像、手機號、收貨地址、發(fā)票抬頭)時,可通過Account Kit提供的相關(guān)能力,引導用戶填寫、管理相關(guān)信息并完成授權(quán)。獲取頭像、手機號、收貨地址、發(fā)票抬頭
發(fā)表于 04-02 11:10
鴻蒙應用元服務開發(fā)-Account Kit獲發(fā)票抬頭
一、場景介紹
當元服務需要獲取用戶發(fā)票抬頭時,可使用選擇發(fā)票抬頭Button,幫助用戶打開發(fā)票抬頭選擇頁面進行選擇或管理發(fā)票抬頭。
二、業(yè)務流程
流程說明:
用戶需要使用發(fā)票抬頭時,元服務
發(fā)表于 04-01 15:26
鴻蒙應用元服務開發(fā)-Account Kit概述
賬號服務功能當前僅支持中國境內(nèi)(不包含中國香港、中國澳門、中國臺灣)。
五、華為賬號登錄管理細則
為了確保用戶獲得良好的登錄體驗,根據(jù)《華為開發(fā)者服務協(xié)議》、《華為APIs使用協(xié)議》、
發(fā)表于 03-31 12:08
如何將Keyring用于CAAM分區(qū)加密的密鑰?
我正在按照此方法加密我的 emmc 分區(qū) -
1. 生成密鑰:
keyname=dm_trust
KEY=“$(keyctl add trusted $KEYNAME \'new 32\' @s
發(fā)表于 03-20 06:40
HarmonyOS NEXT應用元服務開發(fā)Intents Kit(意圖框架服務)綜述
一、綜述
Intents Kit(意圖框架服務)是HarmonyOS級的意圖標準體系 ,意圖連接了應用/元服務內(nèi)的業(yè)務功能。
意圖框架能幫開發(fā)者將應用/元
發(fā)表于 11-28 10:43
鴻蒙原生開發(fā)手記:01-元服務開發(fā)
簡介
元服務是鴻蒙中的一種輕量應用形態(tài),無需下載,直接運行。類似于微信小程序,但與小程序不同的是,元服務更加輕量。
元服務使用原生開發(fā),是系
發(fā)表于 11-14 17:28
鴻蒙Flutter實戰(zhàn):06-使用ArkTs開發(fā)Flutter鴻蒙插件
# 使用 ArkTs 開發(fā) Flutter 鴻蒙平臺插件
本文講述如何開發(fā)一個 Flutter 鴻蒙插件,如何實現(xiàn) Flutter 與
發(fā)表于 10-22 21:56
TMP1827 的 密鑰生成和身份驗證機制
電子發(fā)燒友網(wǎng)站提供《TMP1827 的 密鑰生成和身份驗證機制.pdf》資料免費下載
發(fā)表于 09-09 09:24
?0次下載

鴻蒙原生應用元服務開發(fā)-倉頡ArkTS相互操作(一)
ArkTS 運行時接口,為用戶提供庫級別的 ArkTS 互操作能力。一、使用場景:
1.在 ArkTS 應用開發(fā)倉頡模塊:把用戶倉頡代碼封裝成為
發(fā)表于 07-31 17:43
評論