Skip site navigation (1)Skip section navigation (2)

  
 
  

home | help
unber(1)			 Version 0.9.28 			unber(1)

NAME
     unber -- the ASN.1 BER Decoder

SYNOPSIS
     unber  [-1]  [-iindent]  [-m] [-p] [-sskip] [-thex-string] [-] [input-file-
     names...]

DESCRIPTION
     unber presents the internal structure of BER-encoded files as a human read-
     able text.  A single dash denotes the standard input.

     (The DER and CER formats are subsets of the BER and are also supported.)

OPTIONS
     -1     Do not attempt to read the next BER structure after the  first  one.
	    This may be useful if the input contains garbage past the single BER
	    sequence.	By  default,  unber  continues decoding until the end of
	    file (input stream).

     -i indent
	    Use the specified number of spaces for output indentation.	 Default
	    is 4 spaces.

     -m     Generate shorter output while still preserving BER encoding informa-
	    tion.

     -p     Do	not attempt to pretty-print known ASN.1 types (BOOLEAN, INTEGER,
	    OBJECT IDENTIFIER, etc).  By default, some ASN.1 types are converted
	    into the text representation.

	    This option is required if the unber(1) output is used as  an  input
	    to enber(1).

     -s skip
	    Ignore  the  first skip bytes in the input stream; useful for strip-
	    ping off lower level protocol framing data.

     -t hex-string
	    Interpret the hex-string as a sequence of hexadecimal values  repre-
	    senting the start of BER TLV encoding.  Print the human readable ex-
	    planation.

XML FORMAT
     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:

     tform  Encoding form the value is in: primitive ("P") or constructed  ("C")
	    or constructed with indefinite length ("I")

     off    Offset of the encoded element in the unber input stream.

     tag    The tag class and value in human readable form.

     t_len  The length of the TL (BER Tag and Length) encoding.

     v_len  The length of the value (V, encoded by the L), may be "Indefinite".

     type   Likely name of the underlying ASN.1 type (for UNIVERSAL tags).

     [F]    Indicates  that  the  value  was reformatted (pretty-printed).  This
	    will never appear in the output produced using the -p  command  line
	    option.

   Example XML output:
     <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">

EXAMPLES
     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

FOOTNOTES
     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  in-
     valid XML output.

     The enber(1) utility understands such XML correctly.

SEE ALSO
     enber(1), asn1c(1).

AUTHORS
     Lev Walkin <vlm@lionet.info>.

ASN.1 BER Decoder		   2016-01-23				unber(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=unber&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help