HarmonyOS RSA签名验签相关

之前提过类似的问题,但是当时是利用已知的公钥+私钥,生成密钥对进行签名+验签,注意,此处是密钥对,但是开发中,往往客户端只有一个私钥去进行签名,我们客户端不需要用公钥进行验签操作的,也就是说密钥对的‘对’是无法生成的

let keyPair = rsaGenerator.convertKeySync(pubKeyBlob, priKeyBlob);

这个生成RSA密钥对的API需要传两个参数才行,所以现在的问题是,客户端这边只有一个私钥(用于签名用),并没有公钥(验签用),因为我们无需验签,验签是服务端的事情,所以,如何只利用私钥进行签名操作呢

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

请尝试以下代码demo示例:

function SignVerifyCrypto() {
  let keyGenAlg = "RSA1024";

  let pubKeyVal = "";
  let priKeyVal = "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxg+mGSEJE85ApmV+fK2Sgn1/hf6nw8mhICYtU+36sACLpbiJ/lj+FqgoPY/w9a5xDxxxxxxxxxxxxxxxxxxxxxxxxxEEFTVDH5czoQVx6UvOw6gIeTrnNrbm2bXIvdjb7xwYj6sQxl+1cEa7+Mf8y5pFkhQn6phypTLa9u+NlT3l72Xg8TggpDRORrMfgYJTqcMJHEFzk05LebndQGay7ecooVRH4JarAOYjC2zync6h/a2+c5nhMG4LMrNruvb+fHaenphLIcJlVROZWNt20NZRn/nA0Lm0ZyZhZAgMBAAECggEAF1scKQOWXlHeXlRWZPFl0rdrc/rOSc7ogKk8Oj1bhCuuHw+Y2i9WNrc5GXHNN1km7I0Q/nRat1P3v9NuBW8oH0jFvMfBOstev3aR2WamLt7Dxey6FlFWDQTi3x+VlvhFliWuJqn+WeD4YZy/lhnqJnNIFjIn3rvIPJW5Hv5SuDRCh3DXjAQn3jb/DBTSbz5RpUhD/1/f1jKNuKfEpIeKmOEX6rKnhPYX5O6XT6GJCFR5D14Q9/30j19PNJDlNlZIzweha9/spOqAydqE5EQ/1D7rO3aECRheY1enMi9cXiqh9ccZUPCHnTH6GtuEQaUS6EYfIZYexx+/9zJjrU/Z/QKBgQDgmvAvJkv99LbNwpjf6h7aKQBHowwmm5ZHt31Ptb25KC3LxxxxxxxxxxxxxxxxxxdshJA3+/eY+/yzg1PDvvih72RU+u/SDKnMwza8o6tkQg966JePD083OSIaTh1yVCQe31W5BZJJvKIo5DBXxSz5TIUrvI77W3wKBgQDCIM31AkwBbDkVI4qsl50QfjOlZfunXyePuRNmQJtZhhFU/iq0uMbBz12omj8E3GSDEV4/snB+UmBCOQj7Giw8YW8iOdhXeJVr+yKTE5dBzL3cGRHZ3L4j2yFAIjbDAIitcFGwjLhtAyCcf9L/Sdj9piOdr6L5TYCzvE+R6NaPxwKBgQC/YCUg94+ufnG4VoPt3k2Vc3QSlgHHb7CXwOecIG3cszh6CHXWI9rPeD6RT4IzMGloJlN+YYLa9Qu2bEMkrvAdY0248Jeunyddh3WLs5i+nk/yGH+T7K8xXDtN/vTYKcNlbfSFBcREFKKn58p/G5ON9Uv5Gawkogkjye1QX/O+nwKBgH0JbB73j8UK0+mNrvBj50KMRu+ttF2lqHGmH5yo2GbdN6Sq4Q7uRPbofcbvMtAKtKLHORGF+Xcjz+RXoDU8MmnhyBcfcv1EKdoXM7nP0IkNOuzdKOZOjBnENrJ8VxFa8q3jvnoc6V0tun+SxXCxPBaEQER8sFgrV05taELu2eRZAoGAbKgz9xdUxit91M3ecT31qRZWLdT8039a/bLAdYKb0I7BI7BcZOA3+NYHGR/uRceg3uWM+2+Q9mrANd3wVg6g/7o5MRc75+VT+ZJVqDIC/vXydpS0lMobFMh9kyKFy/KMhgIuF1aeNY0JM03sxANSZ/MQirEoIxElfQP6kFHcibw=";

  let base64 = new util.Base64Helper();
  let priKey = base64.decodeSync(priKeyVal)
  let pubKey = new Uint8Array;

  let keyPair = genKeyPairByData(pubKey, priKey)
分享
微博
QQ
微信
回复
22h前
相关问题
RSA签名后,后端失败
201浏览 • 1回复 待解决
HarmonyOS 接口参数的RSA签名+
5浏览 • 0回复 待解决
HarmonyOS HarmonyOS签名问题
1浏览 • 0回复 待解决
HarmonyOS 华为支付签名
232浏览 • 1回复 待解决
签名算法不支持RSA|PKCS8|SHA1
267浏览 • 1回复 待解决
huks sm2签名失败
249浏览 • 1回复 待解决
HarmonyOS SM3
9浏览 • 0回复 待解决
HarmonyOS sm2失败
65浏览 • 1回复 待解决
4.1.0(11) fluterr 无法通过
951浏览 • 1回复 待解决
HarmonyOS SM2加SM3摘要算法使用
511浏览 • 1回复 待解决
huks ECC指纹认证签名签报错
1457浏览 • 1回复 待解决
HarmonyOSRSA加解密相关
451浏览 • 0回复 待解决
HarmonyOS 上架签名相关问题
39浏览 • 1回复 待解决