UNPKG

@li0ard/tsemrtd

Version:

simple library for eMRTD. supports browsers, node, bun and more!

20 lines (19 loc) 670 B
import { TLV } from "@li0ard/tinytlv"; import { Enums } from "./index"; import { SubjectPublicKeyInfo } from "@peculiar/asn1-x509"; import { AsnConvert } from "@peculiar/asn1-schema"; /** * Class for working with DG15 (Active authentication info) */ export class DG15 { /** * Get active authentication public key * @param data Data of EF.DG15 file */ static load(data) { let tlv = TLV.parse(data); if (parseInt(tlv.tag, 16) != Enums.TAGS.DG15) throw new Error(`Invalid DG15 tag "0x${tlv.tag}", expected 0x${Enums.TAGS.DG15.toString(16)}`); return AsnConvert.parse(tlv.byteValue, SubjectPublicKeyInfo); } }