亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 GO 進行 AWS SNS 簽名驗證

使用 GO 進行 AWS SNS 簽名驗證

Go
HUH函數 2021-07-07 09:22:25
我想在GO中實現AWS SNS簽名驗證。這里是AWS提供的簽名驗證教程。但是,有一些點我無法理解。7:生成 Amazon SNS 消息的派生哈希值。將規范格式的 Amazon SNS 消息提交到用于生成簽名的相同哈希函數。如何導出哈希值?我應該使用哪個哈希函數?8:生成 Amazon SNS 消息的斷言哈希值。斷言的哈希值是使用公鑰值(來自第 3 步)解密與 Amazon SNS 消息一起交付的簽名的結果。如何獲得斷言的哈希值?這是我的代碼,我有一個通知結構:type Notification struct {    Message          string    MessageId        string    Signature        string    SignatureVersion string    SigningCertURL   string    SubscribeURL     string    Subject          string    Timestamp        string    TopicArn         string    Type             string    UnsubscribeURL   string}我已經生成了規范字符串:    signString := fmt.Sprintf(`Message%vMessageId%v`, self.Message, self.MessageId)    if self.Subject != "" {        signString = signString + fmt.Sprintf(`Subject%v`, self.Subject)    }    signString = signString + fmt.Sprintf(`Timestamp%vTopicArn%vType%v`, self.Timestamp, self.TopicArn, self.Type)從 base64 解碼簽名signed, err := base64.StdEncoding.DecodeString(self.Signature)從 .pem 獲取證書resp, _ := http.Get(self.SigningCertURL)defer resp.Body.Close()body, _ := ioutil.ReadAll(resp.Body)p, _ := pem.Decode(body)cert, err := x509.ParseCertificate(p.Bytes)現在,如何使用規范字符串驗證簽名?下面的代碼對嗎?cert.CheckSignature(x509.SHA1WithRSA, signed, []byte(signString))我總是crypto/rsa: verification error從上面的代碼中得到。
查看完整描述

1 回答

  • 1 回答
  • 1 關注
  • 405 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號