HarmonyOS SM2依据已有的字符串的私钥和公钥进行签名和验签

当前为生成SM2公私钥并进行签名验签过程,是否有根据已有的SM2公私钥进行签名和验签的方法?以及该SM2是否为标准的SM2,类似BC库的?

HarmonyOS
2024-08-13 15:10:16
1278浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
Heiang

根据已有的SM2公私钥进行签名和验签的方法是支持的,其中加密代码使用如下:

function encryptMessagePromise(publicKey:Uint8Array|string) { 
  let publickKeyData = new Uint8Array(); 
  if(typeof publicKey === ‘string’){ 
    publickKeyData = stringToUint8Array(publicKey) 
  }else{ 
    publickKeyData = publicKey; 
  } 
  // 创建 AsyKeyGenerator 实例。 
  let sm2Generator = cryptoFramework.createAsyKeyGenerator(“SM2_256”); 
  // 创建 Cipher 实例。 
  let cipher = cryptoFramework.createCipher(“SM2_256|SM3”); 
  // 使用 convertKey导入公钥或私钥获取密钥对。 
  const publicKeyDataBlob:cryptoFramework.DataBlob = { data: publickKeyData }; 
  sm2Generator.convertKey(publicKeyDataBlob,null).then((sm2KeyPair: cryptoFramework.KeyPair): Promise<void> => { 
    let pubKey = sm2KeyPair.pubKey; 
    // 初始化 Cipher 实例并使用公钥对消息进行加密。 
    return cipher.init(cryptoFramework.CryptoMode.ENCRYPT_MODE, pubKey, null); 
  }).then(() => { 
    // 加密 
    let input: cryptoFramework.DataBlob = { data: stringToUint8Array(plan) }; 
    return cipher.doFinal(input); 
  }).then(dataBlob => { 
    // 获取加密数据。 
    console.info("EncryptOutPut is " + dataBlob.data); 
  }); 
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.

当调用convertKey方法将外来二进制数据转换为算法库非对称密钥对象时,公钥应满足ASN.1语法、X.509规范、DER编码格式,私钥应满足ASN.1语法、PKCS#8规范、DER编码格式。convertKey方法中,公钥和密钥二进制数据非必选项,可单独传入公钥或私钥的数据,生成对应只包含公钥或私钥的KeyPair对象。

分享
微博
QQ
微信
回复
2024-08-13 21:03:41


相关问题
huks sm2签名失败
952浏览 • 1回复 待解决
HarmonyOS sm2失败
775浏览 • 1回复 待解决
HarmonyOS SM2返回Base64字符串
840浏览 • 1回复 待解决
HarmonyOS SM2SM3摘要算法使用
1254浏览 • 1回复 待解决
HarmonyOS SM2PEM读取接口
761浏览 • 1回复 待解决
HarmonyOS 指定私钥生成SM2方法
683浏览 • 1回复 待解决
HarmonyOS 国密SM2转换失败
849浏览 • 1回复 待解决
HarmonyOS SM2私钥转换
646浏览 • 1回复 待解决
HarmonyOS SM2数据签名
549浏览 • 1回复 待解决
HarmonyOS Sm2DES加解密问题
1126浏览 • 1回复 待解决
HarmonyOS sm2签名后数据长度问题
481浏览 • 1回复 待解决
HarmonyOS SM3
802浏览 • 1回复 待解决