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

FreeBSD Manual Pages

  
 
  

home | help
UNBER(1)		       ASN.1 BER Decoder		      UNBER(1)

NAME
       unber - ASN.1 BER Decoder

SYNOPSIS
       unber [-1] [-iindent] [-m] [-p] [-sskip]	[-thex-string] [-] [infile...]

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

       (The DER	and CER	formats	are subsets of	the  BER  and  are  also  sup-
       ported.)

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.  De-
	      fault is 4 spaces.

       -m     Generate	shorter	output while still preserving BER encoding in-
	      formation.

       -p     Do not attempt pretty-printing of	known  ASN.1  types  (BOOLEAN,
	      INTEGER,	OBJECT	IDENTIFIER, etc). By default, some ASN.1 types
	      are converted into the text representation. This option  is  re-
	      quired for enber(1).

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

       -t hex-string
	      Interpret	the hex-string as a  sequence  of  hexadecimal	values
	      representing  the	 start	of  BER	 TLV encoding. Print the human
	      readable explanation.

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="tl_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.

       tl_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  "Indefi-
	      nite".

       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 -p	 command  line
	      option.

       Sample 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 ... | unber -

       Decode  the  binary  stream and encode it back into an identical	stream
       (see enber(1)):

	   cat ... | 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	termi-
       nating </I> XML tag to disappear.  Thus,	invalid	BER  framing  directly
       causes invalid 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						      UNBER(1)

NAME | SYNOPSIS | DESCRIPTION | OPTIONS | XML FORMAT | EXAMPLES | FOOTNOTES | SEE ALSO | AUTHORS

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

home | help