Plasma GitLab Archive
Projects Blog Knowledge

Module Netasn1.Value

module Value: sig .. end

type pc = 
| Primitive
| Constructed
type value = 
| Bool of bool
| Integer of int_value
| Enum of int_value
| Real of real_value
| Bitstring of bitstring_value
| Octetstring of string
| Null
| Seq of value list
| Set of value list
| Tagptr of tag_class * int * pc * string * int * int
| Tag of tag_class * int * pc * value
| OID of int array
| ROID of int array
| ObjectDescriptor of string
| External of value list
| Embedded_PDV of value list
| NumericString of string
| PrintableString of string
| TeletexString of string
| VideotexString of string
| VisibleString of string
| IA5String of string
| GraphicString of string
| GeneralString of string
| UniversalString of string
| BMPString of string
| UTF8String of string
| CharString of string
| UTCTime of time_value
| GeneralizedTime of time_value
type tag_class = 
| Universal
| Application
| Context
| Private
type int_value 
type real_value 
type bitstring_value 
type time_value 
val get_int_str : int_value -> string
Get an integer as bytes
val get_int_b256 : int_value -> int array
Get an integer in base 256 notation, big endian. Negative values are represented using two's complement (i.e. the first array element is >= 128). The empty array means 0.
val get_int : int_value -> int
Get an integer as int if representable, or raise Out_of_range
val get_int32 : int_value -> int32
Get an integer as int32 if representable, or raise Out_of_range
val get_int64 : int_value -> int64
Get an integer as int64 if representable, or raise Out_of_range
val get_real_str : real_value -> string
Get the byte representation of the real
val get_bitstring_size : bitstring_value -> int
Get the number of bits
val get_bitstring_data : bitstring_value -> string
Get the data. The last byte may be partial. The order of the bits in every byte: bit 7 (MSB) contains the first bit
val get_bitstring_bits : bitstring_value -> bool array
Get the bitstring as bool array
val get_time_str : time_value -> string
Get the raw time string
val get_time : time_value -> Netdate.t
Get the time. Notes:

  • UTCTime years are two-digit years, and interpreted so that 0-49 is understood as 2000-2049, and 50-99 is understood as 1950-1999 (as required by X.509).
  • get_time_nsec returns the fractional part as nanoseconds. Higher resolutions than that are truncated.
  • This function is restricted to the time formats occurring in DER

val equal : value -> value -> bool
Checks for equality. Notes:

  • Tag and Tagptr are considered different
  • Tagptr is checked by comparing the equality of the substring
  • Set is so far not compared as set, but as sequence (i.e. order matters)

This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml