summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/minio/minio-go/examples/s3/putobject-getobject-sse.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/minio/minio-go/examples/s3/putobject-getobject-sse.go')
-rw-r--r--vendor/github.com/minio/minio-go/examples/s3/putobject-getobject-sse.go87
1 files changed, 0 insertions, 87 deletions
diff --git a/vendor/github.com/minio/minio-go/examples/s3/putobject-getobject-sse.go b/vendor/github.com/minio/minio-go/examples/s3/putobject-getobject-sse.go
deleted file mode 100644
index 3d3b2fd2d..000000000
--- a/vendor/github.com/minio/minio-go/examples/s3/putobject-getobject-sse.go
+++ /dev/null
@@ -1,87 +0,0 @@
-// +build ignore
-
-/*
- * Minio Go Library for Amazon S3 Compatible Cloud Storage
- * Copyright 2017 Minio, Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package main
-
-import (
- "bytes"
- "crypto/md5"
- "encoding/base64"
- "io/ioutil"
- "log"
-
- minio "github.com/minio/minio-go"
-)
-
-func main() {
- // Note: YOUR-ACCESSKEYID, YOUR-SECRETACCESSKEY, my-testfile, my-bucketname and
- // my-objectname are dummy values, please replace them with original values.
-
- // New returns an Amazon S3 compatible client object. API compatibility (v2 or v4) is automatically
- // determined based on the Endpoint value.
- minioClient, err := minio.New("s3.amazonaws.com", "YOUR-ACCESSKEYID", "YOUR-SECRETACCESSKEY", true)
- if err != nil {
- log.Fatalln(err)
- }
-
- content := bytes.NewReader([]byte("Hello again"))
- key := []byte("32byteslongsecretkeymustprovided")
- h := md5.New()
- h.Write(key)
- encryptionKey := base64.StdEncoding.EncodeToString(key)
- encryptionKeyMD5 := base64.StdEncoding.EncodeToString(h.Sum(nil))
-
- // Amazon S3 does not store the encryption key you provide.
- // Instead S3 stores a randomly salted HMAC value of the
- // encryption key in order to validate future requests.
- // The salted HMAC value cannot be used to derive the value
- // of the encryption key or to decrypt the contents of the
- // encrypted object. That means, if you lose the encryption
- // key, you lose the object.
- var metadata = map[string]string{
- "x-amz-server-side-encryption-customer-algorithm": "AES256",
- "x-amz-server-side-encryption-customer-key": encryptionKey,
- "x-amz-server-side-encryption-customer-key-MD5": encryptionKeyMD5,
- }
-
- // minioClient.TraceOn(os.Stderr) // Enable to debug.
- _, err = minioClient.PutObject("mybucket", "my-encrypted-object.txt", content, 11, minio.PutObjectOptions{UserMetadata: metadata})
- if err != nil {
- log.Fatalln(err)
- }
-
- opts := minio.GetObjectOptions{}
- for k, v := range metadata {
- opts.Set(k, v)
- }
- coreClient := minio.Core{minioClient}
- reader, _, err := coreClient.GetObject("mybucket", "my-encrypted-object.txt", opts)
- if err != nil {
- log.Fatalln(err)
- }
- defer reader.Close()
-
- decBytes, err := ioutil.ReadAll(reader)
- if err != nil {
- log.Fatalln(err)
- }
- if !bytes.Equal(decBytes, []byte("Hello again")) {
- log.Fatalln("Expected \"Hello, world\", got %s", string(decBytes))
- }
-}