AdES Signer
ENTERPRISE
The signer has the fully qualified class name: org.signserver.module.ades.signer.AdESSigner.
Overview
The AdES signer signs PDF and XML documents, as well as CMS signatures of arbitrary data using ETSI formats for advanced electronic signatures (AdES).
The most common electronic signatures formats used within the European Union are XML Advanced Electronic Signatures (XAdES) and PDF Advanced Electronic Signatures (PAdES). The European Telecommunications Standards Institute (ETSI) creates and maintains a set of technical standards for electronic signatures that support the eIDAS legal framework.
As of version 5.7, SignServer supports Baseline Signature Levels for XAdES (as defined in ETSI EN 319 132) and PAdES (as defined in ETSI EN 319 142). The signature formats fulfill the requirements for Advanced Electronic Signatures as per the EU eIDAS regulation.
Signature Levels
The following list the signature levels:
Baseline-B: Basic Electronic Signature. The most simplistic version includes the document signature.
Baseline-T: Signature with a time-stamp. A time-stamp regarding the time of signing is also added.
Baseline-LT: Signature with Long Term Data. Certificates and revocation data are embedded to allow verification in the future even if their original source is not available.
Baseline-LTA: Signature with Long Term Data and Archive time-stamp. Adds an additional time-stamp and is suited for long-term archiving of documents.
Available Properties
Required Property | Default | Description |
|---|---|---|
SIGNATURE_LEVEL | None | Specifies the signature level to use. Required. The supported values are:
|
Properties | Default | Description |
ACCEPTED_HASH_DIGEST_ALGORITHMS | None | Comma-separated list of accepted hash digest algorithms. When a request is consisting of a pre-computed hash, the requested digest algorithm must be among the values specified in this property. The property does not have a default value, and must be specified if client-side hashing is set as the default, or if overriding via the request is allowed. |
ADD_CONTENT_TIMESTAMP | False | (Optional) Setting if a time-stamp over the content should be included. Note that this is different from the signature time-stamp added as part of BASELINE-T and higher levels. |
ADD_VISIBLE_SIGNATURE | None | Enables adding a visible signature for PDF signing. |
ALLOW_PROPERTY_OVERRIDE | Not set (no properties are allowed to be overridden). | Comma-separated list of worker properties that are allowed to be overridden by request metadata properties with the same names. See AdES Signer#Request Metadata Properties for a list of properties that can be added to this property. |
CLIENTSIDEHASHING | False | Property specifying if the request data should be considered to be a pre-computed (by the requesting client) hash. If this is set to to true, |
DIGESTALGORITHM | SHA256 | (Optional) Algorithm for the digest of the binary. Only one of |
EXTEND_VALIDITY | False | (Optional) When set to true and the signature level is BASELINE-LTA, the validity of a document is extended if it was already signed (at any level) with an up-to-date archive timestamp. This can be set to true or false. True is only supported when |
FIXED_SIGNATURE_SIZE | Not set | This property sets a fixed size for the signature space within the PDF and disables the signature size estimation in the first try. This property is only supported with PAdES. If the signature format is PAdES and the |
REVOCATION_DATA_LOADING_STRATEGY | OCSP | Property specifying what revocation data loading strategy to use, meaning that one can choose if OCSP or CRL should be the prioritized mechanism to retrieve revocation data. If the prioritized mechanism fails, we will fall back to latter mechanism. Supported values:
|
SIGNATUREALGORITHM | Depends on signing key | (Optional) Specifies the signature algorithm. The default value depends on the signing key:
Only one of When using client-side hashing, the signature algorithm depends on the digest algorithm of the supplied pre-hashed content. For example, if the configured signature algorithm is SHA256withRSAandMGF1 and the client supplies a SHA-384 pre-hashed content to be signed, the resulting signature algorithm in the signature would be SHA384withRSAandMGF1. |
SIGNATURE_FORMAT | None | Specifies the signature formats to use. Supported formats:
|
SIGNATURE_PACKAGING | None | This property is used and valid when This property is not supported with PAdES. Supported values:
|
TRUSTANCHORS | None | (Optional) Additional trusted certificates in PEM format. When the certificates, revocation data, time-stamp tokens, and so on, are verified as part of signing, certificates not chaining up to the same root CA need to have the root certificate added to this property. If the root certificate is not added, the signing could fail with a processing failure message and the logs show that "revocation data is missing". This especially needs to be done when using a TSA with a signer certificate issued by another root then what this signer is using at LT or higher level and also for cases (at LT level) when the input document already contains signatures (or time-stamps) using a different root. |
TSA_DIGESTALGORITHM | SHA-256 | (Optional) Algorithm for time-stamp digests. |
TSA_PASSWORD | None | Login password used if the TSA uses HTTP Basic Auth. Required if |
TSA_USERNAME | None | (Optional) Login username used if the TSA uses HTTP Basic Auth. |
TSA_URL | None | (Optional) URL of external time-stamp authority. This property cannot be combined with |
TSA_WORKER | (Optional) Worker ID or name of internal time-stamp signer in the same SignServer instance. Default: none. This property cannot be combined with | |
VISIBLE_SIGNATURE_CONTENT_TYPE | None | Content-type of the Base64 image. For example, image/png. |
VISIBLE_SIGNATURE_CUSTOM_IMAGE_RESIZE_TO_RECTANGLE | True | If you want the custom image to be resized to a specified rectangle (set by |
VISIBLE_SIGNATURE_IMAGE_BASE64 | None | The image to use in the visible signature in Base64 format. |
VISIBLE_SIGNATURE_IMAGE_PATH | None | The path to the image for the visible signature. In order to use the |
VISIBLE_SIGNATURE_NAME | None | Sets the visible signature in the existing empty signature filed with this name. |
VISIBLE_SIGNATURE_PAGE | None | Sets a page number where the signature field should be placed. The counting starts from 1 (one) for the first page of the document. |
VISIBLE_SIGNATURE_RECTANGLE_LLX | None | Sets an upper-left X coordinate of the visible signature field. |
VISIBLE_SIGNATURE_RECTANGLE_LLY | None | Sets an upper-left Y coordinate of the visible signature field. |
VISIBLE_SIGNATURE_RECTANGLE_URX | None | Sets the width of the visible signature field. |
VISIBLE_SIGNATURE_RECTANGLE_URY | None | Sets the height of the visible signature field. |
Request Metadata Properties
The following properties can be sent by the client with the request:
Property | Description |
|---|---|
ADD_VISIBLE_SIGNATURE | Overrides the worker property with the same name. Only allowed if listed in |
CLIENTSIDE_HASHDIGESTALGORITHM | The hash digest algorithm of the pre-computed hash. |
USING_CLIENTSUPPLIED_HASH | If this property is set and defined as true, treat the request data as a pre-computed hash. This requires the This only supported when |
VISIBLE_SIGNATURE_CONTENT_TYPE | Overrides the worker property with the same name. Only allowed if listed in |
VISIBLE_SIGNATURE_IMAGE_BASE64 | Overrides the worker property with the same name. Only allowed if listed in |
VISIBLE_SIGNATURE_NAME | Overrides the worker property with the same name. Only allowed if listed in |
VISIBLE_SIGNATURE_PAGE | Overrides the worker property with the same name. Only allowed if listed in |
VISIBLE_SIGNATURE_RECTANGLE_LLX | Overrides the worker property with the same name. Only allowed if listed in |
VISIBLE_SIGNATURE_RECTANGLE_LLY | Overrides the worker property with the same name. Only allowed if listed in |
VISIBLE_SIGNATURE_RECTANGLE_URX | Overrides the worker property with the same name. Only allowed if listed in |
VISIBLE_SIGNATURE_RECTANGLE_URY | Overrides the worker property with the same name. Only allowed if listed in |
VISIBLE_SIGNATURE_CUSTOM_IMAGE_RESIZE_TO_RECTANGLE | Overrides the worker property with the same name. Only allowed if listed in |