@li0ard/tsemrtd
Version:
simple library for eMRTD. supports browsers, node, bun and more!
22 lines (21 loc) • 817 B
JavaScript
import { AsnConvert } from "@peculiar/asn1-schema";
import { ContentInfo, SignedData } from "@peculiar/asn1-cms";
import { CSCAMasterList } from "./asn1/pkd";
import { Utils } from "./index";
/**
* Class for working with CSCA master list
* @see [ICAO Masterlist](https://www.icao.int/Security/FAL/PKD/Pages/ICAO-Master-List.aspx)
*/
export class PKD {
/**
* Get CSCA certificates from master list
* @param data Data of ICAO master list file (.ml)
*/
static load(data) {
if (typeof data == "string")
data = Utils.hexToBytes(data);
let contentInfo = AsnConvert.parse(data, ContentInfo);
let signedData = AsnConvert.parse(contentInfo.content, SignedData);
return AsnConvert.parse(signedData.encapContentInfo.eContent?.single, CSCAMasterList);
}
}