使用Golang和aws-sdk-go生成签名的方法探讨
使用Golang和aws-sdk-go生成签名的方法探讨
我想确认Terraform的AWS IAM登录逻辑中的JWT令牌。
因此,我正使用access_key和secret_key来生成其签名。
在aws-sdk-go中,我找到了GetSignature函数,但我不确定应该使用哪些变量来调用它。
func (s *StreamSigner) GetSignature(headers, payload []byte, date time.Time) ([]byte, error) {
credValue, err := s.credentials.Get()
if err != nil {
return nil, err
}
sigKey := deriveSigningKey(s.region, s.service, credValue.SecretAccessKey, date)
keyPath := buildSigningScope(s.region, s.service, date)
stringToSign := buildEventStreamStringToSign(headers, payload, s.prevSig, keyPath, date)
signature := hmacSHA256(sigKey, []byte(stringToSign))
s.prevSig = signature
return signature, nil
}
这个函数位于aws/signer/v4/strea.go中,我应该如何使用它呢?
谢谢!
更多关于使用Golang和aws-sdk-go生成签名的方法探讨的实战教程也可以访问 https://www.itying.com/category-94-b0.html
1 回复


