public void PutObjectWithKMS(COSXML.CosXml cosXml, string bucket, string key, string srcPath) { try { PutObjectRequest request = new PutObjectRequest(bucket, key, srcPath); //设置签名有效时长 request.SetSign(TimeUtils.GetCurrentTime(TimeUnit.SECONDS), 600); request.IsHttps = true; //设置进度回调 request.SetCosProgressCallback(delegate(long completed, long total) { //Console.WriteLine(String.Format("{0} progress = {1} / {2} : {3:##.##}%", DateTime.Now.ToString(), completed, total, completed * 100.0 / total)); }); request.SetCosServerSideEncryptionWithKMS(null, null); //执行请求 PutObjectResult result = cosXml.PutObject(request); Console.WriteLine(result.GetResultInfo()); } catch (CosClientException clientEx) { Console.WriteLine("CosClientException: " + clientEx.Message); //Assert.True(false); } catch (CosServerException serverEx) { Console.WriteLine("CosServerException: " + serverEx.GetInfo()); //Assert.True(true); } }
public void PutObjectWithKMS() { try { string key = "objectWithKMS"; PutObjectRequest request = new PutObjectRequest(bucket, key, smallFileSrcPath); request.SetCosServerSideEncryptionWithKMS(null, null); //执行请求 PutObjectResult result = cosXml.PutObject(request); Console.WriteLine(result.GetResultInfo()); } catch (CosClientException clientEx) { Console.WriteLine("CosClientException: " + clientEx.Message); //Assert.True(false); } catch (CosServerException serverEx) { Console.WriteLine("CosServerException: " + serverEx.GetInfo()); //Assert.True(true); } }
/// 使用 KMS 托管加密密钥的服务端加密(SSE-KMS)保护数据 public void PutObjectSseKms() { //.cssg-snippet-body-start:[put-object-sse-kms] string bucket = "examplebucket-1250000000"; //存储桶,格式:BucketName-APPID string key = "exampleobject"; //对象键 string srcPath = @"temp-source-file"; //本地文件绝对路径 //.cssg-snippet-body-start:[put-object-sse-c] PutObjectRequest request = new PutObjectRequest(bucket, key, srcPath); request.SetCosServerSideEncryptionWithKMS("KMS Custem Key ID", "Context Json"); //.cssg-snippet-body-end }