1node-asn1 is a library for encoding and decoding ASN.1 datatypes in pure JS. 2Currently BER encoding is supported; at some point I'll likely have to do DER. 3 4## Usage 5 6Mostly, if you're *actually* needing to read and write ASN.1, you probably don't 7need this readme to explain what and why. If you have no idea what ASN.1 is, 8see this: ftp://ftp.rsa.com/pub/pkcs/ascii/layman.asc 9 10The source is pretty much self-explanatory, and has read/write methods for the 11common types out there. 12 13### Decoding 14 15The following reads an ASN.1 sequence with a boolean. 16 17 var Ber = require('asn1').Ber; 18 19 var reader = new Ber.Reader(Buffer.from([0x30, 0x03, 0x01, 0x01, 0xff])); 20 21 reader.readSequence(); 22 console.log('Sequence len: ' + reader.length); 23 if (reader.peek() === Ber.Boolean) 24 console.log(reader.readBoolean()); 25 26### Encoding 27 28The following generates the same payload as above. 29 30 var Ber = require('asn1').Ber; 31 32 var writer = new Ber.Writer(); 33 34 writer.startSequence(); 35 writer.writeBoolean(true); 36 writer.endSequence(); 37 38 console.log(writer.buffer); 39 40## Installation 41 42 npm install asn1 43 44## License 45 46MIT. 47 48## Bugs 49 50See <https://github.com/joyent/node-asn1/issues>. 51