[英]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.