itcast 6e512b8ce6 aaaa 10 місяців тому
..
.github 6e512b8ce6 aaaa 10 місяців тому
lib 6e512b8ce6 aaaa 10 місяців тому
.eslintrc 6e512b8ce6 aaaa 10 місяців тому
.taprc.yml 6e512b8ce6 aaaa 10 місяців тому
CONTRIBUTING.md 6e512b8ce6 aaaa 10 місяців тому
LICENSE 6e512b8ce6 aaaa 10 місяців тому
README.md 6e512b8ce6 aaaa 10 місяців тому
coverage-map.js 6e512b8ce6 aaaa 10 місяців тому
index.js 6e512b8ce6 aaaa 10 місяців тому
index.test.js 6e512b8ce6 aaaa 10 місяців тому
package.json 6e512b8ce6 aaaa 10 місяців тому

README.md

@ldapjs/asn1

@ldapjs/asn1 is a library for encoding and decoding ASN.1 datatypes in pure JS. Currently BER encoding is supported.

Decoding

The following reads an ASN.1 sequence with a boolean.

const { BerReader, BerTypes } = require('@ldapjs/asn1')
const reader = new BerReader(Buffer.from([0x30, 0x03, 0x01, 0x01, 0xff]))

reader.readSequence()
console.log('Sequence len: ' + reader.length)
if (reader.peek() === BerTypes.Boolean)
console.log(reader.readBoolean())

Encoding

The following generates the same payload as above.

const { BerWriter } = require('@ldapjs/asn1');
const writer = new BerWriter();

writer.startSequence();
writer.writeBoolean(true);
writer.endSequence();

console.log(writer.buffer);

Installation

npm install @ldapjs/asn1

Bugs

See https://github.com/ldapjs/asn1/issues.