Request and token format

Requests and responses follow RFC 3161 (Time-Stamp Protocol) directly — no CNX-specific extensions.

Request

A timestamp request carries a hash of the data being stamped, not the data itself:

openssl ts -query -sha256 -data report.pdf -no_nonce -out report.tsq

Accepted message-digest algorithms: SHA-256 (required), SHA-384, SHA-512.

Token contents

A successful response is a signed token containing:

FieldMeaning
messageImprintThe hash algorithm and digest from the request
genTimeThe time the token was generated
serialNumberUnique serial for this token
Policy OID1.3.6.1.4.1.66148.1.2.1 — identifies the Timestamp Policy version this token was issued under
SignatureOver the above fields, by the signing certificate described below

The Policy OID identifies the policy version in effect at issuance, not the current one — the Timestamp Policy is versioned, and an older token stays governed by the policy version it names even after the policy is amended. Check the archived versions listed at tsa.cnx.net.kh/policy.html if the OID in a token doesn't match the current one.

Signing certificate

  • Algorithm: ECDSA P-256 with SHA-256, per NIST FIPS 186-4.
  • Extended Key Usage: id-kp-timeStamping (OID 1.3.6.1.5.5.7.3.8), marked critical and exclusive — the certificate is valid for timestamping only.

The full chain (signer → TSA intermediate → root CA) travels inside every token; see The trust anchor for how to verify it without trusting the chain as delivered.