Table of Contents

Class DeferredSigner

Namespace
SimpleSign.PAdES
Assembly
SimpleSign.PAdES.dll

Entry point for two-phase PAdES signing where the private key resides on a different machine (for example, an A3 hardware token in a user's browser).

public static class DeferredSigner
Inheritance
DeferredSigner
Inherited Members

Examples

// Phase 1 — Server: prepare PDF and get hash for external signing.
var signer = DeferredSigner.Document(pdfBytes).WithCertificate(publicCert);
var result = await signer.PrepareAsync();
// Send result.HashToSign to the client; store result.SessionData on server

// Phase 2 — Server: complete signing with the raw signature from client
byte[] signedPdf = await DeferredSigner.Resume(result.SessionData, sessionIntegrityKey).CompleteAsync(rawSignature);

Methods

Document(byte[])

Creates a deferred PAdES builder for the supplied PDF bytes.

public static DeferredSignerBuilder Document(byte[] pdfBytes)

Parameters

pdfBytes byte[]

PDF bytes to snapshot for the deferred operation.

Returns

DeferredSignerBuilder

A builder that requires WithCertificate before preparation.

Resume(byte[], byte[])

Resumes phase two of a deferred signing operation from server-side session data.

public static DeferredSignerBuilder Resume(byte[] sessionData, byte[] sessionIntegrityKey)

Parameters

sessionData byte[]

Integrity-protected serialized session returned by phase one.

sessionIntegrityKey byte[]

The server-owned HMAC key used during phase one.

Returns

DeferredSignerBuilder

A builder that can configure completion and embed the returned external signature.