- Strip leading zeros and sometimes leading 255s in
write_bigint_bytes
- Ensure yasna builds with
-Z minimal-versions
- Addition of
{read,write}_bigint_bytes
- Fix overflow when reading length
- Switch from
chrono
totime
- Increase MSRV to 1.36.0
- Switch to Github actions for CI
no_std
support (requiringalloc
)- addition of default-off
std
feature to enable std-related features
- Disable default features of chrono (except std), removing dependency
- Support for reading/writing BITSTRING without needing the bit-vec crate
- Addition of try_{construct_der,construct_der_seq}
- Increase MSRV to 1.17.0
- Update to bit-vec 0.6.1
- Support for reading/writing IA5String, BMPString
- Ability to read/write raw DER
- Addition of
#![deny(missing_docs)]
to the library root - Ability to read/write ENUMERATED
- Support for more datatypes (R/W):
- UTF8String, NumericString, PrintableString, VisibleString,
- UTCTime, GeneralizedTime,
- Completed support for these datatypes:
- SEQUENCE OF, DEFAULT, OPTIONAL,
- Addition of traits BERDecodable and DEREncodable
- Reduction of dependencies
- Updates of dependencies (num to 0.2, bit-vec to 0.5)
- Features were renamed and turned off by default
- Addition of @est31 as maintainer
- Both readers and writers implement common core datatypes, including:
- BOOLEAN, INTEGER, BITSTRING, OCTETSTRING, NULL, OBJECT IDENTIFIER,
- SEQUENCE, SET, SET OF,
- Explicitly/Implicitly tagged types.
- Public APIs of readers and writers are documented and most of them are tested. These seem almost frozen.
- Now it depends on "bit-vec" crate to handle bit strings.
- ASN.1 data models are now in
asn1::models
. These are waiting for refactoring and API change, as well asFromBer
traits.
Both writers and readers are refactored.
- Writing SET values and tagged values.
- Now
DERWriter
andDERWriterSeq
are different. - Readers are currently in thorough refactoring.
- They are split into several files internally.
BERReader
andBERReaderSeq
are now different.- Several changes on naming.
- The CER (Canonical Encoding Rules) support is dropped.
- Some tests are added.
From this version, writing DER is supported with very limited functionality.
- Documented writer functionality with support for:
- BOOLEAN
- INTEGER
- OCTET STRING
- NULL
- SEQUENCE
The project is splitted from the author's early work on TLS.
- Undocumented reader functionality with support for:
- BOOLEAN
- INTEGER
- BIT STRING
- OCTET STRING
- NULL
- SEQUENCE
- SEQUENCE OF
- SET OF
- Tagged values
- Object identifiers
- Deserialization functionality, mainly for reading X.509 certificates.