PGP Encrypt

On this Page

Snap type:

Transform

Description:

Pretty Good Privacy (PGP) is an encryption program that provides cryptographic privacy and authentication for data communication. PGP is popularly used to digitally sign, encrypt or decrypt email messages or files being transferred over the Internet.

Snap History

The default security in the JRE limits the key length for encryption keys. For stronger encryption keys, you would need to manually install the Java Cryptographic Extension JARs on your JCC nodes.

 This Snap encrypts the data provided as an input stream using a public key. This Snap should be attached to the input binary data stream to be encrypted in the pipeline. 

  • Expected upstream Snaps: Any Snap, such as Document to Binary or File Reader, that produces PGP decrypted data in the output view.
  • Expected downstream Snaps: Any Snap, such as File Writer or Binary to Document, that accepts encrypted data in the input view.
  • Expected input: Stream of PGP decrypted data.
  • Expected output: Stream of PGP encrypted data.
Prerequisites:

[None]

Support and limitations:

Works in Ultra Task Pipelines.

Behavior change:Starting from version 433patches21482, this Snap does not support encryption with an expired key. To ensure continued support for encryption, we highly recommend that you renew your PGP key before it expires or extend the expiration date of your PGP key.
Account: 

This Snap uses account references created on the Accounts page of SnapLogic Manager called the PGP Public Key Account that stores the public key used for encryption. See Configuring Binary Accounts for information on setting up this type of account. 

When setting up the account, enter your public PGP key. The credentials setup will automatically encrypt the message.

For signed encryption, this Snap uses account references created on the Accounts page of SnapLogic Manager called the PGP Private Key Account that stores the public and private key used for signed encryption. See Configuring Binary Accounts for information on setting up this type of account. 

When setting up the PGP Private Key account, enter your public and private PGP keys. The credentials setup will automatically encrypt and sign the message.

Views:
InputThis Snap has exactly one binary input view. The data that has to be encrypted is passed through this view.
OutputThis Snap has exactly one binary output view. The data encrypted is passed through this view as output.
ErrorThis Snap has at most one document error view and produces zero or more documents in the view.

Settings

Label

 

Required. The name for the Snap. You can modify this to be more specific, especially if you have more than one of the same Snap in your pipeline. 
Symmetric Key Algorithm

Select or enter the symmetric key algorithm that you want to use to encrypt the input file. 

This field is case-sensitive, and must be filled exactly as shown in the suggestible drop-down list options.

The algorithms available for this field are as follows:

  • IDEA: International Data Encryption Algorithm
  • TRIPLE_DES: Triple Data Encryption Standard (TDES or Triple DES)
  • CAST5 CAST5: (128 bit key, as per RFC 2144)
  • BLOWFISH Blowfish: (128 bit key, 16 rounds)
  • DES Data Encryption: Standard
  • AES_128: AES with 128-bit key
  • AES_192: AES with 192-bit key
  • AES_256: AES with 256-bit key
  • TWOFISH: Twofish
  • CAMELLIA_128: Camellia with 128-bit key
  • CAMELLIA_192: Camellia with 192-bit key
  • CAMELLIA_256: Camellia with 192-bit key

Example: AES_256

Default value: CAST5

Encrypted Filename


Required. For most use cases, this property may be left empty. A temporary file is used during the encryption and deleted by the Snap when it is done. If this property is empty, the Snap automatically generates a temporary filename. 

  • In some use cases, this temporary filename, which is included in the encrypted data, is used by  a PGP client application. If you enter this property, please make sure the filename be unique among the multiple instances of the same Snap. Otherwise, the Snap may fail with errors in creating or deleting it.
  • If entered, this property should be a filename only, neither an absolute nor an indirect file path. The directory for the temporary file is determined by the the Snap. If the Snap finds a URL separator ("/") in the filename, it throws an error and won't continue.
  • If this property is not empty or evaluated to a non-empty string, the Snap produces an additional entry in the output binary header document with the key “encrypted-filename”. It is suggested that, if File Writer Snap is connected to this Snap’s output view, the “File name” expression property of the File Writer Snap may be “$[‘encrypted-filename’]” so that the name of the written file can be the same as the Encrypted filename.

Example: sample.tmp

Default value:  [none]

Sign file

Sign encrypted file. Enabling this check box requires a Private Key Account.

Default value:  Not selected

Encryption key ID

Specify the key ID (long format) to encrypt the incoming binary document.

Default: None.

Example: 12B0E3D4DD5678B9

Snap Execution

Select one of the following three modes in which the Snap executes:

  • Validate & Execute: Performs limited execution of the Snap, and generates a data preview during Pipeline validation. Subsequently, performs full execution of the Snap (unlimited records) during Pipeline runtime.

  • Execute only: Performs full execution of the Snap during Pipeline execution without generating preview data.

  • Disabled: Disables the Snap and all Snaps that are downstream from it.

Default ValueExecute only
Example: Validate & Execute


Examples


The following example includes: Sample input data which is successfully encrypted using the PGP Encrypt Snap and then decrypted using the PGP Decrypt Snap. 

Encrypting Data Using the PGP Encrypt Snap  

Configure the JSON Generator Snap with a sample message "Hello World", which is formatted and written in JSON binary data for the PGP Encrypt Snap to ingest.

The message is encrypted as the output of the PGP Encrypt Snap.

Decrypted Data Using the PGP Decrypt Snap

This example pipeline demonstrates how to write the file out as File_encrypt.pgp to the SnapLogic database and decrypt the encrypted file and write it to the SnapLogic DB as File_decrypt.txt.
We can see that the output from the Decrypt Snap matches our original raw unencrypted data:


The message is successfully decrypted.

Download the sample pipeline.

Downloads

Important Steps to Successfully Reuse Pipelines

  1. Download and import the Pipeline into SnapLogic.

  2. Configure Snap accounts as applicable.

  3. Provide Pipeline parameters as applicable.

Attachments

  File Modified

File Sample-PGP-pipeline_2014_11_06.slp

Mar 16, 2017 by Diane Miller


 Click to view/expand


Release Snap Pack VersionDateTypeUpdates

August 2024

main27765

 

Stable

Upgraded the org.json.json library from v20090211 to v20240303, which is fully backward compatible.

May 2024437patches27146 LatestEnhanced the Azure Storage Account with Managed Identity, which provides applications with an automatically managed identity for connecting to resources that support Microsoft Entra ID authentication.
May 2024437patches26873 LatestFixed an issue with the File Poller Snap where the Snap applied a case-sensitive filter in the Windows operating system.
May 2024437patches26592 Latest

Enhanced the Decompress Snap to support encrypted and unencrypted ZIP and 7z files through the new File Password Account type.

May 2024main26341 Stable

The Azure Data Lake Account has been removed from the Binary Snap Pack because Microsoft retired the Azure Data Lake Storage Gen1 protocol on February 29, 2024. We recommend replacing your existing Azure Data Lake Account with other Azure Accounts.

February 2024436patches25711 Latest

Fixed an SMB (server message block) connectivity issue within the Binary Snap Pack, as the incorrect name provided by the SMB client did not match the Windows cluster virtual name, affecting the SPN (service principal name) connection.

February 2024436patches25332 Latest

Fixed a null pointer exception in the Public Key Account for Binary Snap Pack when the Public Key field value is null. Now, the account displays a configuration exception for a null value.

February 2024436patches25241 Latest

Fixed an issue with the File Writer Snap, which partially writes the file for some FTPS servers by pausing for seconds before closing the output stream as specified in the global property ftpsDelayBeforeClosing.

February 2024436patches25161 LatestFixed an issue with the File Poller Snap that displayed an exception when an unauthorized character ':' was used in the Windows Snaplex.
February 2024main25112 StableUpdated and certified against the current SnapLogic Platform release.
November 2023435patches24525 LatestFixed an issue with the File Poller Snap that caused it to poll recursively for files in the root directory of the S3 bucket.
November 2023435patches23780 Latest

Fixed an issue with the Binary Snaps that failed to build a data connection when connecting to the FTP server over FTPS protocol.

November 2023main23721 Stable

Updated and certified against the current SnapLogic Platform release.

August 2023434patches23502 LatestFixed an issue with the File Operation Snap (SFTP protocol) where the error message did not display during a move operation, although the existing file was available in the target path and the Error if exists checkbox was selected.
August 2023434patches23302 Latest

Fixed an issue that occurred when node properties were used to override default algorithm specifications for SFTP operations.

August 2023434patches22976 LatestFixed an issue that caused account credentials to be visible in the stack trace of some failed SFTP operations.
August 2023434patches22842 Latest

Fixed an issue that caused NTLM authentication issues when trying to access SMB servers.

August 2023434patches22639 Latest

The JSON key field in the Binary Google Service Account supports JSON strings. You can upload the JSON key either from SLDB or dynamically pass the value using a pipeline parameter or access values from Secrets Manager.

August 2023

main22460

 


Stable

Updated and certified against the current SnapLogic Platform release.

May 2023433patches22297 Latest
  • Fixed an issue with the PGP Sign Snap that caused an error when using an encryption subkey for signing.
  • Fixed an issue with the File Writer Snap where the file was unable to validate when the File action field was set to IGNORE for the WASB and WASBs protocols.
May 2023

433patches21913

 Latest
  • Dynamic ports are supported for the SMB file protocol.
  • Fixed an issue with the File Writer Snap that caused slow performance when writing large files and the Flush interval was set to a positive value.
May 2023433patches21870 LatestAdded the PGP Sign Snap, which allows binary data to be signed using PGP.
May 2023

433patches21645

 Latest

With the 4.33 GA release, support for some algorithms for SFTP connection negotiation is removed for improved security and because we’ve updated the library used to connect to SFTP sources. With Snap Pack version 433patches21645, you can modify the global properties. Refer to the Configuration Settings for Snaps documentation for details about how to revert to the previous settings.

May 2023433patches21576 Latest

Fixed the issues with the AES Encrypt and AES Decrypt Snaps, where the Snaps previously did not include the error stack trace in the error view. The Snaps now provide detailed information in case of any issues or errors.

May 2023433patches21482 Latest
  • Fixed an issue that caused a String index out of range error with the SFTP protocol in the File Writer Snap when it attempted to create a top-level directory.

  • Enhanced the PGP Encrypt Snap with the Encryption key ID field, which allows you to specify the key ID for encrypting the data. If you do not specify an encryption key ID, the Snap uses the primary key in the public key (master key).

Starting from version 433patches21482, the PGP Encrypt Snap will no longer support encryption with an expired key. To ensure continued support for encryption, we highly recommend extending the expiration of your PGP key.

May 2023433patches21291 LatestFixed an issue with the Multi File Reader Snap where it failed with the error S3 object not found when the Snap found no matching file to read and the Folder/File property value did not end with a forward slash (/).
May 2023433patches21179 Latest
  • Fixed an issue with the File Delete Snap where the Snap failed with a 404 Not Found error when trying to delete files from an Amazon S3 bucket. This issue occurred only with the Identity and Access Management (IAM) role in an Amazon AWS S3 Account.

  • Fixed an issue where Binary Snaps could not handle region information for the Amazon S3 file protocol, which resulted in an error.

May 2023main21015 Stable

The Key passphrase field in the Private Key Account now supports expressions, allowing dynamic evaluation using pipeline parameters when the expression button is enabled.

February 2023

432patches20458

 Latest

Fixed an issue where the ZipFile Read and ZipFIle Write Snaps failed to display the input schema for the File or File name field when using an expression.

February 2023432patches20431 Latest
  • Fixed an issue where the File Writer Snap would not retry on completing the writing of the file.

  • Added a configuration warning message when using the WASBS protocol with AzCopy, as it supports only the HTTPS protocol.
February 2023432patches20349 Latest

The JSCH library has been upgraded to version 0.2.7.

February 2023main19844 StableUpgraded with the latest SnapLogic Platform release.
November 2022431patches18977 Latest

The PGP Decrypt Snap now allows you to skip the signature verification when you face an issue with the signature in the encrypted file.

November 2022main18944 StableUpgraded with the latest SnapLogic Platform release.
September 2022430patches17933 Latest
  • The File Delete Snap now passes the input document to the error view correctly.

  • The AWS S3 and S3 Dynamic accounts now support the maximum session duration of an IAM role defined in AWS.

August Patch

430patches17292

 Stable and Latest

Fixed an issue with the Directory Browser Snap, which failed with a null pointer exception error when connecting to the SFTP server containing a port number.

The Binary Snap Pack is deployed as both the latest and stable distribution. We recommend that you use this version for your Org when using the recommended Snaplex version (main-13269 - 4.30 GA).

August 2022main17386 Stable
  • The File Operation Snap supports moving data from a local node to an Azure blob through the AZ Copy utility.

  • The Azure Storage Account includes the Request Size (MB) field to set the buffer limit before writing to Azure storage to enhance the performance.

  • The SSH Auth Account supports dynamic values for the following fields that allow you to use Pipeline parameters.

    • Username

    • Private key

    • Key passphrase

4.29 Patch

429patches16569

 Latest
4.29 Patch429patches15842 Latest
  • Improved the tooltip for the File action field in the ZipFile Write Snap.
  • Enhanced the SSH Auth Account with Expression enabler () for the following fields that allow the use of Pipeline parameters to populate the properties.
    • Username
    • Private key
    • Key passphrase
4.29main15993 Stable

Enhanced the following Snaps and Accounts that use SnapLogic File System (SLFS) to display Lint warnings in Pipelines when using incorrect file paths to read and write files. We recommend that you use the File Upload :Upload_icon: icon to specify the file path.

4.28 Patch428patches14919 Latest
  • Fixed an issue with the Directory Browser Snap where the Snap failed while parsing the value in the Amazon S3 client region.
  • Enhanced the File Writer Snap with the Prevent URL encoding checkbox to manage the URL encoding. Select this checkbox to prevent the encoding of the file path URL automatically. This allows the Snap to use the file path value as-is. Deselect this checkbox to automatically encode the characters in the File URL.
  • Fixed an issue with the ZipFile Write Snap where the Snap displayed a null pointer exception when the path in the upstream File Reader Snap started with "../".
  • Fixed an issue in the File Reader Snap where the Snap displayed an SMB Mount error when trying to connect to Mount Share. This Snap now supports SMB version 3.1.1.
  • Fixed an issue with the File Writer Snap where the Snap did not display an error when an error occurred while writing a file.
4.28 Patch

428patches14736

 Latest

Fixed an issue in the File Writer, S3 File Writer, and ZipFile Write Snaps where the Snaps failed with AccessControlListNotSupported error when using an external AWS account to write to the bucket if it has the bucket-owner-enforced setting enabled. With this fix, you can select the None option (the default value), from the AWS Canned ACL dropdown list, indicating that no Canned ACL request is set when writing a new file to prevent the error.

4.28main14627 Stable
  • Enhanced the File Operation Snap to support Azure Data Lake Storage (ADLS) Gen2 protocol for moving and copying files in the Azure Blob File System (ABFS).

  • Fixed an issue with the File Poller Snap to enhance performance of the polling operations that allows the Snap to poll the files without stopping.

  • Enhanced the File Writer, S3 File Writer, and ZipFile Write Snaps with the AWS Canned ACL (Access Control List) permission mode that enables you to use Canned ACLs when creating the S3 Object. This feature allows you to grant full access of the object to the S3 bucket owner.
4.27 Patch427patches14283 Latest
  • Fixed an issue with the File Writer Snap where the Server Message Block (SMB) mount failed to connect unless the Pipeline was restarted.

  • Enhanced the S3 File Writer Snap with the Suggest fully-qualified file names checkbox that allows you to use fully-qualified file names in the File name Suggestions list for gov cloud instances.

  • Fixed an issue with the File Poller Snap to handle indefinite polling operations without stopping in the process of execution.

  • Fixed an issue with the ZipFile Write Snap where the ZIP extension files were downloaded with an incorrect file extension.

  • Fixed an issue with the Zip File Read Snap where an archive failed to uncompress.

  • Fixed an issue with the File Writer Snap when a file greater than 10 MB failed to write when uploading to Google Storage.

  • Upgraded the Google Cloud Storage Java libraries from version 1.105.1 to version 2.2.2.

4.27 Patch

427patches13004

 Latest

Fixed an issue with the SMB Account where the Snaps could not re-establish a lost connection to the SMB mount point.

4.27main12833Stable
  • Enhanced the File Operation Snap with a new field Azcopy absolute path that enables the Snap to make a single API call to move an entire directory. This field supports directory and wildcard characters for Azure blob storage for all three operations: Copy, Move and Rename.
  • Enhanced the Azure Storage Account with a new option called SAS URI in the Auth Type dropdown. This enables you to select either Access Key or the SAS URI while configuring the account settings.
4.26 Patch426patches12288Latest

Fixed a memory leak issue when using HDFS protocol in Binary Snaps.

4.26 Patch426patches11922LatestFixed an issue with the File Writer Snap, where the Snap failed to open a channel while accessing through a SFTP protocol.
4.26 Patch426patches11529Latest
  • Fixed an issue with the Decompress Snap, where the Snap prematurely uncompressed multi-stream BZIP2 files.
  • Enhanced the PGP Encrypt Snap with improved memory usage and also fixed an issue with this Snap, where the Snap failed to encrypt large size files due to the lack of memory.
4.26 main11181
StableUpgraded with the latest SnapLogic Platform release.
4.25 Patch

425patches10994

 
Latest
  • Removed duplicate strings in the request’s User Agent header sent by  S3 File Writer and S3 File Reader Snaps to display the string without any duplicates.
  • Enhanced the Directory Browser Snap to process the files with the owner field for the SFTP protocol. Upon validation, the output of the Snap fetches the owner’s name, which was previously displayed as unknown.
  • Fixed an issue with the File Writer Snap where the Snap fails to connect to the SFTP endpoint using the AWS Transfer Family.
  • Fixed an issue where integration Pipelines fail to connect the SFTP Server with the Binary Snap Pack when upgraded to the SnapLogic 4.25 release version (main9554).
4.25 Patch425patches10217
 
Latest
  • Fixed the following issues in the PGP Decrypt Snap caused due to the Snap patch 425patches9581:
    • The Snap writes an empty document to the output view when there is an error in the Snap. It will now decrypt the document and write it to the output view only if it succeeds.
    • The Snap fails to decrypt any non-signed encrypted file more than 500 bytes. It will now decrypt both non-signed and signed encrypted files. 
    • Removed the Project ID field from the Google Service Account, since the JSON Key already contains information about the Project ID. 
4.25 Patch425patches9581
 
Latest

Fixed an issue with the PGP Decrypt Snap where the Snap writes an empty document to the output view when there is an error in the Snap. It will now decrypt the document and write it to the output view only if it succeeds.

As of  we have discovered an issue with this Binary patch affecting the PGP Decrypt Snap. In case your Pipelines use the PGP Decrypt Snap, we recommend you to NOT use this patch. Else, your Pipelines will likely fail. We're working on a fix and will be deploying a Snap patch soon.

4.25 Patch425patches9564
 
Latest

Enhanced the SFTP session in Binary Snaps to support the SFTP servers which close SFTP sessions slowly.

4.25main9554
 
Stable

Enhanced the S3 File Writer Snap with an ability to write S3objects with Access Control List (ACL) details in a single API call.

In the 4.23 release, the S3 File Writer Snap used to write an S3 file and then set ACL if the ACL property was not empty. If the file write was successful and the ACL setting failed, both the output document in the output view and the error document in the error view was displayed. This issue has been resolved in the 4.24 release by enabling the Snap to configure ACL while writing the file. Therefore, the Snap produces an error document in the error view if the ACL configuration fails, irrespective of whether the file write action passes or fails.

4.24 Patch424patches9044-Latest

Enhanced the S3 File Writer to use an MD5 checksum that automatically checks for data integrity and corruption while uploading the file.  

4.24 Patch424patches9020 
 
Latest

Fixed the file operation error of copying large S3 files in the File Operation Snap by supporting the transfer of zero-byte S3 files while uploading a file.

4.24 Patch424patches8876
 
Latest
  • Fixed the missing library error in Binary Snap Pack when running Hadoop Pipelines in JDK11 runtime.
  • Enhanced the Binary Snap Pack by adding a new account Two-Factor Auth Account that supports two layers of authentication for Secure File Transfer Protocol (SFTP). The two secure layers of verification to grant access include the Basic Auth (username/password) and the SSH Key (username/private key) methods.


4.24main8556
 
StableUpgraded with the latest SnapLogic Platform release.
4.23 Patch423patches8453
 
Latest

Fixed an issue in the File Writer Snap with the ADL protocol, to perform the correct action when OVERWRITE is selected from the File Action drop-down field.

4.23 Patch423patches8368-Latest

Fixed an encryption issue with the File Operation Snap by implementing both SSE-KMS and SSE-S3 supports to the Snap.

4.23 Patch423patches8368-Latest

Fixed an issue in the Snap Pack by removing the plaintext credentials in file URL from JCC log messages.

4.23 Patch423patches8099-Latest

Enhanced the Snap Pack by upgrading SMB client library.

4.23 Patch423patches7958-Latest

Fixed an issue with the File Writer Snap by avoiding overwriting of documents when using appending the data to a CSV file in SFTP.

4.23 Patch423patches7958-Latest

Rolled back the recent patch to Binary Snap Pack (File Writer Snap - 423patches7923) that might have induced SSL handshake failures/terminations in existing Pipelines. 

4.23 Patch423patches7923
Latest
  • Fixed the SFTP connection failure issue in File Writer Snap by
    • Ensuring that the BouncyCastleProvider is the first in the list of providers in the Security object.
    • Upgrading the BouncyCastle version to 1.67.

Do not use the 423patches7923 build for the File Writer Snap, because it causes connectivity issues with the Snaplex nodes.

4.23 Patch423patches7795-Latest

Fixed an issue with File Writer Snap by skipping the validation of the SAS URI having write permission, if the SAS URI uses an access policy.

4.23 Patch423patches7660-Latest

Enhanced the File Poller Snap by adding a field, Exit on first matches, which when set to true stops the Snap from executing after the first file paths matching the filter are written to the output view. If the field is not configured or is set to false (default value), then the Snap continues to poll the directory until the Polling timeout is reached.

4.23main7430-Stable

Enhanced the ZipFile Write Snap to provide the ability to change the default content-type (application/octet-stream) for any file that is stored into the Azure Blob Storage (WASB: or WASBS: file protocol). Hence, the files that the ZipFile Write Snap writes into the Blob Storage can be saved with content-type asapplication/zipor any other type instead of application/octet-streamalways.

You can now prevent the Snap from writing files always to Azure Blob Storage (WASB: or WASBS: file protocol) with the application/octet-stream content-type. To do so, configure a binary header property in an upstream Snap, such as JSON Formatter or Mapper, to match the file's content – application/zipapplication/java-archive and so on; and pass it as the $content-type (case-sensitive) for the file.