Указанный вами Content-MD5 не соответствует полученному нами - PullRequest
0 голосов
/ 20 февраля 2019

Я выполняю задачу шифрования на стороне клиента для объектов, которые помещаются в мое ведро. Как я также проверил свой контент md5 для моего запроса.Во время этого процесса я использую приведенное ниже выполнение программы:

AmazonS3EncryptionClient s3 = null;
        Map<String, String> userMetaData = new HashMap<String, String>();
        userMetaData.put(clientSideEncMetaData, "true");
        ObjectMetadata objectMetadata = Utility.setObjectMetadata(userMetaData);
        if (service.canKeyRotate().equalsIgnoreCase("true")) {
            SimpleMaterialProvider materialProvider = new SimpleMaterialProvider().withLatest(encryptionMaterials);
            CryptoConfiguration config = new CryptoConfiguration().withStorageMode(CryptoStorageMode.InstructionFile)
                    .withIgnoreMissingInstructionFile(false);
            s3 = Utility.getEncryptionClientWithProvider(service.getAwsAccessKey(), service.getAwsSecretKey(),
                    service.getKeyName(), materialProvider, config, null);
            objectMetadata.addUserMetadata(rotationMetaData, "true");
        } else {
            s3 = Utility.getEncryptionClient(service.getAwsAccessKey(), service.getAwsSecretKey(), service.getKeyName(),
                    encryptionMaterials);
        }
        objectMetadata.setContentLength(service.getIos().available());
        objectMetadata.setContentMD5(service.getMd5content());
        objectMetadata.setHeader(md5header,service.getMd5content());
        objectMetadata.setSSECustomerKeyMd5(md5Digest);
        PutObjectRequest request = new PutObjectRequest(service.getBucketName(), service.getFileName(),
                service.getIos(), objectMetadata);
        request.putCustomRequestHeader(md5header, service.getMd5content());
        request.putCustomRequestHeader(lockModeHeader, "GOVERNANCE");
        request.putCustomRequestHeader(lockExpiryHeader, "2020-01-05T00:00:00.000Z");
        request.putCustomRequestHeader(legalHoldFlagHeader, "ON");
                    PutObjectResult objectResult = s3.putObject(request);
            System.out.println(objectResult.getContentMd5());
    }

Может кто-нибудь предложить мне подход, потому что контент md5 не проверен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...