0.1.0 • Published 1 month ago

typepki-asn1parse v0.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 month ago

typepki-asn1parse: ASN.1 parser utility for TypePKI library

TOP | github | npm | TypePKI

The 'TypePKI' library is an opensource free TypeScript PKI library which is the successor of the long lived jsrsasign library.

The 'typepki-asn1parse' is a ASN.1 parser utility for TypePKI library.

FEATURE

  • ASN.1 DER parser for ASN.1 hexadecimal string (BER will also be in the future.)
  • Dual CommonJS/ES module package supporting CommonJS(CJS) and ES modules

Usage

import { asn1parse } from "typepki-asn1parse";
console.log(asn1parse("300602010a02010b"));

This shows

{
  "t": "seq",
  "v": [
    { "t": "int", "v": "0a" },
    { "t": "int", "v": "0b" },
  ]
}

Parser output

Result will be a Record object which has following members:

  • t - short ASN.1 tag name
  • v - ASN.1 value

short ASN.1 tag name

short nameASN.1 namecodevaluevalue sample
boolINTEGER01
intINTEGER02
bitstrBitString03
octstrOctetString04
nullNULL05
oidObjectIdentifier06{oid: "0.2.3.15"}
enumEnumerated0a
utf8strUTF8String0c{str: "りんご3"}
prnstrPrintableString13{str: "test12"}
ia5strIA5String16{str: "u1@example.com"}
utctimeUTCTime17131231235959Z
gentimeGeneralizedTime1820131231235959Z
seqSEQUENCE30array of Record{t:"int",v:"0123"}
setSET31array of Record{t:"int",v:"0123"}

Encapsulated

When the ASN.1 value is a ASN.1 TLV or a sequence of ASN.1 TLV, the V will also be parsed.

This will be applied to ASN.1 application tag TLV such as "0" or "1".