summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/goamz/goamz/exp/ses/sign.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/goamz/goamz/exp/ses/sign.go')
-rw-r--r--vendor/github.com/goamz/goamz/exp/ses/sign.go26
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}
+}