UNPKG

@auth0/mdl

Version:

Parse and and validate MDOC CBOR encoded binaries according to ISO 18013-5.

50 lines 3.51 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DeviceSignedDocument = void 0; const DataItem_1 = require("../../cbor/DataItem"); const IssuerSignedDocument_1 = require("./IssuerSignedDocument"); /** * Represents a device signed document. * * Note: You don't need to instantiate this class. * This is the return type of the parser and it will be generated by the DeviceResponse builder. */ class DeviceSignedDocument extends IssuerSignedDocument_1.IssuerSignedDocument { constructor(docType, issuerSigned, deviceSigned) { super(docType, issuerSigned); this.deviceSigned = deviceSigned; } prepare() { const doc = super.prepare(); const deviceSignature = this.deviceSigned.deviceAuth.deviceSignature?.getContentForEncoding(); const deviceMac = this.deviceSigned.deviceAuth.deviceMac?.getContentForEncoding(); // detach payload if (deviceMac) { deviceMac[2] = null; } if (deviceSignature) { deviceSignature[2] = null; } doc.set('deviceSigned', { ...this.deviceSigned, nameSpaces: DataItem_1.DataItem.fromData(this.deviceSigned.nameSpaces), deviceAuth: { ...this.deviceSigned.deviceAuth, ...(deviceSignature ? { deviceSignature } : {}), ...(deviceMac ? { deviceMac } : {}), }, }); return doc; } /** * Helper method to get the values in a namespace as a JS object. * * @param {string} namespace - The namespace to add. * @returns {Record<string, any>} - The values in the namespace as an object */ getDeviceNameSpace(namespace) { return this.deviceSigned.nameSpaces[namespace]; } } exports.DeviceSignedDocument = DeviceSignedDocument; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGV2aWNlU2lnbmVkRG9jdW1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbWRvYy9tb2RlbC9EZXZpY2VTaWduZWREb2N1bWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxrREFBK0M7QUFFL0MsaUVBQThEO0FBRTlEOzs7OztHQUtHO0FBQ0gsTUFBYSxvQkFBcUIsU0FBUSwyQ0FBb0I7SUFDNUQsWUFDRSxPQUFnQixFQUNoQixZQUEwQixFQUNWLFlBQTBCO1FBRTFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFGYixpQkFBWSxHQUFaLFlBQVksQ0FBYztJQUc1QyxDQUFDO0lBRUQsT0FBTztRQUNMLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM1QixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxlQUFlLEVBQUUscUJBQXFCLEVBQUUsQ0FBQztRQUM5RixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxTQUFTLEVBQUUscUJBQXFCLEVBQUUsQ0FBQztRQUNsRixpQkFBaUI7UUFDakIsSUFBSSxTQUFTLEVBQUU7WUFDYixTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDO1NBQ3JCO1FBQ0QsSUFBSSxlQUFlLEVBQUU7WUFDbkIsZUFBZSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztTQUMzQjtRQUVELEdBQUcsQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFO1lBQ3RCLEdBQUcsSUFBSSxDQUFDLFlBQVk7WUFDcEIsVUFBVSxFQUFFLG1CQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDO1lBQzNELFVBQVUsRUFBRTtnQkFDVixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVTtnQkFDL0IsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUMvQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7YUFDcEM7U0FDRixDQUFDLENBQUM7UUFDSCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILGtCQUFrQixDQUFDLFNBQWlCO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDakQsQ0FBQztDQUNGO0FBMUNELG9EQTBDQyJ9