diff options
Diffstat (limited to 'vendor/github.com/goamz/goamz/exp/ses/sign.go')
-rw-r--r-- | vendor/github.com/goamz/goamz/exp/ses/sign.go | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/vendor/github.com/goamz/goamz/exp/ses/sign.go b/vendor/github.com/goamz/goamz/exp/ses/sign.go new file mode 100644 index 000000000..5c9c840c8 --- /dev/null +++ b/vendor/github.com/goamz/goamz/exp/ses/sign.go @@ -0,0 +1,26 @@ +// sign +package ses + +import ( + "crypto/hmac" + "crypto/sha256" + "encoding/base64" + "fmt" + "github.com/goamz/goamz/aws" + "time" +) + +const ( + AMZ_DATE_STYLE = "Mon, 02 Jan 2006 15:04:05 -0700" +) + +// Sign SES request as dictated by Amazon's Version 3 signature method. +func sign(auth aws.Auth, method string, headers map[string][]string) { + date := time.Now().UTC().Format(AMZ_DATE_STYLE) + h := hmac.New(sha256.New, []byte(auth.SecretKey)) + h.Write([]byte(date)) + signature := base64.StdEncoding.EncodeToString(h.Sum(nil)) + authHeader := fmt.Sprintf("AWS3-HTTPS AWSAccessKeyId=%s, Algorithm=HmacSHA256, Signature=%s", auth.AccessKey, signature) + headers["Date"] = []string{date} + headers["X-Amzn-Authorization"] = []string{authHeader} +} |