PackageTrack
Sign in Get early access

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 2025
2014 2016 2018 2020 2022 2024 2026
Release Pre-release

Releases

latest 60 of 65
  1. 1.6.5 24 Jun 2025
    Release notes
    • Relaxed the SDK constraint to allow Dart SDK 3.0 and above.
    Open source →
  2. 1.6.4 25 Apr 2025
    Release notes
    • 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.
    Open source →
  3. 1.6.3 20 Apr 2025
    Release notes
    • The ASN1GeneralizedTime should not fail on decoding DateTime with single digit month, day, hour, minute or second.
    Open source →
  4. 1.6.2 23 Mar 2025
    Release notes
    • 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.
    Open source →
  5. 1.6.1 22 Mar 2025
    Release notes
    • 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.
    Open source →
  6. 1.6.0 02 Mar 2025
    Release notes
    • Breaking Change for encoding`ASN1OctetString("some string"). The default encoding to octets now uses utf8. See README.md for more information.
    Open source →
  7. 1.5.9 08 Feb 2025
    Release notes
    • Added ASN1OctetString.utf8StringValue getter to return the decoded bytes as a UTF-8 string.
    Open source →
  8. 1.5.8 01 Nov 2024
    Release notes
    • Removed the dependency on the collection package (only used in tests)
    Open source →
  9. 1.5.7 31 Oct 2024
    Release notes
    • Fixes 73. You should be able to add more objects to a sequence and get encodedBytes between each add.
    Open source →
  10. 1.5.6 27 Sep 2024
    Release notes
    • Equals method needs to use deep list equality!
    Open source →
  11. 1.5.5 20 Sep 2024
    Release notes
    • Equals method was comparing unencoded object.
    Open source →
  12. 1.5.4 12 Sep 2024
    Release notes
    • Add equals and hashCode to ASN1Object
    Open source →
  13. 1.5.3 10 May 2024
    Release notes
    • Fixes #68
    Open source →
  14. 1.5.2 30 Jan 2024
    Release notes
    • Support the ability to parse objects with extended tags (more than one byte). #65
    • Simplify by converting ASN1Length to Dart records
    Open source →
  15. 1.5.0 26 Jul 2023
    Release notes
    • Make a number of fields final that should not be changed.
    • Add types to a few members.
    • Remove nullability from a field fields.
    • Require Dart 3.0
    Open source →
  16. 1.4.1 19 Jun 2023
    Release notes
    • Fix null assertion when accessing valueBytes before encodedBytes.
    Open source →
  17. 1.4.0 17 Nov 2022
    Release notes
    • 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.
    Open source →
  18. 1.3.0 14 Nov 2022
    Release notes
    • 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 encodeApplicationTagsAsObject option on ASN1Parser has been dropped as it is now the default. Consumers should reparse bytes they know to be a sequence, etc.
    Open source →
  19. 1.2.2 27 Oct 2022
    Release notes
    • Fix #62. Allow context specific tags to be cast to an asn1 sequence.
    Open source →
  20. 1.2.1 20 Oct 2022
    Release notes
    • Fix #57
    Open source →
  21. 1.2.0 18 Oct 2022
    Release notes
    • Fix #61. Adds a flag to the parser encodeApplicationTagsAsObject that will force APPLICATION objects to be encoded as ASN1Objects, skipping any attempt to create sequences.
    Open source →
  22. 1.1.1 14 Sep 2022
    Release notes
    • fix: Use the correct value for unusedBits in ASN1BitString.fromBytes
    Open source →
  23. 1.1.0 19 Jan 2022
    Release notes
    • Add optional flag whether to relax parsing, off by default, for backwards-compatibility
    Open source →
  24. 1.0.3 14 Nov 2021
    Release notes
    • Add ASN1BMPString support
    Open source →
  25. 1.0.2 07 Jun 2021
    Release notes
    • Better toString() for ASN1ObjectIdentifier
    Open source →
  26. 1.0.1 01 Jun 2021
    Release notes
    • Add ASN1NumericString support
    Open source →
  27. 1.0.0 22 Mar 2021
    Release notes
    • 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
    Open source →
  28. 0.9.0-nullsafety.0 26 Nov 2020 pre-release

    Nothing published for this version

  29. 0.8.1 23 Sep 2020

    Nothing published for this version

  30. 0.8.0 23 Sep 2020

    Nothing published for this version

  31. 0.7.0 18 Sep 2020

    Nothing published for this version

  32. 0.6.5 29 Jun 2020

    Nothing published for this version

  33. 0.6.4 21 Feb 2020

    Nothing published for this version

  34. 0.6.3 19 Feb 2020

    Nothing published for this version

  35. 0.6.2 18 Feb 2020

    Nothing published for this version

  36. 0.6.1 18 Feb 2020

    Nothing published for this version

  37. 0.6.0 14 Jan 2020

    Nothing published for this version

  38. 0.5.15 13 Dec 2019

    Nothing published for this version

  39. 0.5.14 11 Nov 2019

    Nothing published for this version

  40. 0.5.13 05 Nov 2019

    Nothing published for this version

  41. 0.5.12 04 Nov 2019

    Nothing published for this version

  42. 0.5.11 21 Oct 2019

    Nothing published for this version

  43. 0.5.10 20 Oct 2019

    Nothing published for this version

  44. 0.5.9 18 Oct 2019

    Nothing published for this version

  45. 0.5.8 28 Mar 2019

    Nothing published for this version

  46. 0.5.7 15 Mar 2019

    Nothing published for this version

  47. 0.5.6 15 Mar 2019

    Nothing published for this version

  48. 0.5.5 15 Mar 2019

    Nothing published for this version

  49. 0.5.4 14 Mar 2019

    Nothing published for this version

  50. 0.5.3 06 Oct 2018

    Nothing published for this version

  51. 0.5.2 28 Jul 2018

    Nothing published for this version

  52. 0.5.1 09 Jul 2018

    Nothing published for this version

  53. 0.5.0 15 Jun 2018

    Nothing published for this version

  54. 0.4.3 04 Jun 2018

    Nothing published for this version

  55. 0.4.2 04 Jul 2016

    Nothing published for this version

  56. 0.4.1 10 Mar 2015

    Nothing published for this version

  57. 0.4.0 03 Mar 2015

    Nothing published for this version

  58. 0.3.5 03 Mar 2015

    Nothing published for this version

  59. 0.3.4 28 Feb 2015

    Nothing published for this version

  60. 0.3.3 09 Nov 2014

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive