Take the 2-minute tour ×
Salesforce Stack Exchange is a question and answer site for Salesforce administrators, implementation experts, developers and anybody in-between. It's 100% free, no registration required.

We wanted to use Data Loader CLI (scheduled nightly) to push records into SFDC from a CSV file; however one key requirement is to encrypt (using AES256) while the data is pushed from the Data Loader into SFDC (ie. while in transit). How do we achieve this?

share|improve this question
add comment

2 Answers 2

When you set the endpoint in the dataloader make sure you use https://login.salesforce.com and it will use a SSL/TLS connection.

Salesforce uses RC4 with 128 bit keys for their SSL implementation (you can check this by going to the login page in your browser and hitting the lock icon) which should be secure enough for most purposes.

If you absolutely must use AES256 for compliance or other reasons you won't be able to use the data loader and I am not aware of any third-party solutions that do this.

You will need to encrypt your data yourself and then create a REST or webservices method that takes your encrypted data, decrypts it, and saves it to salesforce. The Apex Crypto class has support for AES256 so decrypting it should not be a problem.

share|improve this answer
    
Thanks for the response, but wanted list out the characteristics of the integration. [1] Volume would be around 2000 records (about 10 Fields each) [2] The Push is expected once per day, ideally at night. [A] Can this be implemented via a Web Service, is it REST or SOAP [B] Can it be Scheduled? Pls help me with some insights into different aspects of Integration especially the APIs' available and when to use and how to use them. –  sKaLiDhAsAn Feb 11 '13 at 17:12
    
The scheduling piece will need to happen in external code that you write that pushes the records to the webservice. You could definitely create a SOAP or REST webservice that takes a list of 2000 records and performs the decryption/insert. I would use REST unless you have a specific reason to use SOAP (ex. external code you write has poor support for REST). If you have additional questions you should create a new question instead of putting it in the comments. –  Greg Grinberg Feb 11 '13 at 17:46
add comment

I'd question the rational behind encrypting data prior to being transferred over an SSL connection.

Especially since people would then be viewing the data using the web browser over the same SSL secured connection, what you've carefully encrypted for upload using AES256 and a custom web service you built will be 'revealed' the first time someone logs on at looks at a web page or report

Are you sure your requirement isn't for Encrypted Fields, that is, that the data be AES Encrypted inside Salesforce? See https://login.salesforce.com/help/doc/en/fields_about_encrypted_fields.htm

If your requirement is indeed to encrypt the data for transport you are going to need to use a third party application to encrypt the data and push it to a custom webservice on Salesforce which will then decrypt and store it. However I would ask how much data (records) are you pushing, because you're likely to get orders of magnitude lower throughput than you would have got using the Bulk API for data uploads.

share|improve this answer
    
Thanks Steve.... The requirement is to Encrypt using AES256 because of compliance reasons. We are pushing for a lower data classification so to settle for the default TLS/SSL 128 bit encryption. Data volume is about 2000 records (10 Fields each) and its going to be a scheduled push. –  sKaLiDhAsAn Feb 11 '13 at 17:16
    
And you are using Encrypted fields inside Salesforce when the data gets there? –  Steven Herod Feb 11 '13 at 21:40
    
Yes plan to use the default Text (Encrypted) Field Type for the Data that is pushed. This is viable only if we bring down the data classification to any thing less than Restricted, so the default 128bit which SFDC offers will be sufficient. Otherwise it becomes really complicated, How should I encrypt data using AES256 at Source and how to handle the same when it reaches SFDC? Which Field Type handles AES256 encrypted data? –  sKaLiDhAsAn Feb 12 '13 at 16:23
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.