已有信息:
publicKeyXHex =E2F5F400F7B71BAD5596BB7D6048DAAE133F34DF3A65F6C3167B50DD295C2A8F
publicKeyYHex =A76B771B857E5881A54F45FE4D19B4815B021E69371E1BBB3CFA6D594A535181
根据文档:
// 生成SM2密钥对
async function genKeyPairByData(pubKeyData: Uint8Array, priKeyData: Uint8Array) {
let pubKeyBlob: cryptoFramework.DataBlob = { data: pubKeyData };
let priKeyBlob: cryptoFramework.DataBlob = { data: priKeyData };
let sm2Generator = cryptoFramework.createAsyKeyGenerator('SM2_256');
let keyPair = await sm2Generator.convertKey(pubKeyBlob, priKeyBlob);
console.info('convertKey success');
return keyPair;
}
其中必须在初始化KeyPair中要传入公钥和私钥,目前SM2加密只有公钥,没有私钥如何进行初始化?
HarmonyOS 端加密,java端解密的话是不需要私钥的,只需要传入已有的十六进制公钥,使用以下demo 代码实例即可
以上为c1c2c3 的解密模式
c1c3c2 的方式为