0

我正在尝试使用 aws-java-sdk (1.11.230) 编写一个实用程序。我可以使用 PutObjectRequest 使用 SSE-KMS 编写文件,如下所示:

PutObjectRequest putRequest = new PutObjectRequest(existingBucketName, keyName, file)
                        .withSSEAwsKeyManagementParams(kmsKeyId);

但是在尝试分段上传时,我找不到任何方法来为 SSE-KMS 指定加密配置。

任何人都可以建议一种方法来成功地完成这个。任何建议将不胜感激。

维卡什·帕瑞克

4

2 回答 2

1

也可以这样做:

InitiateMultipartUploadRequest initRequest = new InitiateMultipartUploadRequest("example-bucket", "textfile.txt");      SSEAwsKeyManagementParams kms = new SSEAwsKeyManagementParams("KMS-key-alias");
initRequest.setSSEAwsKeyManagementParams(kms);
initResponse = s3Client.initiateMultipartUpload(initRequest);
于 2019-05-13T01:06:34.653 回答
0

最后,我能够找到解决方案。可以通过将标头设置为InitiateMultipartUploadRequest对象来完成,如下所示:

InitiateMultipartUploadRequest initRequest = new
                InitiateMultipartUploadRequest(bucketName, keyName);
        initRequest.putCustomRequestHeader("x-amz-server-side-encryption", "aws:kms");
        initRequest.putCustomRequestHeader("x-amz-server-side-encryption-aws-kms-key-id", kmsKey);
于 2017-11-23T09:29:24.663 回答