Encrypt your data when sending files via SFTP
You can encrypt your data when sending your company data files via SFTP for Data File Integrator (DFI).
To configure the encryption:
- Go to theProperties File Settingsand switch onEncrypted CSV Files.
- Select AES 256 as theEncryption Algorithm, then enter theEncryption Key,Decryption Key, andInitialization Vector.
- Select the switch forEncrypted CSV Fileson theProperties File Settingswindow.
- Enter theEncryption Algorithmtype, AES 256, along with theEncryption Key,Decryption Key, andInitialization Vector.
- When you upload files to the system, DFI checks the mapping file to determine if you have enabled theEncrypted CSV Filesswitch. If the switch is turned on, the system will receive an AES 256 encrypted CSV file. DFI uses theEncryption Key,Decryption Key, andInitialization Vectoryou provide to decrypt the CSV file. After processing the CSV file, the system creates an output file in encrypted form.
- Encrypt the file and configure DFI:
- Use your organization's designated encryption system with the AES 256 algorithm to encrypt the CSV file intended for DFI.
- Go to theProperties File Settingsscreen within the DFI application and enter theEncryption Key,Decryption Key, andInitialization Vectorgenerated by your encryption system into the corresponding fields in DFI.
- Refer to the Technical Considerations listed in the following section.
- Ensure the encrypted file retains the standard CSV (.csv) extension.
- Prepare the files for processing.
- Place the encrypted CSV (.csv) file, properties file, and trigger (.trg) file together in the designated DFI folder, like the standard process for unencrypted files.
- This set up ensures DFI can locate and process the encrypted data correctly.
- After DFI completes processing, use your organization's encryption system with the AES 256 algorithm to decrypt the resulting output files. These typically end in.out.csvand.reprocess.csv.
Technical considerations
Listed are some scripts to generate Encryption/decryption key and Initialization Vector.
Windows PowerShell
Open Windows PowerShell and enter script:
# Generate a new AES managed object $aes = New-Object System.Security.Cryptography.AesManaged # Set the key size to 256 bits $aes.KeySize = 256 # Generate a random key and IV $aes.GenerateKey()$aes.GenerateIV()
# Convert the key and IV to Base64 strings using UTF-8 encoding $keyBase64 = [System.Convert]::ToBase64String($aes.Key) $ivBase64 = [System.Convert]::ToBase64String($aes.IV)
# Output the Base64 encoded key and IV Write-Host "AES 256 Key (Base64): $keyBase64" Write-Host "AES IV (Base64): $ivBase64"
# Dispose of the AES object $aes.Dispose()
Output Example:
AES 256 Key (Base64) Encryption/decryption key:
mL/JPL+QuNNUqyDJZoRTQ6u+VnwO/zs5MfJXTKzKJsw=Output example:
AES IV (Base64)Initialization vector:
5tAspiGXZPZsZp5pDZI/+w==OpenSSL
openssl rand -base64 32 openssl rand -base64 16
Output example:
C:\Users\123456>openssl rand -base64 32 Encryption/decryption key:
ZFeSuKRotqueGlSlZEK2dt8xNY3sz+p+m+U9lRfXM/EOutput example:
C:\Users\123456>openssl rand -base64 16Initialization vector:
fSS/pykBvBXbpTWgPHxGtQ==