class ASN1::BER
Defined in:
bindata/asn1.crbindata/asn1/data_types.cr
bindata/asn1/identifier.cr
bindata/asn1/length.cr
Constant Summary
-
AFTER_DESERIALIZE =
[] of Nil
-
BEFORE_SERIALIZE =
[] of Nil
-
ENDIAN =
["big"]
-
KLASS_NAME =
[ASN1::BER]
-
PARTS =
[{type: "basic", name: identifier, cls: ASN1::BER::Identifier, onlyif: nil, verify: nil, value: nil}, {type: "basic", name: length, cls: ASN1::BER::Length, onlyif: nil, verify: nil, value: nil}] of Nil
-
REMAINING =
[] of Nil
Class Method Summary
Macro Summary
- asn1_ber(name, onlyif = nil, verify = nil, value = nil)
- ber(name, onlyif = nil, verify = nil, value = nil)
Instance Method Summary
- #__format__ : IO::ByteFormat
-
#children
Extracts children from the payload
- #children=(parts)
- #constructed
- #constructed=(custom : Bool)
- #extended
- #extended=(parts : Array(ExtendedIdentifier))
- #extended?
- #get_bitstring
- #get_boolean
-
#get_bytes : Slice(UInt8)
Returns the raw bytes
-
#get_hexstring(universal = true, tag = UniversalTags::OctetString)
Gets a hex representation of the bytes
- #get_integer(check_tags = {UniversalTags::Integer, UniversalTags::Enumerated}, check_class = TagClass::Universal) : Int64
- #get_integer_bytes : Bytes
-
#get_object_id
Returns the object ID in string format
-
#get_string
Returns a UTF8 string
-
#identifier : Identifier
Components of a BER object
-
#identifier=(identifier : Identifier)
Components of a BER object
-
#inspect(io : IO) : Nil
Appends a String representation of this object which includes its class name, its object address and the values of all instance variables.
- #length : Length
- #length=(length : Length)
- #payload : Bytes
- #payload=(payload : Bytes)
- #read(io : IO) : IO
-
#sequence?
Check if this can be expanded into multiple sub-entries
- #set_boolean(value)
- #set_bytes(data, tag = UniversalTags::OctetString, tag_class = TagClass::Universal)
-
#set_hexstring(string, tag = UniversalTags::OctetString, tag_class = TagClass::Universal)
Sets bytes from a hexstring
-
#set_integer(value, tag = UniversalTags::Integer, tag_class = TagClass::Universal)
ameba:disable Metrics/CyclomaticComplexity
-
#set_object_id(oid)
Sets a string representing an object ID
-
#set_string(string, tag = UniversalTags::UTF8String, tag_class = TagClass::Universal)
Sets a UTF8 string
- #size
- #tag
- #tag_class
- #tag_class=(tag : TagClass)
- #tag_number
- #tag_number=(tag_type : Int | UniversalTags)
- #write(io : IO)
Instance methods inherited from class BinData
__format__ : IO::ByteFormat
__format__,
read(io : IO) : IO
read,
to_io(io : IO, format : IO::ByteFormat = IO::ByteFormat::SystemEndian)
to_io,
to_slice
to_slice,
write(io : IO)
write
Class methods inherited from class BinData
bit_fields
bit_fields,
from_io(io : IO, format : IO::ByteFormat = IO::ByteFormat::SystemEndian)
from_io,
from_slice(bytes : Slice, format : IO::ByteFormat = IO::ByteFormat::SystemEndian)
from_slice
Macros inherited from class BinData
__add_enum_field(name, cls, onlyif, verify, value, encoding, enum_type)
__add_enum_field,
__build_methods__
__build_methods__,
after_deserialize(&block)
after_deserialize,
array(name, length, onlyif = nil, verify = nil, value = nil)
array,
before_serialize(&block)
before_serialize,
bit_field(onlyif = nil, verify = nil, &block)
bit_field,
bits(size, name, value = nil, default = nil)
bits,
bool(name, default = false)
bool,
bytes(name, length, onlyif = nil, verify = nil, value = nil, default = nil)
bytes,
custom(name, onlyif = nil, verify = nil, value = nil)
custom,
endian(format)
endian,
enum_bits(size, name)
enum_bits,
enum_field(size, name, onlyif = nil, verify = nil, value = nil)
enum_field,
field(type_declaration, onlyif = nil, verify = nil, value = nil, length = nil, read_next = nil, encoding = nil, endian = nil)
field,
float32(name, onlyif = nil, verify = nil, value = nil, default = nil)
float32,
float32be(name, onlyif = nil, verify = nil, value = nil, default = nil)
float32be,
float32le(name, onlyif = nil, verify = nil, value = nil, default = nil)
float32le,
float64(name, onlyif = nil, verify = nil, value = nil, default = nil)
float64,
float64be(name, onlyif = nil, verify = nil, value = nil, default = nil)
float64be,
float64le(name, onlyif = nil, verify = nil, value = nil, default = nil)
float64le,
group(name, onlyif = nil, verify = nil, value = nil, &block)
group,
int128(name, onlyif = nil, verify = nil, value = nil, default = nil)
int128,
int128be(name, onlyif = nil, verify = nil, value = nil, default = nil)
int128be,
int128le(name, onlyif = nil, verify = nil, value = nil, default = nil)
int128le,
int16(name, onlyif = nil, verify = nil, value = nil, default = nil)
int16,
int16be(name, onlyif = nil, verify = nil, value = nil, default = nil)
int16be,
int16le(name, onlyif = nil, verify = nil, value = nil, default = nil)
int16le,
int32(name, onlyif = nil, verify = nil, value = nil, default = nil)
int32,
int32be(name, onlyif = nil, verify = nil, value = nil, default = nil)
int32be,
int32le(name, onlyif = nil, verify = nil, value = nil, default = nil)
int32le,
int64(name, onlyif = nil, verify = nil, value = nil, default = nil)
int64,
int64be(name, onlyif = nil, verify = nil, value = nil, default = nil)
int64be,
int64le(name, onlyif = nil, verify = nil, value = nil, default = nil)
int64le,
int8(name, onlyif = nil, verify = nil, value = nil, default = nil)
int8,
int8be(name, onlyif = nil, verify = nil, value = nil, default = nil)
int8be,
int8le(name, onlyif = nil, verify = nil, value = nil, default = nil)
int8le,
remaining_bytes(name, onlyif = nil, verify = nil, default = nil)
remaining_bytes,
string(name, onlyif = nil, verify = nil, length = nil, value = nil, encoding = nil, default = nil)
string,
uint128(name, onlyif = nil, verify = nil, value = nil, default = nil)
uint128,
uint128be(name, onlyif = nil, verify = nil, value = nil, default = nil)
uint128be,
uint128le(name, onlyif = nil, verify = nil, value = nil, default = nil)
uint128le,
uint16(name, onlyif = nil, verify = nil, value = nil, default = nil)
uint16,
uint16be(name, onlyif = nil, verify = nil, value = nil, default = nil)
uint16be,
uint16le(name, onlyif = nil, verify = nil, value = nil, default = nil)
uint16le,
uint32(name, onlyif = nil, verify = nil, value = nil, default = nil)
uint32,
uint32be(name, onlyif = nil, verify = nil, value = nil, default = nil)
uint32be,
uint32le(name, onlyif = nil, verify = nil, value = nil, default = nil)
uint32le,
uint64(name, onlyif = nil, verify = nil, value = nil, default = nil)
uint64,
uint64be(name, onlyif = nil, verify = nil, value = nil, default = nil)
uint64be,
uint64le(name, onlyif = nil, verify = nil, value = nil, default = nil)
uint64le,
uint8(name, onlyif = nil, verify = nil, value = nil, default = nil)
uint8,
uint8be(name, onlyif = nil, verify = nil, value = nil, default = nil)
uint8be,
uint8le(name, onlyif = nil, verify = nil, value = nil, default = nil)
uint8le,
variable_array(name, read_next, onlyif = nil, verify = nil, value = nil)
variable_array
Class Method Detail
Macro Detail
Instance Method Detail
Gets a hex representation of the bytes
Appends a String representation of this object which includes its class name, its object address and the values of all instance variables.
class Person
def initialize(@name : String, @age : Int32)
end
end
Person.new("John", 32).inspect # => #<Person:0x10fd31f20 @name="John", @age=32>
Sets bytes from a hexstring
ameba:disable Metrics/CyclomaticComplexity
Sets a UTF8 string