@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.
- package/icc-x-api/crypto/utils.d.ts +3 -3
- package/icc-x-api/crypto/utils.js +78 -111
- package/icc-x-api/crypto/utils.js.map +1 -1
- package/icc-x-api/icc-contact-x-api.d.ts +3 -1
- package/icc-x-api/icc-contact-x-api.js +8 -0
- package/icc-x-api/icc-contact-x-api.js.map +1 -1
- package/icc-x-api/icc-crypto-x-api.d.ts +5 -2
- package/icc-x-api/icc-crypto-x-api.js +27 -26
- package/icc-x-api/icc-crypto-x-api.js.map +1 -1
- package/icc-x-api/index.js +2 -1
- package/icc-x-api/index.js.map +1 -1
- package/icc-x-api/utils/asn1-packer.d.ts +3 -0
- package/icc-x-api/utils/asn1-packer.js +83 -0
- package/icc-x-api/utils/asn1-packer.js.map +1 -0
- package/icc-x-api/utils/asn1-parser.d.ts +8 -0
- package/icc-x-api/utils/asn1-parser.js +139 -0
- package/icc-x-api/utils/asn1-parser.js.map +1 -0
- package/icc-x-api/utils/functional-util.d.ts +1 -0
- package/icc-x-api/utils/functional-util.js +9 -0
- package/icc-x-api/utils/functional-util.js.map +1 -0
- package/icc-x-api/utils/index.d.ts +1 -0
- package/icc-x-api/utils/index.js +1 -0
- package/icc-x-api/utils/index.js.map +1 -1
- package/index.d.ts +1 -1
- package/index.js +1 -1
- package/index.js.map +1 -1
- package/package.json +1 -1
- package/icc-x-api/utils/asn1.d.ts +0 -53
- package/icc-x-api/utils/asn1.js +0 -510
- package/icc-x-api/utils/asn1.js.map +0 -1
|
@@ -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.
|
|
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.
|
|
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.
|
|
360
|
-
.then((owner) => this.getOrCreateHcPartyKey(owner,
|
|
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.
|
|
484
|
-
.then((owner) => this.getOrCreateHcPartyKey(owner,
|
|
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.
|
|
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.
|
|
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.
|
|
745
|
-
.then((
|
|
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
|
-
:
|
|
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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"}
|
package/icc-x-api/index.js
CHANGED
|
@@ -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);
|
package/icc-x-api/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../icc-x-api/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,wCAAqG;AACrG,qDAA8C;AAC9C,yDAAkD;AAClD,2DAAoD;AACpD,2DAAoD;AACpD,6DAAsD;AACtD,2DAAoD;AACpD,qDAA8C;AAC9C,6DAAsD;AACtD,yEAAkE;AAClE,uEAA+D;AAC/D,2DAAoD;AACpD,2DAAoD;AACpD,2DAAoD;AACpD,+DAAwD;AACxD,iEAAyD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../icc-x-api/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":";AAAA,+CAA+C;AAC/C;;;;sCAIsC;;;AAEtC,MAAM,QAAQ,GAAG,UAAU,CAAS;IAClC,MAAM,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;IACzB,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;QACjB,OAAO,GAAG,GAAG,EAAE,CAAA;KAChB;IACD,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAED,EAAE;AACF,SAAS;AACT,EAAE;AACF,mDAAmD;AACnD,wDAAwD;AACxD,SAAgB,SAAS,CAAC,GAAG,IAAc;IACzC,MAAM,GAAG,GAAW,IAAI,CAAC,KAAK,EAAG,CAAA;IACjC,MAAM,GAAG,GAAW,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;IACnE,IAAI,GAAG,GAAW,GAAG,CAAC,MAAM,GAAG,CAAC,CAAA;IAChC,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,IAAI,GAAG,GAAG,GAAG,CAAA;IAEb,2CAA2C;IAC3C,IAAI,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAA;KAC/B;IAED,4EAA4E;IAC5E,2EAA2E;IAC3E,kEAAkE;IAClE,uEAAuE;IACvE,oEAAoE;IACpE,8EAA8E;IAC9E,IAAI,GAAG,GAAG,GAAG,EAAE;QACb,MAAM,IAAI,CAAC,CAAA;QACX,OAAO,GAAG,GAAG,GAAG,EAAE;YAChB,MAAM,IAAI,CAAC,CAAA;YACX,GAAG,GAAG,GAAG,IAAI,CAAC,CAAA;SACf;KACF;IAED,IAAI,MAAM,EAAE;QACV,GAAG,IAAI,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,CAAA;KAC/B;IACD,OAAO,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;AAC7C,CAAC;AA9BD,8BA8BC;AAED,0CAA0C;AAC1C,SAAS,QAAQ,CAAC,GAAG,GAAa;IAChC,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACxB,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAE3C,0EAA0E;IAC1E,wDAAwD;IACxD,OAAO,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;AAC1E,CAAC;AAED,8CAA8C;AAC9C,SAAS,UAAU,CAAC,GAAG,GAAa;IAClC,IAAI,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACtB,6DAA6D;IAC7D,OAAO,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,GAAG,CAAC,CAAA;AACpC,CAAC;AAID,SAAgB,IAAI,CAAC,GAAe;IAClC,IAAI,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAW,CAAC,CAAA;IACpC,IAAI,GAAG,GAAG,EAAE,CAAA;IACZ,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE;QACV,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;YACzB,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,CAAe,CAAC,CAAC,CAAC,CAAA;SACtD;aAAM,IAAI,QAAQ,KAAK,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE;YACrC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;SACb;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;SACnC;KACF;IACD,MAAM,MAAM,GAAG,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAElG,OAAO,MAAM,CAAA;AACf,CAAC;AAfD,oBAeC"}
|
|
@@ -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
|