SHA3 PDF Signatures and Timestamps

HotPDF applies one digest policy across detached CMS, signed attributes, RSA or ECDSA signature identifiers, RFC 3161 message imprints, signature timestamps, document timestamps, Seed Value dictionaries, and loaded-signature verification

Digest selection

THPDFCMSDigestAlgorithm provides cmsdaSHA256, cmsdaSHA384, cmsdaSHA512, cmsdaSHA3_256, cmsdaSHA3_384, and cmsdaSHA3_512

Options := HPDFCMSDefaultOptions(palBaseline_B_T);
Options.DigestAlgorithm := cmsdaSHA3_384;
Options.SignatureScheme := cmsRSAPSS;
Options.PSSSaltLength := 48;

HPDFCMSBuildSignedDataEx, the stream signing functions, external signers, and signature providers all consume the selected digest without a SHA-256 fallback

RSA PKCS#1 v1.5 uses the digest-specific DigestInfo, RSA-PSS uses matching hash and MGF1 parameters, and cmsECDSA emits the combined ECDSA signature OID for the selected digest

Timestamp policy

GetContentTimeStamp receives the selected document digest and GetSignatureTimeStamp receives the selected digest of the CMS signature value

Returned RFC 3161 tokens are rejected unless both the message-imprint OID and bytes match the selected digest policy

The THotPDF.RenewPAdESLTATimestamp overload with a DigestAlgorithm parameter applies the same policy to archive-timestamp renewal, while the compatibility overload remains SHA-256

PDF declaration and Seed Values

Using SHA3-256, SHA3-384, or SHA3-512 in THPDFPage.AttachPAdESSeedValue declares the ISO 32001 PDF 2.0 developer extension automatically

The catalog entry uses /Extensions /ISO_ with /BaseVersion /2.0, /ExtensionLevel 32001, /ExtensionRevision (:2022), and /Type /DeveloperExtensions

Provider requirements

THPDFPKCS11SignatureProvider maps SHA3 requests to the corresponding PKCS#11 hash and MGF identifiers and converts raw ECDSA signatures to CMS DER

THPDFWindowsKeyStorageSignatureProvider passes the selected SHA3 algorithm to CNG and also converts raw ECDSA signatures to CMS DER

SignPDFWithSystemCertificate applies the same CNG policy to Windows certificate-store keys, while legacy CryptoAPI keys explicitly reject SHA3

A token, key-storage provider, or Windows version that does not implement the requested SHA3 algorithm returns an explicit unsupported status

Streaming performance

PDF byte ranges are hashed in bounded chunks and SHA3 signing can share the same range scan with PDF MAC generation, including direct digest reuse when both policies select the same algorithm