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

ldapjs/asn1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Feb 22, 2023
628047e · Feb 22, 2023

History

79 Commits
Mar 27, 2022
Feb 22, 2023
Feb 22, 2023
Feb 22, 2023
Mar 27, 2022
Feb 22, 2023
Mar 27, 2022
Mar 27, 2022
Feb 22, 2023
Feb 22, 2023
Feb 22, 2023
Feb 22, 2023
Feb 22, 2023

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.