簡體   English   中英

在 Go 中使用 a.pem 文件私鑰對帶有 RSASSA-PSS 的字符串進行簽名

[英]Using a .pem file private key to sign a string with RSASSA-PSS in Go

我正在嘗試設置 Amazon Pay,並遵循他們的簽名請求指南: https://amazonpaycheckoutintegrationguide.s3.amazonaws.com/amazon-pay-api-v2/signing-requests.html

我被困在第 3 步。我有一個來自亞馬遜的 .pem 文件,其中包含一個私鑰。 看起來像:

-----BEGIN PRIVATE KEY-----
M...
-----END PRIVATE KEY-----

I'm supposed to sign a string I created earlier using the RSASSA-PSS algorithm with SHA256 hashing and a salt length of 20. I see that Go has a function to do so ( https://golang.org/pkg/crypto/ rsa/#SignPSS ),但我不確定如何獲取 my.pem 文件私鑰並在此 function 中使用它。 它看起來想要一個 *rsa.PrivateKey ......

我試過這個...

var privateKeyString = `-----BEGIN PRIVATE KEY-----...`
decoded, _ := pem.Decode([]byte(privateKeyString))
parsed, _ := x509.ParsePKCS8PrivateKey(decoded.Bytes)
privateKey := parsed.(*rsa.PrivateKey)

但是 pem.Decode 返回 nil。 我也試過:

parsed, _ := x509.ParsePKCS8PrivateKey([]byte(privateKeyString))

但這也返回 nil。 我根本不熟悉加密類型的東西,所以如果有人可以提供一些指導,將不勝感激!

由於反引號中的私鑰字符串是如何自動縮進的,解碼返回 nil。 刪除所有縮進解決了這個問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM