Cryptography Encrypt

Cryptography Encrypt

Certified

Encrypt and optionally sign files with OpenPGP

Streams a Kestra-stored file through ASCII-armored PGP encryption (AES-256 with integrity) and returns the storage URI. Optionally signs the payload when a private key and passphrase are provided; only the first public key in key is used for encryption.

yaml
type: io.kestra.plugin.crypto.openpgp.Encrypt

Encrypt a file not signed

yaml
id: crypto_encrypt
namespace: company.team

inputs:
  - id: file
    type: FILE

tasks:
  - id: encrypt
    type: io.kestra.plugin.crypto.openpgp.Encrypt
    from: "{{ inputs.file }}"
    key: |
      -----BEGIN PGP PUBLIC KEY BLOCK----- ...
    recipients:
      - hello@kestra.io

Encrypt a file signed

yaml
id: crypto_encrypt
namespace: company.team

inputs:
  - id: file
    type: FILE

tasks:
  - id: encrypt
    type: io.kestra.plugin.crypto.openpgp.Encrypt
    from: "{{ inputs.file }}"
    key: |
      -----BEGIN PGP PUBLIC KEY BLOCK----- ...
    recipients:
      - hello@kestra.io
    signPublicKey: |
      -----BEGIN PGP PUBLIC KEY BLOCK----- ...
    signPrivateKey: "{{ secret('PGP_SIGN_PRIVATE_KEY') }}"
    signPassphrase: "{{ secret('PGP_SIGN_PASSPHRASE') }}"
    signUser: signer@kestra.io
Properties
SubTypestring

Recipient identifiers

Required metadata for compatibility; values are not validated against the provided key.

Source file to encrypt

Kestra internal storage URI or templated path to the cleartext file.

Public key for encryption

ASCII-armored export such as gpg --export -a; the first key ring found is used.

Reference (ref) of the pluginDefaults to apply to this task.

Passphrase for signing key

Leave empty if the signing key is not protected.

Private key for signing

ASCII-armored secret key used to sign the encrypted payload.

Public key used for signature metadata

Optional ASCII-armored export; kept for compatibility with legacy plugin expectations.

User ID bound to the signature

Required when signing; identifies the signing key within the secret key ring.

Formaturi

URI of encrypted file