@icure/api 4.0.85 → 4.0.90

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -18,7 +18,7 @@ const _ = require("lodash");
18
18
  const binary_utils_1 = require("./utils/binary-utils");
19
19
  class IccCryptoXApi {
20
20
  constructor(host, headers, hcpartyBaseApi, //Init with a hcparty x api for better performances
21
- patientBaseApi, crypto = typeof window !== 'undefined' ? window.crypto : typeof self !== 'undefined' ? self.crypto : {}) {
21
+ patientBaseApi, deviceBaseApi, crypto = typeof window !== 'undefined' ? window.crypto : typeof self !== 'undefined' ? self.crypto : {}) {
22
22
  this.hcPartyKeysCache = {};
23
23
  //[delegateId][delegatorId] = delegateEncryptedHcPartyKey
24
24
  //for each delegate, it stores the list of delegators and the corresponding delegateEncryptedHcPartyKey (shared HcPartyKey, from delegator to delegate, encrypted with the RSA key of the delegate)
@@ -29,6 +29,7 @@ class IccCryptoXApi {
29
29
  this.hcpPreferenceKeyEhealthCertDate = 'eHealthCRTDate';
30
30
  this.hcpartyBaseApi = hcpartyBaseApi;
31
31
  this.patientBaseApi = patientBaseApi;
32
+ this.deviceBaseApi = deviceBaseApi;
32
33
  this.crypto = crypto;
33
34
  this.generateKeyConcurrencyMap = {};
34
35
  this._AES = new AES_1.AESUtils(crypto);
@@ -51,9 +52,6 @@ class IccCryptoXApi {
51
52
  emptyHcpCache(hcpartyId) {
52
53
  delete this.hcPartyKeysRequestsCache[hcpartyId];
53
54
  }
54
- getHcpOrPatient(hcpartyId) {
55
- return this.hcpartyBaseApi.getHealthcareParty(hcpartyId).catch(() => this.patientBaseApi.getPatient(hcpartyId));
56
- }
57
55
  /**
58
56
  * Gets all delegate encrypted HcParty keys of the delegate with the given `delegateHcPartyId`, and for each key the delegator id
59
57
  * If the keys are not cached, they are retrieved from the backend.
@@ -77,6 +75,9 @@ class IccCryptoXApi {
77
75
  return ((1e7).toString() + -1e3 + -4e3 + -8e3 + -1e11).replace(/[018]/g, (c) => (Number(c) ^ (this.crypto.getRandomValues(new Uint8Array(1))[0] & (15 >> (Number(c) / 4)))).toString(16) //Keep that inlined or you will loose the random
78
76
  );
79
77
  }
78
+ sha256(data) {
79
+ return this.crypto.subtle.digest('SHA-256', data);
80
+ }
80
81
  encryptedShamirRSAKey(hcp, notaries, threshold) {
81
82
  return this._RSA.loadKeyPairImported(hcp.id).then((keyPair) => this._RSA.exportKey(keyPair.privateKey, 'pkcs8').then((exportedKey) => {
82
83
  const privateKey = exportedKey;
@@ -273,7 +274,7 @@ class IccCryptoXApi {
273
274
  });
274
275
  }
275
276
  else if (fallbackOnParent) {
276
- return this.getHcpOrPatient(healthcarePartyId).then((hcp) => hcp.parentId ? this.decryptAndImportAesHcPartyKeysInDelegations(hcp.parentId, delegations) : Promise.resolve([]));
277
+ return this.getDataOwner(healthcarePartyId).then(({ dataOwner: hcp }) => hcp.parentId ? this.decryptAndImportAesHcPartyKeysInDelegations(hcp.parentId, delegations) : Promise.resolve([]));
277
278
  }
278
279
  return this.decryptAndImportAesHcPartyKeysForDelegators(Object.keys(delegatorIds), healthcarePartyId);
279
280
  }
@@ -287,8 +288,8 @@ class IccCryptoXApi {
287
288
  if (parentObject)
288
289
  this.throwDetailedExceptionForInvalidParameter('parentObject.id', parentObject.id, 'initObjectDelegations', arguments);
289
290
  const secretId = this.randomUuid();
290
- return this.getHcpOrPatient(ownerId)
291
- .then((owner) => this.getOrCreateHcPartyKey(owner, ownerId))
291
+ return this.getDataOwner(ownerId)
292
+ .then(({ dataOwner: owner }) => this.getOrCreateHcPartyKey(owner, ownerId))
292
293
  .then((encryptedHcPartyKey) => this.decryptHcPartyKey(ownerId, ownerId, encryptedHcPartyKey, true))
293
294
  .then((importedAESHcPartyKey) => Promise.all([
294
295
  this._AES.encrypt(importedAESHcPartyKey.key, binary_utils_1.string2ua(createdObject.id + ':' + secretId).buffer, importedAESHcPartyKey.rawKey),
@@ -356,8 +357,8 @@ class IccCryptoXApi {
356
357
  if (parentObject)
357
358
  this.throwDetailedExceptionForInvalidParameter('parentObject.id', parentObject.id, 'extendedDelegationsAndCryptedForeignKeys', arguments);
358
359
  this.throwDetailedExceptionForInvalidParameter('secretIdOfModifiedObject', secretIdOfModifiedObject, 'extendedDelegationsAndCryptedForeignKeys', arguments);
359
- return this.getHcpOrPatient(ownerId)
360
- .then((owner) => this.getOrCreateHcPartyKey(owner, delegateId))
360
+ return this.getDataOwner(ownerId)
361
+ .then(({ dataOwner: owner }) => this.getOrCreateHcPartyKey(owner, ownerId))
361
362
  .then((encryptedHcPartyKey) => this.decryptHcPartyKey(ownerId, delegateId, encryptedHcPartyKey, true))
362
363
  .then((importedAESHcPartyKey) => Promise.all([
363
364
  Promise.all(((modifiedObject.delegations || {})[delegateId] || []).map((d) => (d.key &&
@@ -480,8 +481,8 @@ class IccCryptoXApi {
480
481
  modifiedObject, ownerId, delegateId, secretEncryptionKeyOfObject) {
481
482
  this.throwDetailedExceptionForInvalidParameter('modifiedObject.id', modifiedObject.id, 'appendEncryptionKeys', arguments); //modifiedObject should never be null
482
483
  this.throwDetailedExceptionForInvalidParameter('secretEncryptionKeyOfObject', secretEncryptionKeyOfObject, 'appendEncryptionKeys', arguments);
483
- return this.getHcpOrPatient(ownerId)
484
- .then((owner) => this.getOrCreateHcPartyKey(owner, delegateId))
484
+ return this.getDataOwner(ownerId)
485
+ .then(({ dataOwner: owner }) => this.getOrCreateHcPartyKey(owner, ownerId))
485
486
  .then((encryptedHcPartyKey) => this.decryptHcPartyKey(ownerId, delegateId, encryptedHcPartyKey, true))
486
487
  .then((importedAESHcPartyKey) => Promise.all([
487
488
  Promise.all(((modifiedObject.encryptionKeys || {})[delegateId] || []).map((d) => (d.key &&
@@ -652,7 +653,7 @@ class IccCryptoXApi {
652
653
  extractKeysHierarchyFromDelegationLikes(
653
654
  //TODO suggested name: getSecretIdsOfHcpAndParentsFromGenericDelegations
654
655
  hcpartyId, objectId, delegations) {
655
- return this.getHcpOrPatient(hcpartyId).then((hcp) => (delegations[hcpartyId] && delegations[hcpartyId].length
656
+ return this.getDataOwner(hcpartyId).then(({ dataOwner: hcp }) => (delegations[hcpartyId] && delegations[hcpartyId].length
656
657
  ? this.decryptAndImportAesHcPartyKeysInDelegations(hcpartyId, delegations, false).then((decryptedAndImportedAesHcPartyKeys) => {
657
658
  const collatedAesKeysFromDelegatorToHcpartyId = {};
658
659
  decryptedAndImportedAesHcPartyKeys.forEach((k) => (collatedAesKeysFromDelegatorToHcpartyId[k.delegatorId] = k));
@@ -678,7 +679,7 @@ class IccCryptoXApi {
678
679
  extractKeysFromDelegationsForHcpHierarchy(
679
680
  //TODO suggested name: getSecretIdsOfHcpAndParentsFromGenericDelegations
680
681
  hcpartyId, objectId, delegations) {
681
- return this.getHcpOrPatient(hcpartyId).then((hcp) => (delegations[hcpartyId] && delegations[hcpartyId].length
682
+ return this.getDataOwner(hcpartyId).then(({ dataOwner: hcp }) => (delegations[hcpartyId] && delegations[hcpartyId].length
682
683
  ? this.decryptAndImportAesHcPartyKeysInDelegations(hcpartyId, delegations, false).then((decryptedAndImportedAesHcPartyKeys) => {
683
684
  const collatedAesKeysFromDelegatorToHcpartyId = {};
684
685
  decryptedAndImportedAesHcPartyKeys.forEach((k) => (collatedAesKeysFromDelegatorToHcpartyId[k.delegatorId] = k));
@@ -741,8 +742,8 @@ class IccCryptoXApi {
741
742
  return Promise.all(decryptPromises).then((genericSecretId) => genericSecretId.filter((id) => !!id));
742
743
  }
743
744
  loadKeyPairsAsTextInBrowserLocalStorage(healthcarePartyId, privateKey) {
744
- return this.getHcpOrPatient(healthcarePartyId)
745
- .then((hcpOrPat) => hcpOrPat.publicKey)
745
+ return this.getDataOwner(healthcarePartyId)
746
+ .then(({ dataOwner }) => dataOwner.publicKey)
746
747
  .then((publicKey) => {
747
748
  if (!publicKey) {
748
749
  throw new Error('No public key has been defined for hcp');
@@ -922,16 +923,7 @@ class IccCryptoXApi {
922
923
  }
923
924
  generateKeyForDelegate(ownerId, delegateId) {
924
925
  //Preload hcp and patient because we need them and they are going to be invalidated from the caches
925
- return this._utils.notConcurrent(this.generateKeyConcurrencyMap, ownerId, () => Promise.all([
926
- this.hcpartyBaseApi
927
- .getHealthcareParty(ownerId, true)
928
- .then((x) => ({ type: 'hcp', hcpOrPat: x }))
929
- .catch(() => this.patientBaseApi.getPatient(ownerId).then((x) => ({ type: 'patient', hcpOrPat: x }))),
930
- this.hcpartyBaseApi
931
- .getHealthcareParty(delegateId, true)
932
- .then((x) => ({ type: 'hcp', hcpOrPat: x }))
933
- .catch(() => this.patientBaseApi.getPatient(delegateId).then((x) => ({ type: 'patient', hcpOrPat: x }))),
934
- ]).then(([{ type: ownerType, hcpOrPat: owner }, { hcpOrPat: delegate }]) => {
926
+ return this._utils.notConcurrent(this.generateKeyConcurrencyMap, ownerId, () => Promise.all([this.getDataOwner(ownerId), this.getDataOwner(delegateId)]).then(([{ type: ownerType, dataOwner: owner }, { dataOwner: delegate }]) => {
935
927
  if ((owner.hcPartyKeys || {})[delegateId]) {
936
928
  return owner;
937
929
  }
@@ -954,7 +946,9 @@ class IccCryptoXApi {
954
946
  .then(() => {
955
947
  ownerType === 'hcp'
956
948
  ? this.hcpartyBaseApi.modifyHealthcareParty(owner).then((hcp) => resolve(['hcp', hcp]))
957
- : this.patientBaseApi.modifyPatient(owner).then((pat) => resolve(['patient', pat]));
949
+ : ownerType === 'patient'
950
+ ? this.hcpartyBaseApi.modifyHealthcareParty(owner).then((hcp) => resolve(['patient', hcp]))
951
+ : this.deviceBaseApi.updateDevice(owner).then((dev) => resolve(['device', dev]));
958
952
  })
959
953
  .catch((e) => reject(e))
960
954
  : reject(new Error(`Missing public key for delegate ${delegateId}`));
@@ -965,6 +959,13 @@ class IccCryptoXApi {
965
959
  return genProm.then((res) => res[1]);
966
960
  }));
967
961
  }
962
+ getDataOwner(ownerId) {
963
+ return this.hcpartyBaseApi
964
+ .getHealthcareParty(ownerId, true)
965
+ .then((x) => ({ type: 'hcp', dataOwner: x }))
966
+ .catch(() => this.deviceBaseApi.getDevice(ownerId).then((x) => ({ type: 'device', dataOwner: x })))
967
+ .catch(() => this.patientBaseApi.getPatient(ownerId).then((x) => ({ type: 'patient', dataOwner: x })));
968
+ }
968
969
  // noinspection JSUnusedGlobalSymbols
969
970
  checkPrivateKeyValidity(hcp) {
970
971
  return new Promise((resolve) => {
@@ -1 +1 @@
1
- {"version":3,"file":"icc-crypto-x-api.js","sourceRoot":"","sources":["../../icc-x-api/icc-crypto-x-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"icc-crypto-x-api.js","sourceRoot":"","sources":["../../icc-x-api/icc-crypto-x-api.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,7 @@ const icc_message_x_api_1 = require("./icc-message-x-api");
27
27
  const icc_receipt_x_api_1 = require("./icc-receipt-x-api");
28
28
  const icc_accesslog_x_api_1 = require("./icc-accesslog-x-api");
29
29
  const icc_time_table_x_api_1 = require("./icc-time-table-x-api");
30
+ const IccDeviceApi_1 = require("../icc-api/api/IccDeviceApi");
30
31
  __exportStar(require("./icc-accesslog-x-api"), exports);
31
32
  __exportStar(require("./icc-bekmehr-x-api"), exports);
32
33
  __exportStar(require("./icc-calendar-item-x-api"), exports);
@@ -65,7 +66,7 @@ const Api = function (host, username, password, crypto = typeof window !== 'unde
65
66
  const entityReferenceApi = new icc_api_1.IccEntityrefApi(host, headers, fetchImpl);
66
67
  const userApi = new icc_user_x_api_1.IccUserXApi(host, headers, fetchImpl);
67
68
  const healthcarePartyApi = new icc_hcparty_x_api_1.IccHcpartyXApi(host, headers, fetchImpl);
68
- const cryptoApi = new icc_crypto_x_api_1.IccCryptoXApi(host, headers, healthcarePartyApi, new icc_api_1.IccPatientApi(host, headers, fetchImpl), crypto);
69
+ const cryptoApi = new icc_crypto_x_api_1.IccCryptoXApi(host, headers, healthcarePartyApi, new icc_api_1.IccPatientApi(host, headers, fetchImpl), new IccDeviceApi_1.IccDeviceApi(host, headers, fetchImpl), crypto);
69
70
  const accessLogApi = new icc_accesslog_x_api_1.IccAccesslogXApi(host, headers, cryptoApi, fetchImpl);
70
71
  const contactApi = new icc_contact_x_api_1.IccContactXApi(host, headers, cryptoApi, fetchImpl);
71
72
  const formApi = new icc_form_x_api_1.IccFormXApi(host, headers, cryptoApi, fetchImpl);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../icc-x-api/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../icc-x-api/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare function packOther(...args: string[]): string;
2
+ export declare type Asn1Item = number | string | Asn1Item[];
3
+ export declare function pack(arr: Asn1Item[]): string;
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ // Copyright 2018 AJ ONeal. All rights reserved
3
+ /* This Source Code Form is subject to the terms of the Mozilla Public
4
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
5
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
6
+ *
7
+ * Ported to Typescript by iCure sa */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.pack = exports.packOther = void 0;
10
+ const numToHex = function (d) {
11
+ const ds = d.toString(16);
12
+ if (ds.length % 2) {
13
+ return '0' + ds;
14
+ }
15
+ return ds;
16
+ };
17
+ //
18
+ // Packer
19
+ //
20
+ // Almost every ASN.1 type that's important for CSR
21
+ // can be represented generically with only a few rules.
22
+ function packOther(...args) {
23
+ const typ = args.shift();
24
+ const str = args.join('').replace(/\s+/g, '').toLowerCase();
25
+ var len = str.length / 2;
26
+ var lenlen = 0;
27
+ var hex = typ;
28
+ // We can't have an odd number of hex chars
29
+ if (len !== Math.round(len)) {
30
+ throw new Error('invalid hex');
31
+ }
32
+ // The first byte of any ASN.1 sequence is the type (Sequence, Integer, etc)
33
+ // The second byte is either the size of the value, or the size of its size
34
+ // 1. If the second byte is < 0x80 (128) it is considered the size
35
+ // 2. If it is > 0x80 then it describes the number of bytes of the size
36
+ // ex: 0x82 means the next 2 bytes describe the size of the value
37
+ // 3. The special case of exactly 0x80 is "indefinite" length (to end-of-file)
38
+ if (len > 127) {
39
+ lenlen += 1;
40
+ while (len > 255) {
41
+ lenlen += 1;
42
+ len = len >> 8;
43
+ }
44
+ }
45
+ if (lenlen) {
46
+ hex += numToHex(0x80 + lenlen);
47
+ }
48
+ return hex + numToHex(str.length / 2) + str;
49
+ }
50
+ exports.packOther = packOther;
51
+ // The Integer type has some special rules
52
+ function packUInt(...arr) {
53
+ const str = arr.join('');
54
+ const first = parseInt(str.slice(0, 2), 16);
55
+ // If the first byte is 0x80 or greater, the number is considered negative
56
+ // Therefore we add a '00' prefix if the 0x80 bit is set
57
+ return 0x80 & first ? packOther('02', '00' + str) : packOther('02', str);
58
+ }
59
+ // The Bit String type also has a special rule
60
+ function packBitStr(...arr) {
61
+ var str = arr.join('');
62
+ // '00' is a mask of how many bits of the next byte to ignore
63
+ return packOther('03', '00' + str);
64
+ }
65
+ function pack(arr) {
66
+ var typ = numToHex(arr[0]);
67
+ var str = '';
68
+ if (arr[1]) {
69
+ if (Array.isArray(arr[1])) {
70
+ arr[1].forEach((a) => (str += pack(a)));
71
+ }
72
+ else if ('string' === typeof arr[1]) {
73
+ str = arr[1];
74
+ }
75
+ else {
76
+ throw new Error('unexpected item');
77
+ }
78
+ }
79
+ const packed = '03' === typ ? packBitStr(str) : '02' === typ ? packUInt(str) : packOther(typ, str);
80
+ return packed;
81
+ }
82
+ exports.pack = pack;
83
+ //# sourceMappingURL=asn1-packer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asn1-packer.js","sourceRoot":"","sources":["../../../icc-x-api/utils/asn1-packer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export declare type Asn1 = {
2
+ type: number;
3
+ lengthSize: number;
4
+ length: number;
5
+ children?: Asn1[];
6
+ value?: Uint8Array;
7
+ };
8
+ export declare function parseAsn1(buf: Uint8Array, depth?: number[], eager?: boolean): Asn1;
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+ // Copyright 2018 AJ ONeal. All rights reserved
3
+ /* This Source Code Form is subject to the terms of the Mozilla Public
4
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
5
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6
+ //
7
+ // Parser
8
+ //
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.parseAsn1 = void 0;
11
+ // Although I've only seen 9 max in https certificates themselves,
12
+ // but each domain list could have up to 100
13
+ const ELOOPN = 102;
14
+ const ELOOP = 'ujs Error: iterated over ' + ELOOPN + '+ elements (probably a malformed file)';
15
+ // I've seen https certificates go 29 deep
16
+ const EDEEPN = 60;
17
+ const EDEEP = 'ujs Error: element nested ' + EDEEPN + '+ layers deep (probably a malformed file)';
18
+ // Container Types are Sequence 0x30, Container Array? (0xA0, 0xA1)
19
+ // Value Types are Boolean 0x01, Integer 0x02, Null 0x05, Object ID 0x06, String 0x0C, 0x16, 0x13, 0x1e Value Array? (0x82)
20
+ // Bit String (0x03) and Octet String (0x04) may be values or containers
21
+ // Sometimes Bit String is used as a container (RSA Pub Spki)
22
+ const CTYPES = [0x30, 0x31, 0xa0, 0xa1];
23
+ const VTYPES = [0x01, 0x02, 0x05, 0x06, 0x0c, 0x82];
24
+ const numToHex = (d) => {
25
+ const dh = d.toString(16);
26
+ if (dh.length % 2) {
27
+ return '0' + dh;
28
+ }
29
+ return dh;
30
+ };
31
+ const bufToHex = (u8) => {
32
+ var hex = [];
33
+ var i, h;
34
+ var len = u8.byteLength || u8.length;
35
+ for (i = 0; i < len; i += 1) {
36
+ h = u8[i].toString(16);
37
+ if (h.length % 2) {
38
+ h = '0' + h;
39
+ }
40
+ hex.push(h);
41
+ }
42
+ return hex.join('').toLowerCase();
43
+ };
44
+ const _replacer = function (k, v) {
45
+ if ('type' === k) {
46
+ return '0x' + numToHex(v);
47
+ }
48
+ if (v && 'value' === k) {
49
+ return '0x' + bufToHex(v.data || v);
50
+ }
51
+ return v;
52
+ };
53
+ function parseAsn1(buf, depth = [], eager = false) {
54
+ if (depth.length >= EDEEPN) {
55
+ throw new Error(EDEEP);
56
+ }
57
+ var index = 2; // we know, at minimum, data starts after type (0) and lengthSize (1)
58
+ var asn1 = { type: buf[0], lengthSize: 0, length: buf[1] };
59
+ var child;
60
+ var iters = 0;
61
+ var adjust = 0;
62
+ var adjustedLen;
63
+ // Determine how many bytes the length uses, and what it is
64
+ if (0x80 & asn1.length) {
65
+ asn1.lengthSize = 0x7f & asn1.length;
66
+ // I think that buf->hex->int solves the problem of Endianness... not sure
67
+ asn1.length = parseInt(bufToHex(buf.slice(index, index + asn1.lengthSize)), 16);
68
+ index += asn1.lengthSize;
69
+ }
70
+ // High-order bit Integers have a leading 0x00 to signify that they are positive.
71
+ // Bit Streams use the first byte to signify padding, which x.509 doesn't use.
72
+ if (0x00 === buf[index] && (0x02 === asn1.type || 0x03 === asn1.type)) {
73
+ // However, 0x00 on its own is a valid number
74
+ if (asn1.length > 1) {
75
+ index += 1;
76
+ adjust = -1;
77
+ }
78
+ }
79
+ adjustedLen = asn1.length + adjust;
80
+ function parseChildren(eager) {
81
+ asn1.children = [];
82
+ //console.warn('1 len:', (2 + asn1.lengthSize + asn1.length), 'idx:', index, 'clen:', 0);
83
+ while (iters < ELOOPN && index < 2 + asn1.length + asn1.lengthSize) {
84
+ iters += 1;
85
+ depth.length += 1;
86
+ child = parseAsn1(buf.slice(index, index + adjustedLen), depth, eager);
87
+ depth.length -= 1;
88
+ // The numbers don't match up exactly and I don't remember why...
89
+ // probably something with adjustedLen or some such, but the tests pass
90
+ index += 2 + child.lengthSize + child.length;
91
+ //console.warn('2 len:', (2 + asn1.lengthSize + asn1.length), 'idx:', index, 'clen:', (2 + child.lengthSize + child.length));
92
+ if (index > 2 + asn1.lengthSize + asn1.length) {
93
+ if (!eager) {
94
+ console.error(JSON.stringify(asn1, _replacer, 2));
95
+ }
96
+ throw new Error('Parse error: child value length (' +
97
+ child.length +
98
+ ') is greater than remaining parent length (' +
99
+ (asn1.length - index) +
100
+ ' = ' +
101
+ asn1.length +
102
+ ' - ' +
103
+ index +
104
+ ')');
105
+ }
106
+ asn1.children.push(child);
107
+ //console.warn(depth.join(ws) + '0x' + Enc.numToHex(asn1.type), index, 'len:', asn1.length, asn1);
108
+ }
109
+ if (index !== 2 + asn1.lengthSize + asn1.length) {
110
+ //console.warn('index:', index, 'length:', (2 + asn1.lengthSize + asn1.length));
111
+ throw new Error('premature end-of-file');
112
+ }
113
+ if (iters >= ELOOPN) {
114
+ throw new Error(ELOOP);
115
+ }
116
+ delete asn1.value;
117
+ return asn1;
118
+ }
119
+ // Recurse into types that are _always_ containers
120
+ if (-1 !== CTYPES.indexOf(asn1.type)) {
121
+ return parseChildren(eager);
122
+ }
123
+ // Return types that are _always_ values
124
+ asn1.value = buf.slice(index, index + adjustedLen);
125
+ if (-1 !== VTYPES.indexOf(asn1.type)) {
126
+ return asn1;
127
+ }
128
+ // For ambigious / unknown types, recurse and return on failure
129
+ // (and return child array size to zero)
130
+ try {
131
+ return parseChildren(true);
132
+ }
133
+ catch (e) {
134
+ asn1.children && (asn1.children.length = 0);
135
+ return asn1;
136
+ }
137
+ }
138
+ exports.parseAsn1 = parseAsn1;
139
+ //# sourceMappingURL=asn1-parser.js.map