SignTool Error: The Specified Timestamp Server Either Could Not Be Reached or Returned an Invalid Response
This error places the failure at the timestamp-request stage: SignTool did not obtain a response it could accept as the requested timestamp. Keep the already-selected signing identity unchanged first. Identify whether the command uses legacy Authenticode /t or RFC 3161 /tr, then trace the same execution context through DNS/TCP → proxy/TLS → protocol-compatible timestamp request → final signature/timestamp verification. Basic reachability alone does not prove a timestamp service is healthy or compatible.
/t or /tr is used.The same signing command may work on one machine but fail behind a proxy, firewall, service account, or CI runner.Inspect the failing command. Microsoft documents /t URL as the legacy Authenticode timestamp option and /tr URL as the RFC 3161 option. They cannot be used together.
signtool sign /v /fd SHA256 /tr "https://YOUR-RFC3161-ENDPOINT" /td SHA256 <your existing certificate options> "app.exe"Do not paste a random public timestamp URL. Confirm the endpoint and protocol from your certificate/signing provider or platform documentation. If certificate selection fails before timestamping, use the certificate-selection guide instead.
Diagnostic flow — isolate endpoint, protocol, then environment
Record whether the command uses /t or /tr and whether that provider endpoint supports that protocol.
Do not infer CI connectivity from your desktop browser.
For RFC 3161 /tr, check /td and use SHA256 unless your provider requires something else.
A successful command is not the final check; inspect the signed file.
Fix #1 — verify the endpoint and timestamp protocol
/t = legacy Authenticode timestamping; /tr = RFC 3161 timestamping. With /tr, pair it with /td SHA256 unless your provider explicitly documents another supported digest.Do not convert /t to /tr merely because one looks newer. The endpoint must support the matching protocol. Microsoft distinguishes legacy Authenticode timestamping (/t) from RFC 3161 timestamping (/tr).
/tr and /td SHA256. Still use the endpoint documented by your signing provider.Verify: rerun with the provider-confirmed endpoint and matching switch. If the same server error remains, continue to network-path diagnosis rather than changing the certificate.
Fix #2 — test DNS and the correct port from the failing environment
Extract the hostname and scheme from the timestamp URL, then test from the same workstation, service-account host, or CI runner that fails. A browser test on another machine does not prove the build agent can reach it.
http:// timestamp URL.Resolve-DnsName YOUR_TIMESTAMP_HOST
Test-NetConnection YOUR_TIMESTAMP_HOST -Port YOUR_ENDPOINT_PORTImportant: DNS resolution and a successful TCP test prove only lower-layer reachability. Likewise, loading a URL in a browser is not a protocol-valid timestamp test: Authenticode/RFC 3161 timestamp services expect specific requests and responses. Use the original SignTool operation (or the provider's documented diagnostic method) as the application-layer test.
Verify: DNS should resolve and the documented endpoint port should be reachable from the failing environment. Then rerun the same protocol-compatible SignTool timestamp request. If transport works but SignTool still reports an invalid response, the diagnosis moves upward to proxy/TLS behavior, endpoint protocol compatibility, digest options or provider response—not back to DNS.
Fix #3 — check proxy, firewall, TLS inspection, and egress policy
Enterprise signing often runs under a different network context than an interactive user. Check whether the build process must use a proxy, whether outbound traffic to the timestamp authority is allowed, and whether TLS inspection changes or blocks the connection. Do not disable certificate validation or the corporate security stack as a shortcut.
netsh winhttp show proxyVerify: rerun the timestamp operation from the same execution context after the approved proxy/firewall route is corrected. If local signing works but the runner still fails, keep diagnosis inside the runner.
Fix #4 — with /tr, specify the timestamp digest correctly
Microsoft documents /td for RFC 3161 timestamping and recommends SHA256. Keep file digest and timestamp digest conceptually separate: /fd controls the file-signature digest, while /td controls the RFC 3161 timestamp digest. Specify the intended digest explicitly, but do not cycle algorithms merely to make an endpoint respond; confirm what the provider supports.
signtool timestamp /tr "https://YOUR-RFC3161-ENDPOINT" /td SHA256 "app.exe"Verify: the timestamp operation should complete without the server-response error using the provider-supported protocol/digest. Then verify the artifact itself; transport success or a different HTTP/TLS result is not final success.
Fix #5 — works locally but fails in CI, Jenkins, or a service?
Treat the runner as a separate network identity. Current Microsoft Q&A includes a 2026 case where a SignTool + Artifact Signing command worked in PowerShell but hung in Jenkins. Check the runner’s identity, proxy, DNS, outbound policy, and endpoint access inside the job itself.
whoami
netsh winhttp show proxy
Resolve-DnsName YOUR_TIMESTAMP_HOSTVerify: make the pipeline perform a non-secret connectivity check before signing, then run SignTool. Do not expose PFX passwords, private keys, access tokens, or signing-service credentials in logs.
Fix #6 — distinguish a provider outage from a permanent configuration fix
If a known-good command suddenly fails across multiple environments while DNS/network policy is unchanged, check the timestamp provider’s status or support channel. A bounded retry can be reasonable for a transient service failure, but repeated retries should not hide a wrong URL, protocol mismatch, or blocked egress.
Verify: after service recovery, sign a fresh test artifact and verify that the timestamp is present before restoring the normal release pipeline.
Final verification — confirm both signature and timestamp
Use SignTool verification after the signing/timestamp step and inspect the resulting signature/timestamp details. Do not infer timestamp success solely from SignTool no longer printing the original server error. For files that may be catalog-signed, choose verification options appropriate to the artifact/signing model rather than treating one verification switch as universal.
signtool verify /pa /v "app.exe"Verify: inspect the verbose output and file signature details for a valid signature and timestamp. If timestamping succeeds but verification now fails on certificate trust, that is a different stage and should be diagnosed separately.
What not to do
/fd with RFC 3161 /td.Do not treat a successful local test as proof that a CI runner has the same network path.Do not treat DNS, TCP connectivity, HTTP status, or a browser-loaded timestamp URL as proof that the endpoint returned a valid Authenticode/RFC 3161 timestamp response.Do not switch between /t and /tr without confirming that the endpoint supports the matching timestamp protocol.Do not cycle /td algorithms merely to get a response; use a provider-supported digest and keep /fd vs /td semantics separate.Do not keep diagnosing timestamp reachability once a timestamp is issued and verification fails at a different trust/signature stage.Still seeing the error?
If the next error says no certificate meets the criteria, return to No Certificates Were Found That Met All the Given Criteria. If signtool itself is unresolved, use ‘signtool’ Is Not Recognized. A trust-chain failure after successful timestamping is a separate next-stage problem.
Official references
Still stuck? Ask the community
Share the redacted command, /t or /tr mode, timestamp provider hostname, reachability result, and whether the failure is local or CI-only.
Loading community discussion…
Comments could not load here. Open ErrorHarbor Discussions on GitHub →