Получение недействительного предварительно подписанного URL зашифрованного файла с ключом клиента в s3 - PullRequest
0 голосов
/ 17 апреля 2020
var AWS = require('aws-sdk');
var fs = require('fs');

var s3 = new AWS.S3({
    accessKeyId: "key",
    secretAccessKey: "secret",
    endpoint: 'endpoint',
    region: 'region',
});


var myBucket = 'bucketname';

const ssecKey = Buffer.alloc(32, 'sseckey')


var myKey = 'encrypted.png';


fs.readFile('test.png', function(err, data) {
    if (err) { throw err; }



    params = {
        Bucket: myBucket, Key: myKey, ContentType: 'image/png', Body: data, SSECustomerAlgorithm: 'AES256',
        SSECustomerKey: ssecKey
    };

    s3.putObject(params, function(err, data) {
        console.log(data);

        if (err) return console.error(err.stack)

        s3.getSignedUrl('getObject', {
            Bucket: myBucket,
            Key: myKey,
            SSECustomerAlgorithm: 'AES256',
            SSECustomerKey: ssecKey,
        } , (err, data) => {
            if (err) return console.error(err.stack)

            console.log(data)
        })

    });

});

Когда я пытаюсь получить доступ к presignedURL, я получаю следующее сообщение об ошибке:

Рассчитанная нами подпись запроса не соответствует предоставленной вами подписи. Проверьте свой AWS секретный ключ доступа и метод подписи. Для получения дополнительной информации см. Аутентификация REST и SOAP Аутентификация для деталей.

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