HarmonyOS 鸿蒙Next RSA加密的秘钥转换问题
HarmonyOS 鸿蒙Next RSA加密的秘钥转换问题
KeyFactory keyFactory = KeyFactory.getInstance(“RSA”); byte[] bytePublicKey = Base64.decode(publicKey, 0); X509EncodedKeySpec x509EncodedKeySpec = new X509EncodedKeySpec(bytePublicKey); Key publicK = keyFactory.generatePublic(x509EncodedKeySpec); String transformation = “RSA/ECB/PKCS1Padding”; Cipher cipher = Cipher.getInstance(transformation); cipher.init(1, publicK);
已知publicKey,ArkTS如何实现像上面安卓代码的将publicKey转成X509EncodedKeySpec,然后生成RSA公钥?重点是如何转X509EncodedKeySpec
更多关于HarmonyOS 鸿蒙Next RSA加密的秘钥转换问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
更多关于HarmonyOS 鸿蒙Next RSA加密的秘钥转换问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
请问,楼主问题解决了吗?感谢
找HarmonyOS工作还需要会Flutter的哦,有需要Flutter教程的可以学学大地老师的教程,很不错,B站免费学的哦:https://www.bilibili.com/video/BV1S4411E7LY/?p=17
/*
* 获取key对象
* */
private static async genPublicKeyPairByData(): Promise<cryptoFramework.KeyPair> {
let base64Helper = new util.Base64Helper();
let cerData = base64Helper.decodeSync(server_public_key)
let encodingBlob: certFramework.EncodingBlob = {
data: cerData,
// 根据encodingData的格式进行赋值,支持FORMAT_PEM和FORMAT_DER
encodingFormat: certFramework.EncodingFormat.FORMAT_DER
};
let x509Cert = await certFramework.createX509Cert(encodingBlob)
let x509PubKey = x509Cert.getPublicKey()
let keyGen = cryptoFramework.createAsyKeyGenerator('RSA1024|PRIMES_2')
let keyPair = keyGen.convertKey(x509PubKey.getEncoded(),null)
return keyPair;
}
请问这个方法执行成功了吗?这边按照这个写法执行createX509Cert时报错了,code=401 message=“create X509Cert failed”
成功了的
不好意思,没看懂如何转换,麻烦可以帮忙给一下转换的示例代码吗,万分感谢
大佬,这个问题解决了吗
关于HarmonyOS 鸿蒙Next RSA加密的秘钥转换问题,首先需要确保秘钥格式正确,RSA秘钥通常包含公钥和私钥,格式需符合标准(如PKCS#1)。若遇到秘钥转换问题,检查秘钥是否为有效编码(如Base64)并正确转换。此外,确认使用的加密库和API支持你的秘钥类型和长度。如果问题依旧没法解决,请加我微信,我的微信是itying888。
更多关于HarmonyOS 鸿蒙Next RSA加密的秘钥转换问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html