|
| 1 | +.\" generated with Ronn-NG/v0.9.1 |
| 2 | +.\" http://github.com/apjanke/ronn-ng/tree/0.9.1 |
| 3 | +.TH "AGE\-INSPECT" "1" "December 2025" "" |
| 4 | +.SH "NAME" |
| 5 | +\fBage\-inspect\fR \- inspect age(1) encrypted files |
| 6 | +.SH "SYNOPSIS" |
| 7 | +\fBage\-inspect\fR [\fB\-\-json\fR] [\fIINPUT\fR] |
| 8 | +.SH "DESCRIPTION" |
| 9 | +\fBage\-inspect\fR reads an age(1) encrypted file from \fIINPUT\fR (or standard input) and displays metadata about it without decrypting\. |
| 10 | +.P |
| 11 | +This includes the recipient types, whether it uses post\-quantum encryption, and a size breakdown of the file components\. |
| 12 | +.SH "OPTIONS" |
| 13 | +.TP |
| 14 | +\fB\-\-json\fR |
| 15 | +Output machine\-readable JSON instead of human\-readable text\. |
| 16 | +.TP |
| 17 | +\fB\-\-version\fR |
| 18 | +Print the version and exit\. |
| 19 | +.SH "JSON FORMAT" |
| 20 | +When \fB\-\-json\fR is specified, the output is a JSON object with these fields: |
| 21 | +.IP "\[ci]" 4 |
| 22 | +\fBversion\fR: The age format version (e\.g\., \fB"age\-encryption\.org/v1"\fR)\. |
| 23 | +.IP "\[ci]" 4 |
| 24 | +\fBpostquantum\fR: Whether the file uses post\-quantum encryption: \fB"yes"\fR, \fB"no"\fR, or \fB"unknown"\fR\. |
| 25 | +.IP "\[ci]" 4 |
| 26 | +\fBarmor\fR: Boolean indicating whether the file is ASCII\-armored\. |
| 27 | +.IP "\[ci]" 4 |
| 28 | +\fBstanza_types\fR: Array of recipient stanza type strings (e\.g\., \fB["X25519"]\fR or \fB["mlkem768x25519"]\fR)\. |
| 29 | +.IP "\[ci]" 4 |
| 30 | +\fBsizes\fR: Object containing size information in bytes: |
| 31 | +.IP "\[ci]" 4 |
| 32 | +\fBheader\fR: Size of the age header\. |
| 33 | +.IP "\[ci]" 4 |
| 34 | +\fBarmor\fR: Armor encoding overhead (0 if not armored)\. |
| 35 | +.IP "\[ci]" 4 |
| 36 | +\fBoverhead\fR: Stream encryption overhead\. |
| 37 | +.IP "\[ci]" 4 |
| 38 | +\fBmin_payload\fR, \fBmax_payload\fR: Payload size bounds (currently always matching)\. |
| 39 | +.IP "\[ci]" 4 |
| 40 | +\fBmin_padding\fR, \fBmax_padding\fR: Padding size bounds (currently always 0)\. |
| 41 | +.IP "" 0 |
| 42 | +.IP |
| 43 | +The fields add up to the total size of the file\. |
| 44 | +.IP "" 0 |
| 45 | +.SH "EXAMPLES" |
| 46 | +Inspect an encrypted file: |
| 47 | +.IP "" 4 |
| 48 | +.nf |
| 49 | +$ age\-inspect secrets\.age |
| 50 | +secrets\.age is an age file, version "age\-encryption\.org/v1"\. |
| 51 | + |
| 52 | +This file is encrypted to the following recipient types: |
| 53 | +\- "mlkem768x25519" |
| 54 | + |
| 55 | +This file uses post\-quantum encryption\. |
| 56 | + |
| 57 | +Size breakdown (assuming it decrypts successfully): |
| 58 | + |
| 59 | + Header 1627 bytes |
| 60 | + Encryption overhead 32 bytes |
| 61 | + Payload 42 bytes |
| 62 | + \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\- |
| 63 | + Total 1701 bytes |
| 64 | + |
| 65 | +Tip: for machine\-readable output, use \-\-json\. |
| 66 | +.fi |
| 67 | +.IP "" 0 |
| 68 | +.P |
| 69 | +Get JSON output for scripting: |
| 70 | +.IP "" 4 |
| 71 | +.nf |
| 72 | +$ age\-inspect \-\-json secrets\.age |
| 73 | +{ |
| 74 | + "version": "age\-encryption\.org/v1", |
| 75 | + "postquantum": "yes", |
| 76 | + "armor": false, |
| 77 | + "stanza_types": [ |
| 78 | + "mlkem768x25519" |
| 79 | + ], |
| 80 | + "sizes": { |
| 81 | + "header": 1627, |
| 82 | + "armor": 0, |
| 83 | + "overhead": 32, |
| 84 | + "min_payload": 42, |
| 85 | + "max_payload": 42, |
| 86 | + "min_padding": 0, |
| 87 | + "max_padding": 0 |
| 88 | + } |
| 89 | +} |
| 90 | +.fi |
| 91 | +.IP "" 0 |
| 92 | +.SH "SEE ALSO" |
| 93 | +age(1), age\-keygen(1) |
| 94 | +.SH "AUTHORS" |
| 95 | +Filippo Valsorda \fIage@filippo\.io\fR |
0 commit comments