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

FreeBSD Manual Pages

  
 
  

home | help
scan_asn1derlength(3)	   Library Functions Manual	 scan_asn1derlength(3)

NAME
       scan_asn1derlength  -  decode an	unsigned integer from ASN.1 DER	length
       encoding

SYNTAX
       #include	<scan.h>

       size_t scan_asn1derlength(const char *src,size_t	len,unsigned long long
       *dest);

DESCRIPTION
       scan_asn1derlength  decodes an unsigned integer in ASN.1	DER length en-
       coding from a memory area holding binary	data.  It  writes  the	decode
       value in	dest and returns the number of bytes it	read from src.

       scan_asn1derlength  never  reads	 more than len bytes from src.	If the
       sequence	is longer than that, or	the memory area	 contains  an  invalid
       sequence, scan_asn1derlength returns 0 and does not touch dest.

       The length of the longest spec-compliant	ASN.1 DER length is 128	bytes,
       but this	implementation will return an error if the value does not  fit
       into  the  target  integer  type.   In practice the largest sequence is
       sizeof(*dest)+1.

       This implementation will	reject values that are not encoded in the min-
       imum amount of bytes.

       In  addition to reading the length value, this implementation will also
       validate	the length value. If the length	value is  so  large  that  the
       data  would not fit in the source buffer, it will return	a failure.  If
       you only	want to	 parse	the  length  value  without  this  check,  use
       scan_asn1derlengthvalue() instead.

SEE ALSO
       fmt_asn1derlength(3), scan_asn1derlengthvalue(3)

							 scan_asn1derlength(3)

NAME | SYNTAX | DESCRIPTION | SEE ALSO

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

home | help