asn1lib
An ASN1 parser library for Dart. Encodes / decodes from ASN1 Objects to BER bytes
1.6.5
1.5M downloads/mo
#282 most downloaded on pub.dev
wstrange/asn1lib
What this package is like to depend on
Last release 1 years ago
24 Jun 2025
Release timing varies
gaps range from 2 weeks to 6 months
Some releases are documented
notes for 27 of 64 stable releases
Nothing withdrawn
no release was ever pulled
13 years old
65 releases · first in 2013
0 releases in the last 12 months
see the full history below
Release timeline
65 releases · Oct 2013 to Jun 2025Releases
latest 60 of 65-
1.6.524 Jun 2025 -
1.6.425 Apr 2025Release notes
Open source →- ASN1OctetString.toString() now returns bytes as a list instead of throwing an exception when the contents can not be decoded as a UTF-8 string.
-
1.6.320 Apr 2025Release notes
Open source →- The ASN1GeneralizedTime should not fail on decoding DateTime with single digit month, day, hour, minute or second.
-
1.6.223 Mar 2025Release notes
Open source →- The ASN1Object.hashCode method now uses the encodedBytes to calculate the hash code. This ensures that two objects that are equal (have the same encoded bytes) have the same hash code.
-
1.6.122 Mar 2025Release notes
Open source →- ASN1OctetString.toString() now returns the decoded bytes as a UTF-8 string. This is mostly for convenience / ergnomics. If you want the bytes as a list, use the valueBytes getter.
-
1.6.002 Mar 2025Release notes
Open source →- Breaking Change for encoding`ASN1OctetString("some string"). The default encoding to octets now uses utf8. See README.md for more information.
-
1.5.908 Feb 2025Release notes
Open source →- Added ASN1OctetString.utf8StringValue getter to return the decoded bytes as a UTF-8 string.
-
1.5.801 Nov 2024 -
1.5.731 Oct 2024Release notes
Open source →- Fixes 73. You should be able to add more objects to a sequence and get encodedBytes between each add.
-
1.5.627 Sep 2024 -
1.5.520 Sep 2024 -
1.5.412 Sep 2024 -
1.5.310 May 2024 -
1.5.230 Jan 2024Release notes
Open source →- Support the ability to parse objects with extended tags (more than one byte). #65
- Simplify by converting ASN1Length to Dart records
-
1.5.026 Jul 2023Release notes
Open source →- Make a number of fields
finalthat should not be changed. - Add types to a few members.
- Remove nullability from a field fields.
- Require Dart 3.0
- Make a number of fields
-
1.4.119 Jun 2023 -
1.4.017 Nov 2022Release notes
Open source →- Reverted parsing of APPLICATION tags to the older behavior. If the constructed bit is set, the tag is parsed as an ASN1Sequence. The recent updates broke LDAP ASN1 parsing.
-
1.3.014 Nov 2022Release notes
Open source →- Adds classes to handle non primitive classes: ASN1Application,ASN1ContextSpecific, ASN1Private.
- This is a potential change in behavior for consumers that expect some of these classes to be parsed as primitive or sequence types. See [README.md]
- The
encodeApplicationTagsAsObjectoption on ASN1Parser has been dropped as it is now the default. Consumers should reparse bytes they know to be a sequence, etc.
-
1.2.227 Oct 2022 -
1.2.120 Oct 2022 -
1.2.018 Oct 2022Release notes
Open source →- Fix #61. Adds a flag to the parser
encodeApplicationTagsAsObjectthat will force APPLICATION objects to be encoded as ASN1Objects, skipping any attempt to create sequences.
- Fix #61. Adds a flag to the parser
-
1.1.114 Sep 2022 -
1.1.019 Jan 2022Release notes
Open source →- Add optional flag whether to relax parsing, off by default, for backwards-compatibility
-
1.0.314 Nov 2021 -
1.0.207 Jun 2021 -
1.0.101 Jun 2021 -
1.0.022 Mar 2021Release notes
Open source →- Bumped to 1.0.0 as this is now null safe
- Code cleanup
0.9.0
- Requires Dart 2.12
- Enable null-safety
0.8.1
- Allow OID octets to be 0
- Fix ASN1Integer.toString() typo
0.8.0
- Add ASN1IpAddress object based on ASN1OctetString
- Add tests for ASN1IpAddress
0.7.1
- Allow parsing of unrecognized application tags into generic ASN1Objects
- Fix parser test filename typo
- Add new tag tests
0.7.0
- Improve object identifier tests
- Fix ASN1ObjectIdentifier static methods fromBytes() and fromComponents()
0.6.5
- Add new object identifiers
0.6.4
- Fix ASN1Object.preEncoded bytes range
- Add unit tests
0.6.3
- Add ASN1TeletextString Parser
- Add unit tests
0.6.2
- Small fix for the ASN1GeneralizedTime parser
0.6.1
- Add sha1WithRSAEncryption object identifier
- Add ASN1GeneralizedTime Parser
- Add unit tests
0.6.0
- Fix all linter warnings
0.5.15
- Add businessCategory object identifier
0.5.14
- Add DN for subjectAltName
0.5.13
- Merged #37. Improved length computing in the ASN1Parser.
- Added new unit tests.
0.5.12
- Merged #36. Improved length computing in the ASN1Parser.
0.5.11
- Merged #34. Added example
0.5.10
- Merged #32. Update length in asn1 parser.
0.5.9
- Merged #31. Improve fromBytes. Logic from Java Bouncy Castle.
0.5.8
Merged #30
- Add IA5String
- Add associated tests
- Make sure parser handles IA5 and UT8 String
- Add large test case with PEM Certificate that includes IA5 and UTF8 Strings
- Cleanup README
0.5.7
Merged #29
- Expand AS1NNull to accept tag
- Associated test cases
- Added David Janes as author
0.5.6
Merged #28
Add ASN1UTF8String
0.5.5
Merged #27
Updates to ASN1ObjectIdentifier to:
- allow creation from dotted number lists
- allow creation from dotted number strings
- allow names to be registered, for shorthands
- allow bulk name registration
- commonly used names (obviously, what this is could be expanded)
0.5.4
Fixed #26
0.5.1
Add AS1Integer.fromInt factory method
0.5.0
- Convert use of BigInteger to dart SDK BigInt
0.4.3
- Updates for dart 2
0.4.2
- Added
contentBytes()getter - Removed Int64List dependency and use bignum's BigInteger instead
-
0.9.0-nullsafety.026 Nov 2020 pre-releaseNothing published for this version
-
0.8.123 Sep 2020Nothing published for this version
-
0.8.023 Sep 2020Nothing published for this version
-
0.7.018 Sep 2020Nothing published for this version
-
0.6.529 Jun 2020Nothing published for this version
-
0.6.421 Feb 2020Nothing published for this version
-
0.6.319 Feb 2020Nothing published for this version
-
0.6.218 Feb 2020Nothing published for this version
-
0.6.118 Feb 2020Nothing published for this version
-
0.6.014 Jan 2020Nothing published for this version
-
0.5.1513 Dec 2019Nothing published for this version
-
0.5.1411 Nov 2019Nothing published for this version
-
0.5.1305 Nov 2019Nothing published for this version
-
0.5.1204 Nov 2019Nothing published for this version
-
0.5.1121 Oct 2019Nothing published for this version
-
0.5.1020 Oct 2019Nothing published for this version
-
0.5.918 Oct 2019Nothing published for this version
-
0.5.828 Mar 2019Nothing published for this version
-
0.5.715 Mar 2019Nothing published for this version
-
0.5.615 Mar 2019Nothing published for this version
-
0.5.515 Mar 2019Nothing published for this version
-
0.5.414 Mar 2019Nothing published for this version
-
0.5.306 Oct 2018Nothing published for this version
-
0.5.228 Jul 2018Nothing published for this version
-
0.5.109 Jul 2018Nothing published for this version
-
0.5.015 Jun 2018Nothing published for this version
-
0.4.304 Jun 2018Nothing published for this version
-
0.4.204 Jul 2016Nothing published for this version
-
0.4.110 Mar 2015Nothing published for this version
-
0.4.003 Mar 2015Nothing published for this version
-
0.3.503 Mar 2015Nothing published for this version
-
0.3.428 Feb 2015Nothing published for this version
-
0.3.309 Nov 2014Nothing published for this version