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.
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:
Input
This Snap has exactly one binary input view. The data that has to be encrypted is passed through this view.
Output
This Snap has exactly one binary output view. The data encrypted is passed through this view as output.
Error
This 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 Value: Execute 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:
Upgraded the org.json.json library from v20090211 to v20240303, which is fully backward compatible.
May 2024
437patches27146
Latest
Enhanced 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 2024
437patches26873
Latest
Fixed an issue with the File Poller Snap where the Snap applied a case-sensitive filter in the Windows operating system.
May 2024
437patches26592
Latest
Enhanced the Decompress Snap to support encrypted and unencrypted ZIP and 7z files through the new File Password Account type.
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 2024
436patches25332
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 2024
436patches25241
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 2024
436patches25161
Latest
Fixed an issue with the File Poller Snap that displayed an exception when an unauthorized character ':' was used in the Windows Snaplex.
February 2024
main25112
Stable
Updated and certified against the current SnapLogic Platform release.
November 2023
435patches24525
Latest
Fixed an issue with the File Poller Snap that caused it to poll recursively for files in the root directory of the S3 bucket.
November 2023
435patches23780
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 2023
main23721
Stable
Updated and certified against the current SnapLogic Platform release.
August 2023
434patches23502
Latest
Fixed 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 2023
434patches23302
Latest
Fixed an issue that occurred when node properties were used to override default algorithm specifications for SFTP operations.
August 2023
434patches22976
Latest
Fixed an issue that caused account credentials to be visible in the stack trace of some failed SFTP operations.
August 2023
434patches22842
Latest
Fixed an issue that caused NTLM authentication issues when trying to access SMB servers.
August 2023
434patches22639
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 2023
433patches22297
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 2023
433patches21870
Latest
Added 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 2023
433patches21576
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 2023
433patches21482
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 2023
433patches21291
Latest
Fixed 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 2023
433patches21179
Latest
Fixed an issue with the File DeleteSnap where the Snap failed with a 404 Not Founderror 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 2023
main21015
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 2023
432patches20431
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 2023
432patches20349
Latest
The JSCH library has been upgraded to version 0.2.7.
February 2023
main19844
Stable
Upgraded with the latest SnapLogic Platform release.
November 2022
431patches18977
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 2022
main18944
Stable
Upgraded with the latest SnapLogic Platform release.
September 2022
430patches17933
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 2022
main17386
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
Enhanced the File Operation Snap to support moving data from local node to Azure blob through the AZ Copy utility.
Enhanced Azure Storage Account with the Request Size (MB) field to set the buffer limit before writing to Azure storage to enhance the performance.
Enhanced the following Binary Snaps to partially support '?' character in the file names and file paths:
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.29
main15993
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.
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.28
main14627
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 Patch
427patches14283
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.27
main12833
Stable
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 Patch
426patches12288
Latest
Fixed a memory leak issue when using HDFS protocol in Binary Snaps.
4.26 Patch
426patches11922
Latest
Fixed an issue with the File Writer Snap, where the Snap failed to open a channel while accessing through a SFTP protocol.
4.26 Patch
426patches11529
Latest
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
Stable
Upgraded 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 Patch
425patches10217
Latest
Fixed the following issues in the PGP DecryptSnap 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 Patch
425patches9581
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 Patch
425patches9564
Latest
Enhanced the SFTP session in Binary Snaps to support the SFTP servers which close SFTP sessions slowly.
4.25
main9554
Stable
Enhanced theS3 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 Patch
424patches9044
-
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 Patch
424patches9020
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 Patch
424patches8876
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.24
main8556
Stable
Upgraded with the latest SnapLogic Platform release.
4.23 Patch
423patches8453
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 Patch
423patches8368
-
Latest
Fixed an encryption issue with the File Operation Snap by implementing both SSE-KMS and SSE-S3 supports to the Snap.
4.23 Patch
423patches8368
-
Latest
Fixed an issue in the Snap Pack by removing the plaintext credentials in file URL from JCC log messages.
4.23 Patch
423patches8099
-
Latest
Enhanced the Snap Pack by upgrading SMB client library.
4.23 Patch
423patches7958
-
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 Patch
423patches7958
-
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 Patch
423patches7923
Latest
Fixed the SFTP connection failure issue inFile WriterSnap 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 Patch
423patches7795
-
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 Patch
423patches7660
-
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.23
main7430
-
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/zip, application/java-archive and so on; and pass it as the$content-type (case-sensitive) for the file.