unber(1) | Version 0.9.28 | unber(1) |
unber -- the ASN.1 BER Decoder
unber [-1] [-iindent] [-m] [-p] [-sskip] [-thex-string] [-] [input-filenames...]
unber presents the internal structure of BER-encoded files as a human readable text. A single dash denotes the standard input.
(The DER and CER formats are subsets of the BER and are also supported.)
This option is required if the unber(1) output is used as an input to enber(1).
unber dumps the output in the regular XML format which preserves most of the information from the underlying binary encoding.
The XML opening tag format is as follows:
<tform O="off" T="tag" TL="t_len" V="{Indefinite|v_len}" [A="type"] [F]>
Where:
<I O="0" T="[UNIVERSAL 16]" TL="2" V="Indefinite" A="SEQUENCE">
<P O="2" T="[UNIVERSAL 19]" TL="2" V="2" A="PrintableString">US</P>
<C O="6" T="[UNIVERSAL 16]" TL="2" V="6" A="SEQUENCE">
<P O="8" T="[UNIVERSAL 2]" TL="2" V="4" A="INTEGER" F>832970823</P>
</C O="14" T="[UNIVERSAL 16]" A="SEQUENCE" L="8">
</I O="14" T="[UNIVERSAL 0]" TL="2" L="16">
Decode the given Tag/Length sequence specified in hexadecimal form:
unber -t "bf 20"
Decode the DER file using two-spaces indentation:
unber -i 2 filename.der
Decode the binary stream taken from the standard input:
cat filename.der | unber -
Decode the binary stream and encode it back into an identical stream (see enber(1)):
cat filename.der | unber -p - | enber - > filename.ber
The constructed XML output is not necessarily well-formed.
When indefinite length encoding is being used, the BER sequence which is not terminated with the end-of-content octets will cause the terminating </I> XML tag to disappear. Thus, invalid BER framing directly causes invalid XML output.
The enber(1) utility understands such XML correctly.
enber(1), asn1c(1).
Lev Walkin <vlm@lionet.info>.
2016-01-23 | ASN.1 BER Decoder |