INNER CODE UNIT · Go
awsDeriveSigningKey
cc1a2b/JShunter · internal/jshunter/aws_pair.go:169
func awsDeriveSigningKey(secret, dateStr, region, service string) []byte {
k := hmacBytes([]byte("AWS4"+secret), []byte(dateStr))
k = hmacBytes(k, []byte(region))
k = hmacBytes(k, []byte(service))
return hmacBytes(k, []byte("aws4_request"))
}
func sha256Hex(b []byte) string {
h := sha256.Sum256(b)
return hex.EncodeToString(h[:])
}
func hmacBytes(key, msg []byte) []byte {
m := hmac.New(sha256.New, key)
m.Write(msg)
return m.Sum(nil)
}