DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Please enter at least three characters to search
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Last call! Secure your stack and shape the future! Help dev teams across the globe navigate their software supply chain security challenges.

Modernize your data layer. Learn how to design cloud-native database architectures to meet the evolving demands of AI and GenAI workloads.

Releasing software shouldn't be stressful or risky. Learn how to leverage progressive delivery techniques to ensure safer deployments.

Avoid machine learning mistakes and boost model performance! Discover key ML patterns, anti-patterns, data strategies, and more.

Trending

  • AI-Based Threat Detection in Cloud Security
  • The Modern Data Stack Is Overrated — Here’s What Works
  • Scalable System Design: Core Concepts for Building Reliable Software
  • Unlocking AI Coding Assistants Part 3: Generating Diagrams, Open API Specs, And Test Data

Why Time Stamps for Code Signing Certificates Matters

Better secure your code signing certificates with timestamping.

By 
Kalpesh Patel user avatar
Kalpesh Patel
·
Updated Sep. 03, 19 · Opinion
Likes (3)
Comment
Save
Tweet
Share
8.9K Views

Join the DZone community and get the full member experience.

Join For Free

stamp with two paddles laid across one another

Why timestamping matters

If you haven't timestamped the signature while using code signing certificate for your software the signature will remain valid till the certificate is not expired. In other words, the signature remains valid, if the data has not tampered, none of the certificate is revoked in the chain, the root certificate is trusted, and the signing certificate is within the validity period. And, once the certificate expires, revoked or becomes invalid, the signature will be considered as invalid and trust warning will be displayed.

To eliminate such issues, timestamping is used. Timestamping in Code Signing Certificates helps in showing when the software file was signed. It's quite similar to signing your document in the presence of a notary. Here, Timestamping works as a notary witness to the identification of the signatory as well as the signing time.

What Is a Time Stamp?

A timestamp is like a declaration of a trusted source, called TSA (Timestamp Authority), which tells that the hashed digital signature was valid at the issuance time of timestamp. Due to this, Windows considers the signature to be valid even after the expiration of the certificate and invalid if the signature is not timestamped. If the certificate to be used for signing a software expires, the signature will not be considered valid.

Also, timestamping plays a role in the process of checking revoked certificates. If a digital signature were timestamped before the revocation of the certificate, the signature would be considered valid. So, timestamping allows a company to revoke a certificate and start signing with a new certificate without risking the invalidation of software applications that were signed earlier. Likewise, timestamps can be used for all Windows platforms if they are configured with the root certificates of the issuing CAs.

Time Stamping – How Does it Work?  

Timestamp Authority uses PKI (Public Key Infrastructure) technology for applying timestamps. Let’s see the steps for an overview,

  • A unique hashed value is created and sent to the TSA by the client application for the file that needs to be timestamped.

  • From this point, whenever any change occurs in the original file even for a bit of information, it will be communicated with the TSA server.

  • Hash, authoritative time and other related information are combined by the TSA and signed by its private key to create a timestamp token that is then sent back to the client. Also, all the information needed by the client application for verifying the timestamp is contained in this timestamp token.

  • Finally, the client application receives the timestamp token and record it within the code signature or the document.

Time Stamp workflow example

Whenever the resulted timestamped file or data is opened, the client application will use the TSA's public key to validate that the timestamp is from a trusted TSA while recalculating the hash of original data. Likewise, the new hash is also compared to the unique hash, and if any difference is seen since the timestamp was applied, the hash check will not pass and will display a warning that data is altered and therefore, cannot be trusted.

Conclusion

Because timestamping is optional, it may seem like an unnecessary step. But, it's one of the essential processes that must not be skipped by any programmer during their software development process.


Opinions expressed by DZone contributors are their own.

Partner Resources

×

Comments
Oops! Something Went Wrong

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends:

Likes
There are no likes...yet! 👀
Be the first to like this post!
It looks like you're not logged in.
Sign in to see who liked this post!