An ASN.1 Parser for Dart.
Encodes & decodes ASN1 using BER encoding.
There is just enough implementation here to get an LDAP client library working.
var s = new ASN1Sequence(); s.add( new ASN1Integer(23)); s.add( new ASN1OctetString('This is a test')); s.add( new ASN1Boolean(true)); // GET the BER Stream var bytes = s.encodedBytes; // decode var p = new ASN1Parser(bytes); var s2 = p.nextObject(); // s2 is a sequence...
Remove obsolete crypto dependency in tests.
Added PrintableString and UTC Time elements
Changes to support RSA Private key : PEM file
Add import "package:bignum/bignum.dart"; in asn1lib.dart
Add ASN1ObjectIdentifier class
Add OBJECT_IDENTIFIER in asn1constants.dart
Modify ASN1Parser._doPrimitive to take OBJECT_IDENTIFIER and NULL_TYPE into account
Modify ASN1Null add contructor ASN1Null.fromBytes
Modify ASN1Integer to support BigInteger
Modify asn1element_test.dart to test BigInteger case, and rsa private key test
Add test/resource folder to store rsa key for testing
Changes to support RSA public key : PEM file
Add ASN1BitString class : not sure how to handle bitstring when unused bits is not zero
Add BIT_STRING_TYPE in asn1constants.dart
Modify ASN1Parser._doPrimitive to take BIT_STRING_TYPE into account
Modify asn1element_test.dart to test rsa public key
+- Removed Int64List dependency and use bignum's BigInteger instead
Add this to your package's pubspec.yaml file:
dependencies: asn1lib: "^0.4.2"
You can install packages from the command line:
$ pub get
$ flutter packages get
Alternatively, your editor might support
pub get or
Check the docs for your editor to learn more.
Now in your Dart code, you can use:
|0.4.2||Jul 4, 2016|
|0.4.1||Mar 10, 2015|
|0.4.0||Mar 3, 2015|
|0.3.5||Mar 3, 2015|
|0.3.4||Feb 28, 2015|
|0.3.3||Nov 9, 2014|
|0.3.2||Jun 9, 2014|
|0.3.0||Mar 28, 2014|
|0.2.0||Mar 14, 2014|
|0.1.1||Nov 9, 2013|
We analyzed this package on Apr 23, 2018, and provided a score, details, and suggestions below. Analysis was completed with status completed using:
Describes how popular the package is relative to other packages. [more]
Code health derived from static analysis. [more]
Reflects how tidy and up-to-date the package is. [more]
Weighted score of the above. [more]
Detected platforms: Flutter, web, other
No platform restriction found in primary library
Fix analysis and formatting issues.
Analysis or formatting checks reported 1 error 21 hints.
Strong-mode analysis of
lib/asn1null.dartfailed with the following error:
line: 9 col: 3
Invalid override. The type of 'ASN1Null.encodedBytes' ('() → List<dynamic>') isn't a subtype of 'ASN1Object.encodedBytes' ('() → Uint8List').
Similar analysis of the following files failed:
Package is pre-v1 release.
While there is nothing inherently wrong with versions of
0.*.*, it usually means that the author is still experimenting with the general direction API.
Maintain an example.
Create a short demo in the
example/directory to show how to use this package. Common file name patterns include:
example.dartor you could also use