Back to Nodes

PGP

Last updated Dec 18, 2025

n8n-nodes-pgp enables seamless integration of PGP encryption functionalities into n8n workflows. Create keys, encrypt, decrypt, sign, and verify messages effortlessly. Perfect for secure data handling in automated workflows.

100 Weekly Downloads
202 Monthly Downloads

Included Nodes

PGP

Description

n8n-nodes-pgp

This is an n8n community node. It lets you use OpenPGP encryption and signing in your n8n workflows.

OpenPGP is a standard for encryption and signing of data.

n8n is a fair-code licensed workflow automation platform.

Table of Contents

  • Installation
  • Operations
  • Credentials
  • Resources
  • Screenshots
  • Installation

    Follow the installation guide in the n8n community nodes documentation.

    Operations

  • Encrypt: Encrypts text or binary files using a public key. Binary files can be compressed before encryption.
  • Decrypt: Decrypts text or binary files using a private key. Compressed files are automatically decompressed after decryption.
  • Sign: Creates a digital signature for text or binary files using a private key.
  • Verify: Checks if a digital signature is valid for text or binary files using a public key.
  • Encrypt-And-Sign: Encrypts and signs text or binary files in one step. Binary files can be compressed before encryption. Supports both detached signatures (default) and embedded signatures.
  • Decrypt-And-Verify: Decrypts and verifies text or binary files in one step. Compressed files can be decompressed after decryption. Supports both detached signatures (default) and embedded signatures.
  • Embedded Signatures

    The Encrypt-And-Sign and Decrypt-And-Verify operations now support embedded signatures:

  • Embed Signature (Encrypt-And-Sign): When enabled, the signature is embedded within the encrypted message rather than provided as a separate output. This creates a standard OpenPGP message format that includes both encryption and signature verification in a single message.
  • Embedded Signature (Decrypt-And-Verify): When enabled, the node expects the message to contain an embedded signature and will automatically verify it during decryption. No separate signature input is required.
  • By default, both options are disabled to maintain backward compatibility with existing workflows that use detached signatures.

    Credentials

    To authenticate with this node, you need to provide the following credentials:

  • Passphrase: The passphrase for the private key.
  • Public Key: Armored public key for encryption and verification.
  • Private Key: Armored private key for decryption and signing.
  • Resources

  • n8n community nodes documentation
  • openpgpjs
  • Screenshots

    Credentials

    !Credentials

    Encryption

    !Encrypt

    Decryption

    !Decrypt

    Signing

    !Sign

    Verification

    !Verify

    Test Results

    This section displays the results of unit tests for each operation, based on a live n8n instance.

    | Operation | Last Tested | Status |
    |——————|——————————————————-|——————————————————–|
    | Encrypt (Text) | 2025-12-03 | ✅ Success |
    | Decrypt (Text) | 2025-12-03 | ✅ Success |
    | Sign (Text) | 2025-12-03 | ✅ Success |
    | Verify (Text) | 2025-12-03 | ✅ Success |
    | Encrypt (Binary) | 2025-12-03 | ✅ Success |
    | Decrypt (Binary) | 2025-12-03 | ✅ Success |
    | Sign (Binary) | 2025-12-03 | ✅ Success |
    | Verify (Binary) | 2025-12-03 | ✅ Success |

    Unit Tests

    Unit tests can be executed with the following command:

    npx jest
    

    #### Test Results

    binary-utils.test.ts

  • Convert text data to base64 string
  • Convert base64 string back to text data
  • Convert binary data to base64 string
  • Convert base64 string back to binary data
  • sign.test.ts

  • Signs and verifies text message
  • Signs and verifies text message with encrypted private key
  • Verify fails with a different keypair
  • Signs binary data
  • Verify fails with a different keypair
  • data-compressor.ts

  • Compresses and decompresses with zlib
  • Compresses and decompresses with zip
  • Throws an error for unsupported algorithm during compression
  • Throws an error for unsupported algorithm during decompression
  • encrypt.test.ts

  • Encrypts and decrypts a text message
  • Encrypts and decrypts a text message with encrypted private key
  • Decryption fails with a different private key
  • Encrypts and decrypts a binary file
  • Binary decryption fails with a dirrent private key
  • Encryps and decrypts a compresses binary file
  • embedded-signature.test.ts

  • Encrypts and decrypts text with embedded signature
  • Encrypts and decrypts text with embedded signature using encrypted private key
  • Decrypt fails with wrong private key but embedded signature verification still works
  • Encrypts and decrypts binary with embedded signature
  • Encrypts and decrypts binary with embedded signature using encrypted private key
  • Backward compatibility: detached signature still works
  • Embedded signature verification fails with wrong public key
  • Handle invalid messages gracefully
  • Handle messages without signatures gracefully
  • #### Code Coverage:

  • Statements: 98.93%
  • Branches: 100%
  • Functions: 100%
  • Lines: 98.91%