internal override HttpRequestMessageBuilder BuildRequest(HttpRequestMessageBuilder requestMessageBuilder)
    {
        if (EncryptionConfig == null)
        {
            EncryptionConfig = ServerSideEncryptionConfiguration.GetSSEConfigurationWithS3Rule();
        }

        requestMessageBuilder.AddQueryParameter("encryption", "");
        var body = utils.MarshalXML(EncryptionConfig, "http://s3.amazonaws.com/doc/2006-03-01/");
        // Convert string to a byte array
        var bodyInBytes = Encoding.ASCII.GetBytes(body);

        requestMessageBuilder.BodyParameters.Add("content-type", "text/xml");
        requestMessageBuilder.SetBody(bodyInBytes);

        return(requestMessageBuilder);
    }
예제 #2
0
        // Put Encryption Configuration for the bucket
        public async static Task Run(MinioClient minio,
                                     string bucketName = "my-bucket-name",
                                     ServerSideEncryptionConfiguration config = null)
        {
            try
            {
                Console.WriteLine("Running example for API: SetBucketEncryptionAsync");
                await minio.SetBucketEncryptionAsync(
                    new SetBucketEncryptionArgs()
                    .WithBucket(bucketName)
                    .WithEncryptionConfig(config)
                    );

                Console.WriteLine($"Assigned encryption configuration to bucket {bucketName}");
                Console.WriteLine();
            }
            catch (Exception e)
            {
                Console.WriteLine($"[Bucket]  Exception: {e}");
            }
        }
예제 #3
0
        // Get Encryption Configuration for the bucket
        public async static Task Run(MinioClient minio,
                                     string bucketName = "my-bucket-name")
        {
            try
            {
                Console.WriteLine("Running example for API: GetBucketEncryptionAsync");
                ServerSideEncryptionConfiguration config = await minio.GetBucketEncryptionAsync(
                    new GetBucketEncryptionArgs()
                    .WithBucket(bucketName)
                    );

                Console.WriteLine($"Got encryption configuration for bucket {bucketName}.");
                if (config != null && config.Rule != null && config.Rule.Apply != null)
                {
                    Console.WriteLine("Server Side Encryption Algorithm: " + config.Rule.Apply.SSEAlgorithm);
                }
                Console.WriteLine();
            }
            catch (Exception e)
            {
                Console.WriteLine($"[Bucket]  Exception: {e}");
            }
        }
 public SetBucketEncryptionArgs WithKMSConfig(string keyId = null)
 {
     EncryptionConfig = ServerSideEncryptionConfiguration.GetSSEConfigurationWithKMSRule(keyId);
     return(this);
 }
 public SetBucketEncryptionArgs WithAESConfig()
 {
     EncryptionConfig = ServerSideEncryptionConfiguration.GetSSEConfigurationWithS3Rule();
     return(this);
 }
 public SetBucketEncryptionArgs WithEncryptionConfig(ServerSideEncryptionConfiguration config)
 {
     EncryptionConfig = config;
     return(this);
 }