Crate flexiber[−][src]
Expand description
flexiber
Implementation of the BER-TLV serialization format from ISO 7816-4:2005.
ITU-T X.690 (08/2015) defines the BER, CER and DER encoding rules for ASN.1
The exact same document is ISO/IET 8825-1, which is freely available, inconveniently packed as a single PDF in a ZIP file :)
Credits
This library is a remix of RustCrypto/utils/der
.
The core idea taken from der
is to have Encodable
require an encoded_length
method.
By calling this recursively in a first pass, allocations required in other approaches are
avoided.
Macros
Local version of debug!
.
Immediate version of debug!
.
Local version of error!
.
Immediate version of error!
.
Local version of info!
.
Immediate version of info!
.
Local version of log!
.
Immediate version of log!
.
Local version of trace!
.
Immediate version of trace!
.
Fallible version of debug!
.
Fallible immediate version of debug!
.
Fallible version of error!
.
Fallible immediate version of error!
.
Fallible version of info!
.
Fallible immediate version of info!
.
Fallible immediate version of log!
.
Fallible version of trace!
.
Fallible immediate version of trace!
.
Fallible version of warn!
.
Fallible immediate version of warn!
.
Local version of warn!
.
Immediate version of warn!
.
Structs
BER-TLV decoder.
BER-TLV encoder.
Error type.
BER-TLV-encoded length.
These are tags like in SIMPLE-TLV.
Slice of at most Length::max()
bytes.
The tag field consists of a single byte encoding a tag number from 1 to 254. The values ‘00’ and ‘FF’ are invalid.
BER-TLV data object.
Enums
Traits
Multiple encodables in a container.
Decoding trait.
Encoding trait.
This is the common trait that types to be used as tags are supposed to implement.
Type Definitions
Result type.
Raw BER-TLV data object TaggedValue<Slice<'_>>
.