ZEDsignFile signing & verification
No profile loaded

Verify a file

Drop a ZAP package, or a file and its signature (.p7s) together. Nothing is uploaded; all checks run in your browser.

Drop a .zap.html, a file + its signature, or a file + its receipt, or click to choose
Paste a PEM signature instead

Sign files

No signing identity loaded.

or open a saved profile.
Drop files to sign, or click to choose

Each file becomes one .zap.html (send it with SquirrelDrop). Packages over 250 MB fall back to a .p7s.

How others can verify without this page

The .p7s (also inside every ZAP) is a standard detached CMS/PKCS#7 signature:

openssl cms -verify -binary -inform DER -in FILE.p7s -content FILE -CAfile root.pem -purpose any -out /dev/null

The timestamp is a standard RFC 3161 token stored as an unsigned attribute; openssl cms ignores it, so that command checks the certificate against today's date.

Signing identities

Your certificate + private key. Kept in memory only; saved (encrypted) only if you save a profile.

Add certificate & key
Drop a .p12/.pfx, or a PEM key + certificate
Request a new certificate (CSR)

Creates a key in this browser and a request you copy to your CA. The key stays here until you install the signed certificate. Save a profile to keep it.

Pending certificate requests

Copy the request to your CA, then paste the signed certificate back here.

Trusted roots

Signatures are trusted only when they chain to one of these.

Built in

Added by you

Add root or intermediate certificates
Drop .crt .cer .der .pem .p7b

Self-signed certificates become trusted roots. Others are stored as intermediates and only help build chains.

Intermediate certificates

Help connect signers to a root. Not trusted on their own.