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

使用 .pem 文件私钥在 Go 中使用 RSASSA-PSS 对字符串进行签名

使用 .pem 文件私钥在 Go 中使用 RSASSA-PSS 对字符串进行签名

Go
胡子哥哥 2022-08-15 16:46:34
我正在尝试设置 Amazon Pay,并按照他们的指南签署请求:https://amazonpaycheckoutintegrationguide.s3.amazonaws.com/amazon-pay-api-v2/signing-requests.html我被困在步骤3上。我有一个来自亚马逊的.pem文件,其中包含一个私钥。它看起来像这样:-----BEGIN PRIVATE KEY-----M...-----END PRIVATE KEY-----我应该使用RSASSA-PSS算法对之前创建的字符串进行签名,该算法具有SHA256哈希和20的盐长度。我看到Go有一个功能可以做到这一点(https://golang.org/pkg/crypto/rsa/#SignPSS),但我不知道如何获取我的.pem文件私钥并在此函数中使用它。它需要一个 *rsa。私钥由它的外观...我试过这个...var privateKeyString = `-----BEGIN PRIVATE KEY-----...`decoded, _ := pem.Decode([]byte(privateKeyString))parsed, _ := x509.ParsePKCS8PrivateKey(decoded.Bytes)privateKey := parsed.(*rsa.PrivateKey)但是pem。解码返回零。我也试过:parsed, _ := x509.ParsePKCS8PrivateKey([]byte(privateKeyString))但这也会返回零。我根本不熟悉加密类型的东西,所以如果有人可以提供一些指导,那将不胜感激!
查看完整描述

1 回答

?
慕的地10843

TA贡献1785条经验 获得超8个赞

解码返回 nil,因为后面的刻度线中的私钥字符串是如何自动缩进的!删除所有缩进解决了问题。


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

添加回答

举报

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