Skip to content

ldap-js/asn1

 
 

Repository files navigation

@ldap-js/asn1

@ldap-js/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('@ldap-js/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('@ldap-js/asn1');
const writer = new BerWriter();

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

console.log(writer.buffer);

Installation

npm install @ldap-js/asn1

Bugs

See https://github.com/ldap-js/asn1/issues.