我正在开发一个将文件上传到亚马逊的应用程序。亚马逊提供
方法WithServerSideEncryptionMethod(ServerSideEncryptionMethod.AES256)
来加密文件,但它不起作用。它将文本保存为纯文本。
public static void UploadFile()
{
new Program();
var key = "a";
//key = ReplaceDblSlashToSingleFwdSlash(key);
//path = ReplaceFwdSlashToBackSlash(path);
var request = new PutObjectRequest();
request.WithBucketName("demo")
.WithContentBody("i am achal kumar")
.WithKey(key)
.WithServerSideEncryptionMethod(ServerSideEncryptionMethod.AES256);
//request.PutObjectProgressEvent += displayFileProgress;
S3Response response = s3Client.PutObject(request);
response.Dispose();
}
答案 0 :(得分:3)
您的数据可能已加密,只是在您正在测试的内容中自动解密。
http://aws.typepad.com/aws/2011/10/new-amazon-s3-server-side-encryption.html
加密数据的解密不需要您付出任何努力。什么时候 你获取一个加密的对象,我们获取并解密密钥,然后 用它来解密你的数据。我们还包括一个额外的标题 响应GET,让您知道数据存储在 Amazon S3中的加密表单。
答案 1 :(得分:0)
您可以使用以下代码检查是否加密..因为aws s3他们在将对象返回给您时已经解密了对象。
所以请尝试以下代码检查对象是否在amazon s3上加密
GetObjectMetadataRequest meta = new GetObjectMetadataRequest();
GetObjectMetadataResponse response = s3Client.GetObjectMetadata(meta);
if(response.ServerSideEncryptionMethod = ServerSideEncryptionMethod.AES256)
{
// your code goes here
}
我希望这可以帮助