• Object Storage Service

obs
  1. Help Center
  2. Object Storage Service
  3. Developer Guide (Node.js SDK)
  4. Server-Side Encryption
  5. Example of Encryption

Example of Encryption

Encrypting an Object to Be Uploaded

Sample code:

// Import the OBS library.
var ObsClient = require('./lib/obs');

// Create an instance of ObsClient.
var obsClient = new ObsClient({
    access_key_id: '*** Provide your Access Key ***',       
    secret_access_key: '*** Provide your Secret Key ***',       
    server : 'yourdomainname'
});

obsClient.putObject({
       Bucket: 'bucketname',
       Key: 'objectkey',
       SourceFile: 'localfile',
        // Set the SSE-C encryption algorithm.  
       SseC: 'AES256',
       SseCKey: 'your sse-c key generated by AES-256 algorithm'
}, (err, result) => {
       if(err){
              console.log('Error-->' + err);
       }else{
              console.log('Status-->' + result.CommonMsg.Status);
       }
});

obsClient.putObject({
       Bucket: 'bucketname',
       Key: 'objectkey2',
       SourceFile: 'localfile2',
       // Set the SSE-KMS encryption algorithm.   
       SseKms: 'aws:kms'
}, (err, result) => {
       if(err){
              console.log('Error-->' + err);
       }else{
              console.log('Status-->' + result.CommonMsg.Status);
       }
});

Decrypting a Downloaded Object

Sample code:

// Import the OBS library.
var ObsClient = require('./lib/obs');

// Create an instance of ObsClient.
var obsClient = new ObsClient({
    access_key_id: '*** Provide your Access Key ***',       
    secret_access_key: '*** Provide your Secret Key ***',       
    server : 'yourdomainname'
});

obsClient.getObject({
       Bucket: 'bucketname',
       Key: 'objectkey',
       // Set the SSE-C decryption algorithm.    
       SseC: 'AES256',
        // The key used here must be the one used for uploading the object.
       SseCKey: 'your sse-c key generated by AES-256 algorithm'
}, (err, result) => {
       if(err){
              console.log('Error-->' + err);
       }else{
              console.log('Status-->' + result.CommonMsg.Status);
              if(result.CommonMsg.Status < 300 && result.InterfaceResult){
                     console.log('Content-->' + result.InterfaceResult.Content.toString());     
              }
       }
});