CodeSign Secure Documentation
  • Overview
    • About CodeSign Secure
    • Getting Started
    • Documentation Guide
    • Portal Overview
    • Troubleshooting
      • FAQ
    • Glossary
  • Reference Guide
    • Header Bar
      • CodeSign Secure Documentation
      • Swagger API
      • Profile Section
    • Dashboard
      • Key Performance Indicators
      • Issued Certificates
      • Signatures Generated
      • HSM Health Check
    • Keys and Certificates
      • Key and Certificate Lifecycle
    • App Management
    • Signing Requests
      • Approval Workflows
    • Signing Tools
    • Reports
      • Signing Request Report
      • Audit Trail
      • Certificate Report
      • Client Report
    • Logs
    • System Setup
      • Identity Store
      • Backup
      • User
      • Roles and Permissions
      • Email
      • Signing Projects
      • SSL/TLS Management
      • Environment
      • Plugins
  • Setup & Architecture
    • Identity and Access Control
    • Architecture and Concepts
    • Installation
      • Windows
        • Installing the Server
        • Ports and Protocols
        • High Availability and Backup
        • Upgrades and Compatibility
    • Security
      • Security Hardening Checklist
      • Client Authentication
      • Designing Signing Policies
  • Release Notes
    • Releases for 2026
      • v3.2.1
    • Releases for 2025
      • v3.2.0
    • Releases for 2024
      • v3.1.0
  • API Reference
    • Getting Started
    • Authorizing Requests
    • Securing API Access
    • Request and Response Conventions
    • Endpoint Reference
      • Signing
      • Signing Requests
      • Certificates
      • Applications and Environments
      • User Management
      • Permissions
      • Email
      • System Setup
      • Reports
      • Dashboard
      • License
  • Integration Guides
    • Signing Capabilities
      • Supported Formats and Platforms
      • Timestamping
      • Windows Signing - SignTool
        • Signing
        • Macro Signing
      • Apple Signing
      • AppX & MSIX Signing
      • Visual Studio ClickOnce
      • Jar Signing
      • Sign HLK/HCK using CodeSign Secure
      • NuGet Signing
      • Mage Signing
      • Sign OVA/OVF using Encryption Consulting’s Utility Tool
      • Utility Tool for code signing
      • Container Signing
      • PKCS11 Wrapper
        • APK Signing
        • OpenSSL Signing
        • XML Signing
        • JSign Tool Signing
        • Jarsigner Signing
        • GPG2, Debian & RPM Signing
      • Reproducible Build
        • Automated Hash Validation
        • Reproducible Build Process Flow
        • Pipeline Script Components
        • Hash Validation
    • CI/CD Integration
      • GitHub Actions
      • Jenkins
      • GitLab
      • Azure DevOps
      • TeamCity
      • Bamboo
      • Securing CI/CD Credentials

Timestamping

Add a trusted timestamp to your signatures so they stay valid after the signing certificate expires.

Why timestamp

A signature without a timestamp is trusted only while the signing certificate is valid. A timestamp from a Time Stamping Authority (TSA) proves the file was signed while the certificate was valid, so operating systems and tools keep trusting the signature after the certificate expires. Always timestamp release builds.

Which timestamp server to use

Signing tools on the build machine contact a public RFC 3161 TSA directly. Use the TSA of the CA that issued your certificate where possible. Well-known public TSAs include:

ProviderURL
DigiCerthttp://timestamp.digicert.com
Sectigohttp://timestamp.sectigo.com
Timestamp options by tool
ToolOptionNotes
SignTool/tr <URL> /td SHA256RFC 3161. Avoid the legacy /t option.
jarsigner-tsa <URL>
JSign--tsaurl <URL> --tsmode RFC3161
NuGet-Timestamper <URL>
Mage-TimeStampUri <URL>
codesign (macOS)--timestampUses Apple’s timestamp service
apksignerNot availableAPK signatures don’t include timestamps
GnuPGNot availableThe signature records its creation time but has no TSA timestamp
signtool sign /csp "Encryption Consulting Key Storage Provider" /kc <key name> /fd SHA256 /f <certificate file> /tr http://timestamp.digicert.com /td SHA256 setup.exe
Network requirements
  • Build machines need outbound access to the TSA URL, usually HTTP on TCP 80.

  • SignTool uses the Windows proxy settings. You can set a machine-wide proxy with netsh winhttp set proxy <proxy:port>.

  • For Java tools, pass the proxy to the JVM, for example jarsigner -J-Dhttp.proxyHost=proxy.example.com -J-Dhttp.proxyPort=8080 ....

Check that a file is timestamped
ToolCommandLook for
SignToolsigntool verify /pa /v <file>“The signature is timestamped:” followed by the date
jarsignerjarsigner -verify -verbose <file.jar>“Timestamped by”
PowerShellGet-AuthenticodeSignature <file> | Format-ListA TimeStamperCertificate value

These are a few examples of verification commands for some tools. You can also use other tools to verify a signature of a file.

Troubleshooting
SymptomCauseFix
SignTool: “The specified timestamp server either could not be reached or returned an invalid response.”The build machine can’t reach the TSA, or the TSA is busyCheck the URL, proxy, and firewall. Retry, or use another TSA.
jarsigner: connection or timeout errors when using -tsaNo outbound access or proxy not configured for JavaPass the proxy settings to the JVM as shown above.
The file is signed but not timestampedThe timestamp option was left outSign again with the timestamp option.
On this Page:
Support Privacy Policy Terms of Service

Copyright Encryption Consulting LLC. All rights reserved.