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 Аутентификация для деталей.