PAdES签名中signingTime属性被禁,无需TSP的合规替代方案咨询
Hey there, let's unpack your questions clearly—this is a common point of confusion with PAdES compliance, so let's break it down step by step:
Why is signingTime prohibited in ETSI-compliant PAdES?
The ETSI EN 319 142 series (the core standard for PAdES) explicitly bans the signingTime CMS/ASN.1 attribute (as noted in Table 1 on page 19 of the spec) for a critical reason:
signingTimeis a locally generated value with no third-party authoritative validation. It’s trivial to tamper with system clocks or forge this attribute, which means it can’t provide the non-repudiable time proof required for legally valid electronic signatures. PAdES is designed to meet strict legal and trust requirements, so unvetted local time values don’t make the cut—hence the ban, and why the ETSI validator rejects signatures using it.
Compliant Alternatives for a Signed Timestamp (No TSP Required)
First, a quick clarification: Strictly speaking, any timestamp that meets ETSI’s trust needs requires a verifiable, authoritative time source. That said, if you’re set on avoiding external TSPs, here are the most viable options that align with PAdES structure:
Document Time Stamp (DTS) with a Local Trusted Clock
A DTS (which maps to your mentionedcontent-time-stamp) is a signed timestamp bound directly to the document’s content hash, making it a "signed" attribute embedded within the CMS signature properties. While ETSI prefers TSPs for time authority, you can generate a DTS using a locally trusted time source (e.g., a Hardware Security Module (HSM) with a certified internal clock).
Note: This meets PAdES structural requirements, but the timestamp’s legal validity depends on your ability to prove the local clock’s integrity. The ETSI online validator might still flag it if it can’t verify the time source, but it’s the closest compliant alternative to your need.Leverage the
signingCertificateV2Attribute
If you just need a time-related value bound to the signature (rather than a strict timestamp), thesigningCertificateV2attribute includes the validity period of your signing certificate. While this doesn’t directly prove the exact signing time, it ties the signature to a verified time window. This is fully compliant with ETSI standards, though it’s not a replacement for a dedicated timestamp.
Important side note: The signature-time-stamp you mentioned is a timestamp applied after the signature is created, bound only to the signature value (not the document content)—so it doesn’t meet your "signed timestamp" requirement of being tied to the content.
内容的提问来源于stack exchange,提问作者hengsti

