Skip to content
This repository has been archived by the owner on May 14, 2024. It is now read-only.

ldapjs/asn1

Repository files navigation

@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.