You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							51 lines
						
					
					
						
							1.2 KiB
						
					
					
				
			
		
		
	
	
							51 lines
						
					
					
						
							1.2 KiB
						
					
					
				| 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>.
 |