2017-02-08 7 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

@Temam 죄송 합니다만,이 API는 잘 모릅니다. 제가 제공 한 링크를 한번보세요. 그 페이지에는 아주 좋은 예가 있습니다. AWS Console로 할 수있는'aws-sdk'로 거의 모든 것을 할 수 있습니다. –

+0

6144보다 긴 이진 문자열은 어떻게해야합니까? – Victor