in sigv4/internal/crypt.go [100:113]
func BuildSignedResponse(region string, nonce string, accessKeyId string, secret string, sessionToken string, t time.Time) string {
scope := computeScope(t, region)
canonicalRequest := formCanonicalRequest(accessKeyId, scope, t, nonce)
signingKey := deriveSigningKey(secret, t, region)
signature := createSignature(canonicalRequest, t, scope, signingKey)
result := fmt.Sprintf("signature=%s,access_key=%s,amzdate=%s", hex.EncodeToString(signature), accessKeyId, t.Format("2006-01-02T15:04:05.000Z"))
if sessionToken != "" {
result += fmt.Sprintf(",session_token=%s", sessionToken)
}
return result
}