Skip to content

47-Day Certificates Are Coming. Are You Ready?

Act Now →

What Is Trusted Timestamping?

Codesign

Trusted timestamping is a cryptographic process that proves a piece of data existed at a specific point in time. A Trusted Timestamping Authority (TSA) takes a hash of the data, adds an accurate time value, and signs the two together with its own certificate. In code signing, timestamping keeps a signature valid even after the signing certificate expires.

Trusted timestamping is a way to cryptographically prove that specific data existed at a specific moment, and that it has not changed since. A trusted third party called a Timestamping Authority (TSA) signs a hash of the data together with the current time. In code signing, this is what allows signed software to stay trusted long after the signing certificate has expired.

Key Takeaways

  • Trusted timestamping proves data existed at a certain time and has not changed since, using a trusted third party (a TSA).
  • The TSA signs a hash of the data plus an accurate time value; it never sees the actual data, only the hash.
  • The core standard is RFC 3161 (the Time-Stamp Protocol), which defines how timestamp requests and tokens work.
  • In code signing, a timestamp lets a signature remain valid after the signing certificate expires or is revoked, because verifiers can confirm the code was signed while the certificate was still valid.
  • Without timestamping, all your signed software would effectively stop being trusted the day its signing certificate expired.

What Is Trusted Timestamping?

Trusted timestamping is a mechanism that binds data to a specific point in time in a way that can be independently verified and cannot be forged. It answers two questions at once: did this exact data exist at this time, and has it changed since? The ‘trusted’ part comes from using an independent third party, a Timestamping Authority (TSA), whose signature vouches for the time. Because the TSA is trusted and its clock is accurate and auditable, its timestamp is far more credible than a date a user could simply set on their own computer.

Importantly, the TSA never receives the actual data. Only a cryptographic hash (a fixed-size fingerprint) of the data is sent to it. This protects the confidentiality of the content while still letting the TSA certify exactly when that content existed, because the hash uniquely represents the data without revealing it.

How Does Trusted Timestamping Work?

The process follows the Time-Stamp Protocol defined in RFC 3161. At a high level:

  1. Hash the data: The client computes a cryptographic hash (for example SHA-256) of the data to be timestamped. The data itself never leaves the client.
  2. Send the hash to the TSA: The client sends only the hash to the Timestamping Authority as a timestamp request.
  3. The TSA adds the time and signs: The TSA combines the received hash with the current, accurate time and signs that combination with its own private key, producing a timestamp token.
  4. Return the timestamp token: The TSA returns the signed timestamp token, which is attached to the data or signature. Anyone can later verify it using the TSA’s public certificate.

To verify a timestamp, a party re-hashes the data, checks that it matches the hash inside the token, and validates the TSA’s signature on the token. If both check out, the data provably existed in that form at the time the TSA recorded, and has not been altered since.

Enterprise Code-Signing Solution

Get One solution for all your software code-signing cryptographic needs with our code-signing solution.

Why Trusted Timestamping Matters for Code Signing

Timestamping is not just a nice-to-have in code signing; it is essential, and the reason is certificate expiry. When a developer signs software, they use a code signing certificate that is only valid for a limited period. Without a timestamp, the signature is only trusted while that certificate is valid. The moment the certificate expires (or is revoked), every piece of software signed with it would stop being trusted, even software that was signed perfectly legitimately years earlier.

A trusted timestamp solves this. By timestamping the signature at the moment of signing, you create durable proof that the code was signed while the certificate was still valid. Verifiers (such as operating systems) can then continue to trust the signature long after the certificate expires, because they can see it was signed during the certificate’s valid lifetime. In short:

The Core Benefit for Code Signing

  • Without timestamping: a signature is trusted only until the signing certificate expires. After that, the software is flagged as untrusted, even if nothing is wrong with it.
  • With timestamping: the signature stays trusted well beyond the certificate’s expiry, because a trusted third party has proven the code was signed while the certificate was valid.

This is why timestamping is considered a best practice (and is effectively required) for production code signing: it lets you distribute software with a long, stable trust lifetime instead of one that breaks on the certificate’s expiry date.

Timestamping and Revocation

Timestamping also interacts with certificate revocation. If a code signing certificate has to be revoked (for example, because its private key was compromised), the revocation usually takes effect from a certain date. A trusted timestamp lets verifiers distinguish software that was signed before the compromise from software signed after it. Signatures made and timestamped before the revocation date can still be honored, while those made afterward are correctly rejected. Without a timestamp, there is no reliable way to tell when the signing happened, so trust becomes all-or-nothing.

Standards Behind Trusted Timestamping

Trusted timestamping is well standardized, which is what makes it interoperable across tools and platforms:

StandardWhat it defines
RFC 3161The Time-Stamp Protocol (TSP): the format of timestamp requests and signed timestamp tokens between a client and a TSA.
RFC 5816 / ESSCertIDv2Updates that allow stronger hash algorithms (like SHA-256) in the timestamp token’s signing certificate identifier.
RFC 3628Policy requirements for the operation of a Timestamping Authority.
Authenticode timestampingMicrosoft’s code signing timestamp mechanisms (both legacy and RFC 3161-based) used for Windows executables.

Common Uses of Trusted Timestamping

  • Code signing: Keeping signed software, drivers, and firmware trusted long after the signing certificate expires. This is the most critical use.
  • Digital signatures on documents: Proving a document or agreement existed and was signed at a specific time, supporting non-repudiation and legal validity.
  • Long-term archiving: Timestamps enable long-term validation (LTV), so signatures remain verifiable years later for archival and audit purposes.
  • Compliance and evidence: Demonstrating that data (such as evidence, records, or intellectual property) existed in a certain form at a certain time.

Enterprise Code-Signing Solution

Get One solution for all your software code-signing cryptographic needs with our code-signing solution.

How Encryption Consulting Helps

Trusted timestamping is a built-in part of doing code signing correctly, and Encryption Consulting’s CodeSign Secure platform makes it seamless. CodeSign Secure secures your signing keys (in an HSM), automates signing across your build pipelines, and applies trusted RFC 3161 timestamps so your software stays trusted well beyond certificate expiry, with full certificate management, policy enforcement, and audit trails. Backed by ISO/IEC 27001:2022 and SOC 2 certified practices, it helps you sign at scale without the risk of expiring signatures or mismanaged keys.

Frequently Asked Questions

What is trusted timestamping?

Trusted timestamping is a cryptographic process that proves specific data existed at a specific point in time and has not been altered since. A trusted third party called a Timestamping Authority (TSA) takes a hash of the data, combines it with an accurate time value, and signs the two together with its own certificate, producing a timestamp token. Because the TSA is independent and its clock is trusted, the timestamp is far more credible than a date set on a user’s own device. It is widely used in code signing and digital signatures.

How does trusted timestamping work?

The client first computes a cryptographic hash of the data, then sends only that hash to a Timestamping Authority (TSA), following the RFC 3161 Time-Stamp Protocol. The TSA combines the hash with the current accurate time and signs it with its private key, returning a signed timestamp token. To verify, anyone can re-hash the data, confirm it matches the hash in the token, and validate the TSA’s signature. If both match, the data provably existed at that time and has not changed. The TSA never sees the actual data, only its hash.

Why is timestamping important for code signing?

Because code signing certificates expire. Without a timestamp, a software signature is only trusted while its signing certificate is valid; the day the certificate expires, all software signed with it would be flagged as untrusted, even legitimate software signed years earlier. A trusted timestamp proves the code was signed while the certificate was still valid, so verifiers continue to trust the signature long after the certificate expires. This is why timestamping is a best practice, effectively a requirement, for production code signing.

What happens to signed code if there is no timestamp?

If code is signed without a trusted timestamp, its signature is only valid for the lifetime of the signing certificate. Once that certificate expires, typically after one to three years, the operating system or verifier can no longer confirm the signature was made while the certificate was valid, so the software is treated as untrusted or unsigned. Users may see security warnings, or the software may be blocked. Timestamping avoids this by anchoring the signature to a provable point in time within the certificate’s valid period.

What is RFC 3161?

RFC 3161 is the internet standard that defines the Time-Stamp Protocol (TSP), the format and rules for requesting and issuing trusted timestamps. It specifies how a client sends a hash to a Timestamping Authority (TSA) and how the TSA returns a signed timestamp token binding that hash to a time value. Because it is a widely adopted standard, RFC 3161 makes trusted timestamps interoperable across different tools, platforms, and TSAs. Later updates, such as RFC 5816, added support for stronger hash algorithms like SHA-256.

Does the timestamping authority see my data or code?

No. The Timestamping Authority only ever receives a cryptographic hash of your data, never the data or code itself. The hash is a fixed-size fingerprint that uniquely represents the data without revealing its contents, so the TSA can certify exactly when that data existed while your actual content stays private on your side. This is an important privacy and security property: you gain a trusted proof of time without disclosing anything sensitive to the third-party authority.

Keep Your Signatures Trusted with CodeSign Secure

Trusted timestamping is what keeps your signed software trusted for the long term. Explore Encryption Consulting’s CodeSign Secure to sign at scale with secure keys and built-in RFC 3161 timestamping, so your signatures outlast your certificates.