#rfc-8785 #canonicalization #aad #aead #jcs

app canaad-cli

CLI tool for AAD canonicalization per RFC 8785

4 releases (2 breaking)

0.3.1 Feb 20, 2026
0.3.0 Feb 19, 2026
0.2.0 Feb 7, 2026
0.1.0 Jan 28, 2026

#1072 in Cryptography

MIT/Apache

12KB
165 lines

canaad-cli

Canonicalize, validate, and hash AAD JSON from the command line.

cargo install canaad-cli

canonicalize

canaad canonicalize '{"v":1,"tenant":"org_abc","resource":"db","purpose":"encrypt"}'
echo '...' | canaad canonicalize
canaad canonicalize -f input.json
canaad canonicalize '...' -o hex
canaad canonicalize '...' -o base64
canaad canonicalize '...' -o raw
canaad canonicalize '...' --to-file output.bin

validate

canaad validate '{"v":1,"tenant":"org_abc","resource":"db","purpose":"encrypt"}'
canaad validate -f input.json
canaad validate '...' --quiet  # exit code only

hash

SHA-256 of the canonical form:

canaad hash '{"v":1,"tenant":"org_abc","resource":"db","purpose":"encrypt"}'
canaad hash '...' -o base64

exit codes

Code Meaning
0 Success
1 Validation error
2 I/O error

license

MIT OR Apache-2.0

Dependencies

~2.4–4MB
~75K SLoC