OpenPGP Signer

The OpenPGP signer has the fully qualified class name: org.signserver.module.openpgp.signer.OpenPGPSigner.

Overview

The OpenPGP signer can sign arbitrary data and produces an OpenPGP (RFC#4880) detached signature in binary or ASCII armored form or a cleartext signature.

Note that this type of signer does not use X.509 certificates. The OpenPGP public key can instead be obtained from the worker's status output. Additionally, the generate CSR functionality allows adding a user ID to the public key and storing the new public key in the PGPPUBLICKEY worker property.

For step-by-step setup instructions, see Setting up OpenPGP Signer.

Available Properties

Property

Description

DIGEST_ALGORITHM

OpenPGP Hash Algorithm to use with the signature. Possible values are numeric or textual OpenPGP Hash Algorithms. Examples: "SHA256", "10". Optional. Default: "SHA256".

DETACHEDSIGNATURE

Property specifying if a detached signature should be used or otherwise a clear-text signature. Examples: "true", "false". Required.

RESPONSE_FORMAT

Format of the response. Either binary or ASCII armored. Examples: "BINARY", "ARMORED". Optional. Default: "ARMORED".

For clear-text signatures (i.e. DETACHEDSIGNATURE=false) only "ARMORED" is a valid choice.

SELFSIGNED_VALIDITY

The number of seconds the key is valid for after its creation. This property is used when a certification is added to the key so to extend the current validity, set a higher value and perform the certification again. An empty value or zero means that the key does not expire (default). Optional. Default: (empty).

PGPPUBLICKEY

Property for storing the latest OpenPGP public key in ASCII armored form after adding user IDs / certifications to it. Remember to store the updated public key in this property so that the current user IDs are kept when new ones are added later on. Optional. Default: (empty).

GENERATE_REVOCATION_CERTIFICATE

Setting this property to true, switches the behavior of the generate CSR functionality to not add user ID / certification but instead generate an OpenPGP revocation certificate. Optional. Default: "false".

The idea is to only switch this to true temporarily, generate the revocation certificate and then switch it back to false.

The header for the PGP public key block, -----BEGIN PGP PUBLIC KEY BLOCK-----, is prefixed by a colon to prevent accidentally importing a revocation certificate. Before importing the certificate, this colon must be removed so that line only contains the text -----BEGIN PGP PUBLIC KEY BLOCK-----.