[]
        
(Showing Draft Content)

Pkcs7SignerBase

Abstract Class: Pkcs7SignerBase

Base class for PKCS#7 signature creation.

Provides core functionality for PKCS#7/CMS (Cryptographic Message Syntax) signature generation. This class is designed to be extended by specific signer implementations (e.g., Pkcs7Signer).

Extended by

Constructors

Constructor

new Pkcs7SignerBase(): Pkcs7SignerBase;

Creates a new Pkcs7SignerBase.

Returns

Pkcs7SignerBase

Accessors

contactInfo

Get Signature

get contactInfo(): string;

Gets the information provided by the signer to enable a recipient to contact the signer to verify the signature (for example, a phone number).

Returns

string

Set Signature

set contactInfo(value): void;

Sets the information provided by the signer to enable a recipient to contact the signer to verify the signature (for example, a phone number).

Parameters
value

string

Returns

void


crls

Get Signature

get crls(): (string | ArrayBuffer)[];

Gets the collection of certificate revocation lists (CRLs) to use. Items in this collection may be of the following types: ArrayBuffer An encoded CRL list. string The URL of a CRL (e.g. http://crl.cacert.org/revoke.crl).

Returns

(string | ArrayBuffer)[]

Set Signature

set crls(value): void;

Sets the collection of certificate revocation lists (CRLs) to use. Items in this collection may be of the following types: ArrayBuffer An encoded CRL list. string The URL of a CRL (e.g. http://crl.cacert.org/revoke.crl).

Parameters
value

(string | ArrayBuffer)[]

Returns

void


documentAccessPermissions

Get Signature

get documentAccessPermissions(): AccessPermissions;

Gets the information provided by the signer to enable a recipient to contact the signer to verify the signature (for example, a phone number).

Returns

AccessPermissions

Set Signature

set documentAccessPermissions(value): void;

Sets the information provided by the signer to enable a recipient to contact the signer to verify the signature (for example, a phone number).

Parameters
value

AccessPermissions

Returns

void


externalResourcesOptions

Get Signature

get externalResourcesOptions(): ExternalResourcesOptions;

Gets configuration options used to retrieve external X.509-related resources.

These options control how resources such as CRLs, OCSP responses, and TSA data are resolved and fetched, including URL rewriting, custom network handling, and request lifecycle hooks.

Returns

ExternalResourcesOptions

The current external resources configuration, or undefined if default behavior is used.

Set Signature

set externalResourcesOptions(value): void;

Sets configuration options used to retrieve external X.509-related resources.

This allows customizing how external resources are accessed, for example:

  • routing requests through a backend proxy to avoid CORS issues
  • providing a custom loader implementation
  • handling request/response lifecycle events (logging, caching, etc.)
Parameters
value

ExternalResourcesOptions

The external resources configuration to apply, or undefined to use the default behavior.

Returns

void


format

Get Signature

get format(): Pkcs7SignatureFormat;

Gets or sets the PKCS#7 signature format.

Returns

Pkcs7SignatureFormat


includeOcsp

Get Signature

get includeOcsp(): boolean;

Gets a value indicating whether to include OCSP information into the signature.

Returns

boolean

Set Signature

set includeOcsp(value): void;

Sets a value indicating whether to include OCSP information into the signature.

Parameters
value

boolean

Returns

void


location

Get Signature

get location(): string;

Gets the CPU host name or physical location of the signing.

Returns

string

Set Signature

set location(value): void;

Sets the CPU host name or physical location of the signing.

Parameters
value

string

Returns

void


reason

Get Signature

get reason(): string;

Gets the reason for the signing, such as "I agree...".

Returns

string

Set Signature

set reason(value): void;

Sets the reason for the signing, such as "I agree...".

Parameters
value

string

Returns

void


signatureAppearance

Get Signature

get signatureAppearance(): SignatureAppearance;

Gets a SignatureAppearance object defining the visual appearance of the generated signature. By default this property is initialized with a default instance of the SignatureAppearance class. If null, the appearance streams of the signature field's widget are left as is (not regenerated during signing).

Returns

SignatureAppearance

Set Signature

set signatureAppearance(value): void;

Sets a SignatureAppearance object defining the visual appearance of the generated signature. By default this property is initialized with a default instance of the SignatureAppearance class. If null, the appearance streams of the signature field's widget are left as is (not regenerated during signing).

Parameters
value

SignatureAppearance

Returns

void


signatureField

Get Signature

get signatureField(): Field;

Gets an AcroForm field used to store a digital signature. If SignatureField.Widget is not null, a visual appearance will be generated based on values of the properties signingDateTime, location etc.

Returns

Field

Set Signature

set signatureField(value): void;

Sets an AcroForm field used to store a digital signature. If SignatureField.Widget is not null, a visual appearance will be generated based on values of the properties signingDateTime, location etc.

Parameters
value

Field

Returns

void


signerName

Get Signature

get signerName(): string;

Gets the name of the person or authority signing the document. NOTE: This value is used only if it is not possible to extract the name from the signature, for example from the certificate of the signer. By default this property is initialized with: process.env.USER || process.env.USERNAME.

Returns

string

Set Signature

set signerName(value): void;

Sets the name of the person or authority signing the document. NOTE: This value is used only if it is not possible to extract the name from the signature, for example from the certificate of the signer. By default this property is initialized with: process.env.USER || process.env.USERNAME.

Parameters
value

string

Returns

void


signingDateTime

Get Signature

get signingDateTime(): PdfDateTime;

Gets the time of signing. NOTE: This value is used only if the time of signing is not available in the signature. For example, a time stamp can be embedded in a PKCS#7 binary data object. By default this property is initialized with the current date and time.

Returns

PdfDateTime

Set Signature

set signingDateTime(value): void;

Sets the time of signing. NOTE: This value is used only if the time of signing is not available in the signature. For example, a time stamp can be embedded in a PKCS#7 binary data object. By default this property is initialized with the current date and time.

Parameters
value

PdfDateTime

Returns

void


timeStampProvider

Get Signature

get timeStampProvider(): TimeStampProviderBase;

Gets the TimeStampProviderBase object that is used to generate the time-stamp token included in the digital signature of the document.

Returns

TimeStampProviderBase

Set Signature

set timeStampProvider(value): void;

Sets the TimeStampProviderBase object that is used to generate the time-stamp token included in the digital signature of the document.

Parameters
value

TimeStampProviderBase

Returns

void

Methods

buildSignatureContainer()

buildSignatureContainer(docHash, signParams): Promise<Uint8Array<ArrayBufferLike>>;

Builds a PKCS#7 (CMS) signature container for the specified document byte ranges.

This method implements the third stage of the signing process. It constructs a complete detached signature container by:

  • Building the set of signed attributes (e.g. content type, message digest, revocation information, and optional CAdES attributes).
  • Generating the signature value.
  • Assembling the PKCS#7 SignedData structure, including:
    • digest algorithms
    • content info
    • certificate chain
    • signer info
  • Optionally embedding CRLs, OCSP responses, and a timestamp token.

The resulting container can be embedded into a PDF signature field.

Parameters

docHash

Uint8Array

The document hash used to calculate signature

signParams

SignParams

Parameters produced by Pkcs7SignerBase.getSignParams, including certificate chain, revocation data, and additional signing configuration.

Returns

Promise<Uint8Array<ArrayBufferLike>>

A DER-encoded PKCS#7 (CMS) signature container as a Uint8Array.

Throws

May throw if signature generation fails or if the timestamp provider (when configured) fails to produce a valid timestamp token.


getSignParams()

abstract getSignParams(): Promise<SignParams>;

Prepares parameters required for the first stage of the signing process.

This method performs validation, initializes signing-related data, and collects all inputs required for building the final signature container. It corresponds to the "preparation stage" of signing.

Returns

Promise<SignParams>

A SignParams object containing:

  • certificate chain
  • CRLs and OCSP responses (if available)
  • additional parameters required for signature generation

Throws

If the configured signature format is invalid or unsupported.