为了账号安全,请及时绑定邮箱和手机立即绑定

如何验证公钥是否匹配私钥签名?

如何验证公钥是否匹配私钥签名?

Go
桃花长相依 2022-07-11 17:19:27
如何验证公钥与私钥匹配?在应用程序启动时,从 base64 PEM 编码字符串加载 2048 位 RSA 密钥。我希望在继续之前验证密钥是否有效并且它们是否匹配。签名和验证由我正在使用的下划线库完成。我可以签署和验证虚拟数据,但我正在寻找替代解决方案。初学者游乐场: https: //play.golang.org/p/tsB8Yp-xs47
查看完整描述

1 回答

?
子衿沉夜

TA贡献1828条经验 获得超3个赞

解决方案非常简单


func verifyKeyPair(private, public string) bool {

    // Handle errors here

    block, _ := pem.Decode([]byte(rsaPrivateKey))

    key, _ := x509.ParsePKCS1PrivateKey(block.Bytes)

    pubBlock, _ := pem.Decode([]byte(rsaPublicKey))

    pubKey, _ := x509.ParsePKIXPublicKey(pubBlock.Bytes)

    return key.PublicKey.Equal(pubKey)

}

https://play.golang.org/p/tR6Ns0wDrlN


查看完整回答
反对 回复 2022-07-11
  • 1 回答
  • 0 关注
  • 106 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信