BetaPublic Mood is in beta. Get free beta access
publicmood

Register

Sectigo timestamps

Sectigo is one of the two independent timestamp services that timestamp every Public Mood analysis we deliver. This page explains what Sectigo stamps for us and how you can check a Sectigo receipt yourself.

Who Sectigo is

Sectigo Limited is a company that issues digital certificates. It runs a public timestamp server that supports the open RFC 3161 standard, and its published timestamping policy says the service may be used for public timestamping. We use this public service just as anyone else can; Sectigo does not review, approve or endorse our analyses.

What Sectigo stamps for us

At delivery we make a fingerprint list (manifest.sha256) with the digital fingerprints (SHA-256) of three files: the PDF, the data file and a locked copy of the report page. Sectigo receives only the fingerprint of that list. It never receives the files, their content, the topic of the analysis or who ordered it, and a fingerprint reveals nothing about the content of a file.

Why two independent services?

Every analysis is timestamped by two independent timestamp services, normally DigiCert and Sectigo. They are separate companies with separate certificates. If one of the receipts can no longer be checked one day, the other still can, and neither we nor any single service can quietly change an analysis or backdate a new version without it showing. If a reserve service is ever used instead, the register shows the service that was actually used for that analysis.

What the receipt contains

The Sectigo receipt (manifest.sectigo.tsr) is a small signed file. In plain words, it contains:

  • the fingerprint of our fingerprint list,
  • the time Sectigo stamped it,
  • Sectigo's digital signature over both,
  • Sectigo's certificate, which says who signed it.

If a single character in the fingerprint list changes, the receipt no longer matches.

How long the certificates are valid

The certificate details will be shown here once the first receipt has been issued. Every receipt keeps the certificate it was signed with, and each register entry shows the stamped time, so you can still check a receipt after a certificate has expired (see step 4).

How to check a Sectigo receipt

You need OpenSSL and the files from the analysis's entry in the register: the fingerprint list (manifest.sha256), the Sectigo receipt (manifest.sectigo.tsr) and the Sectigo certificate chain (sectigo-chain.pem).

1. Check the files against the fingerprint list. Put the files you want to check next to manifest.sha256 and run sha256sum -c manifest.sha256 (macOS: shasum -a 256 -c manifest.sha256). See How to check an analysis for Windows.

2. Check the receipt with the chain from the register.

openssl ts -verify -data manifest.sha256 -in manifest.sectigo.tsr -CAfile sectigo-chain.pem

"Verification: OK" means Sectigo confirms the fingerprint list existed at the stamped time. To see that time, run openssl ts -reply -in manifest.sectigo.tsr -text.

3. Check it against Sectigo's own root certificate (optional). If you would rather not rely on the chain file from us, download USERTrust RSA Certification Authority from Sectigo's list of root certificates (save it as USERTrustRSACertificationAuthority.crt), then run:

openssl x509 -inform der -in USERTrustRSACertificationAuthority.crt -out sectigo-root.pem
openssl x509 -in sectigo-root.pem -noout -fingerprint -sha256
openssl ts -verify -data manifest.sha256 -in manifest.sectigo.tsr -CAfile sectigo-root.pem -untrusted sectigo-chain.pem

The fingerprint should be E7:93:C9:B0:2F:D8:AA:13:E2:1C:31:22:8A:CC:B0:81:19:64:3B:74:9C:89:89:64:B1:74:6D:46:C3:D4:CB:D2. "Verification: OK" then means the receipt leads back to Sectigo's own root.

4. Years from now. After the certificates have expired, check at the stamped time:

T=$(date -ud "$(openssl ts -reply -in manifest.sectigo.tsr -text | sed -n 's/^Time stamp: //p')" +%s)
openssl ts -verify -data manifest.sha256 -in manifest.sectigo.tsr -CAfile sectigo-chain.pem -attime "$T"

What the timestamp proves

The timestamp proves one thing: that the files are unchanged since delivery. It does not prove that the analysis is right. For that, read the method section in each analysis and our method page. Every analysis has sources of error, and we always do our best to state them.

More