· ActaSeal · Last reviewed:

How to verify a pack offline in 2 minutes

You have been handed an evidence packet, a .zip. You do not have to take the sender's word that it is intact.

What you need

Python 3 and the cryptography package. Nothing else, and no network once those are installed.

Steps

pip install actaseal-verify          # or: pip install cryptography, and download verify.py
python -m verify your-packet.zip

A packet that passes ends with VERIFIED and exits 0. One that fails names the check that failed and exits 1. Exit 2 means the cryptography package is missing, and nothing is passed in that case.

Read the key line

Unless you give it the operator's published key, the verifier checks the signature against the key the packet itself declares, and says so. A packet re-signed from start to finish with a different key would pass that check. Compare the key it prints with the one the operator has published, or pass it with --receipt-public-key.

Try it first

The sample pack has a clean packet and one with a single byte changed. The second one fails.

What it does not do

It checks the hash chain, the signature and the documents in the packet. It does not decide again whether the action should have been allowed. See what ActaSeal is not.

All notes · actaseal.com