99tools

PDF Signature Checker

runs in your browser

Check the digital signatures in a PDF: is the signed document unchanged, was anything added after, and whose certificate signed it. Nothing is uploaded.

The PDF is read in your browser and never uploaded.

Drop a file here, or .

A PDF with one or more digital signatures.

about this tool

What a PDF signature is

A digital signature in a PDF is a block of cryptographic data stored in the file. It names the parts of the file it covers, its byte range, which is the whole file as it was when signed, except the space the signature itself sits in. Over those bytes it holds a digest signed with the signer's private key, together with the signer's certificate.

Checking it means four things, and this tool does all four in the page:

  • The byte range is honest. The part left out must be the signature value and nothing else, from the start of the file to the end of what was signed. A range that skipped anything more would let that part change unnoticed.
  • The signed bytes are unchanged. Their digest is worked out afresh and compared with the one in the signature. One byte different and they no longer match.
  • The signature is the certificate's. The signature over the digest is checked with the public key in the signer's certificate, RSA, RSA-PSS or ECDSA.
  • The certificate is the one the signer signed. The certificate travels in the part of the file the signature leaves out. A PAdES signature, and many others, signs a hash of it too, so it cannot be swapped; the tool checks that hash, and a swapped certificate fails. When there is no such hash, the certificate could be replaced by another with the same key and different names, so the names are marked not confirmed.

Changes after signing

A PDF can be added to after it is signed, by appending to the end of the file: a second signature, a form filled in, a comment. Each signature still covers the version it signed, and the tool says how many bytes came after it and which later signature, if any, signs them. When no valid signature reaches the end of the file, what the document shows now may include changes no one signed, and the tool says so. The reason, name and field shown for each signature are read from the version it signed, so words added later cannot pass as signed.

Timestamps

A signing time written by the signer's own computer can say anything. A timestamp from a timestamping authority is a second signature with the authority's time in it, either over a signature or, as a document timestamp, over the whole file. The tool checks the authority's signature, that its certificate is one for timestamping, that it stamps exactly those bytes and that its time falls within its certificate's dates, and shows its time. One that does not check out is shown as such.

A timestamp records that bytes existed by a time; it does not sign or approve them, and anyone can get one over any bytes they like. So when only a document timestamp covers what was added after a signature, the tool says the additions are timestamped but not signed. Long-term validation data is added to a signed PDF this way, but so are edits.

What it does not check

Whether the signer, or the timestamp authority, is who the certificate names. Anyone can make a certificate, or a whole chain of them, in any name; only a trust list of real certificate authorities, the kind a PDF reader keeps, can tell, along with whether the certificate was revoked, which needs the authority's servers. This page holds no trust list and contacts no one. It does point out a self-signed certificate, names not bound to the signature, a certificate that was expired or not yet valid at a time given for signing, a SHA-1 signature, two different certificates in the same name in one file, and a signing time that comes only from the signer's own computer.

The rare adbe.pkcs7.sha1 and adbe.x509.rsa_sha1 formats are listed but not checked, and a signature that uses an algorithm the browser cannot check is marked not checked rather than not valid. Files up to 200 MB. Nothing is uploaded.

To sign a PDF yourself, use sign PDF; to read the certificate in full, paste it into the certificate decoder.

questions

What does a valid signature mean here?
That the part of the PDF the signature covers has not changed by a single byte since it was signed, and that it was signed with the private key belonging to the certificate inside the signature. When the signature also signs a hash of that certificate, as PAdES signatures do, the certificate cannot have been swapped; otherwise its names are marked not confirmed. Either way it does not mean the signer is who the certificate names: anyone can make a certificate in any name, and only the trust list a PDF reader keeps can tell.
Why does it say the document was changed after signing?
A PDF can be added to after it is signed without disturbing the signature: a second signature, a form filled in, a comment. The first signature still covers the version it signed, and the tool says how many bytes came after and which later signature covers them. If no later valid signature does, what the document shows now may include changes no one signed.
Is a signature I can see on the page a digital signature?
Not necessarily. A drawn or typed signature, or a picture of one, is part of the page and proves nothing. A digital signature is cryptographic data stored in the file, usually shown in a PDF reader’s signature panel; this tool reads those.
Which signatures can it check?
The common kinds: PKCS #7 (adbe.pkcs7.detached), PAdES (ETSI.CAdES.detached) and document timestamps (ETSI.RFC3161), with RSA, RSA-PSS or ECDSA (P-256, P-384, P-521) keys and SHA-256, SHA-384, SHA-512 or SHA-1 hashes, and the timestamps attached to them. Two rare older formats, and algorithms the browser cannot check, are marked not checked.
Is my PDF uploaded?
No. The file is read and every signature checked in your browser, with the browser’s built-in cryptography. Nothing is sent anywhere, which matters for contracts and other private documents.