2017-02-08 6 views
2

AWS KMSを使用してファイルをs3バケットに暗号化しています。私は現在、AWSコンソールを使ってこれをやっていますが、Nodejを使ってこれをやりたいのです。AWS KMSでNodejを使用するs3の暗号化および復号化ファイル

私はいくつかの点を確認しましたが、KMSのnodejを使用した暗号化と復号化に関する明確なアイデアは得られません。

答えて

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コンソールでできることは、aws-sdkでほぼすべてを行うことができます。 –

+0

バイナリ文字列が6144より長い場合はどうすればよいですか? – Victor

関連する問題