2017-02-08 2 views
2

Я использую AWS KMS для шифрования файла в ведро s3. В настоящее время я делаю это с помощью консоли AWS, но я хотел бы сделать это с помощью Nodejs.Файл шифрования и дешифрования в s3 с использованием Nodejs с AWS KMS

Я только что проверил некоторые вещи, но у меня нет четкого представления о шифровании и расшифровке с помощью nodejs для KMS.

ответ

2

Вам нужно взглянуть на AWS SDK for javascript. Из примеров:

var AWS = require('aws-sdk'); 

var kms = new AWS.KMS({apiVersion: '2014-11-01'}); 

var params = { 
    KeyId: "1234abcd-12ab-34cd-56ef-1234567890ab", // The identifier of the CMK to use for encryption. You can use the key ID or Amazon Resource Name (ARN) of the CMK, or the name or ARN of an alias that refers to the CMK. 
    Plaintext: <Binary String>// The data to encrypt. 
}; 

kms.encrypt(params, function(err, data) { 
    if (err) console.log(err, err.stack); // an error occurred 
    else  console.log(data);   // successful response 
    /* 
    data = { 
    CiphertextBlob: <Binary String>, // The encrypted data (ciphertext). 
    KeyId: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"// The ARN of the CMK that was used to encrypt the data. 
    } 
    */ 
}); 

var params = { 
    CiphertextBlob: <Binary String>// The encrypted data (ciphertext). 
}; 

kms.decrypt(params, function(err, data) { 
    if (err) console.log(err, err.stack); // an error occurred 
    else  console.log(data);   // successful response 
    /* 
    data = { 
    KeyId: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", // The Amazon Resource Name (ARN) of the CMK that was used to decrypt the data. 
    Plaintext: <Binary String>// The decrypted (plaintext) data. 
    } 
    */ 
}); 

Вот ссылка на aws-sdk package on NPM. Вот ссылка на main AWS SDK for Javascript documentation page.

Надеюсь, это поможет!

+0

благодарит за ответ @jeff. Не могли бы вы рассказать, как мы можем шифровать и дешифровать файл с помощью этого метода. Возможно ли это с aws-sdk. Можете ли вы привести пример шифрования и дешифрования для файла – Team

+0

@Team Извините, я не очень хорошо знаю этот API. Пожалуйста, взгляните на ссылки, которые я предоставил. На этих страницах есть очень хорошие примеры. Вы можете сделать почти все с помощью 'aws-sdk', что вы можете сделать с помощью консоли AWS. –

+0

Что делать для двоичных строк длиной более 6144? – Victor