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