@nmshd/transport 6.61.0-secureelements.5 → 6.61.0

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.
Files changed (50) hide show
  1. package/dist/buildInformation.js +5 -5
  2. package/dist/core/CoreCrypto.d.ts +1 -45
  3. package/dist/core/CoreCrypto.d.ts.map +1 -1
  4. package/dist/core/CoreCrypto.js +0 -64
  5. package/dist/core/CoreCrypto.js.map +1 -1
  6. package/dist/core/Transport.d.ts +0 -3
  7. package/dist/core/Transport.d.ts.map +1 -1
  8. package/dist/core/Transport.js +1 -3
  9. package/dist/core/Transport.js.map +1 -1
  10. package/dist/core/TransportController.d.ts +1 -0
  11. package/dist/core/TransportController.d.ts.map +1 -1
  12. package/dist/core/TransportController.js +1 -0
  13. package/dist/core/TransportController.js.map +1 -1
  14. package/dist/core/TransportCoreErrors.d.ts +6 -0
  15. package/dist/core/TransportCoreErrors.d.ts.map +1 -1
  16. package/dist/core/TransportCoreErrors.js +12 -0
  17. package/dist/core/TransportCoreErrors.js.map +1 -1
  18. package/dist/core/index.d.ts +0 -1
  19. package/dist/core/index.d.ts.map +1 -1
  20. package/dist/core/index.js +0 -1
  21. package/dist/core/index.js.map +1 -1
  22. package/dist/modules/accounts/AccountController.d.ts +2 -0
  23. package/dist/modules/accounts/AccountController.d.ts.map +1 -1
  24. package/dist/modules/accounts/AccountController.js +14 -58
  25. package/dist/modules/accounts/AccountController.js.map +1 -1
  26. package/dist/modules/backboneNotifications/BackboneNotificationsController.d.ts +13 -0
  27. package/dist/modules/backboneNotifications/BackboneNotificationsController.d.ts.map +1 -0
  28. package/dist/modules/backboneNotifications/BackboneNotificationsController.js +42 -0
  29. package/dist/modules/backboneNotifications/BackboneNotificationsController.js.map +1 -0
  30. package/dist/modules/backboneNotifications/backbone/BackboneNotificationsClient.d.ts +9 -0
  31. package/dist/modules/backboneNotifications/backbone/BackboneNotificationsClient.d.ts.map +1 -0
  32. package/dist/modules/backboneNotifications/backbone/BackboneNotificationsClient.js +11 -0
  33. package/dist/modules/backboneNotifications/backbone/BackboneNotificationsClient.js.map +1 -0
  34. package/dist/modules/devices/DeviceController.d.ts +2 -2
  35. package/dist/modules/devices/DeviceController.d.ts.map +1 -1
  36. package/dist/modules/devices/DeviceController.js +1 -1
  37. package/dist/modules/devices/DeviceController.js.map +1 -1
  38. package/dist/modules/devices/DeviceSecretController.d.ts +2 -2
  39. package/dist/modules/devices/DeviceSecretController.d.ts.map +1 -1
  40. package/dist/modules/devices/DeviceSecretController.js +6 -23
  41. package/dist/modules/devices/DeviceSecretController.js.map +1 -1
  42. package/dist/modules/index.d.ts +1 -0
  43. package/dist/modules/index.d.ts.map +1 -1
  44. package/dist/modules/index.js +1 -0
  45. package/dist/modules/index.js.map +1 -1
  46. package/package.json +9 -11
  47. package/dist/core/CryptoProviderMapping.d.ts +0 -50
  48. package/dist/core/CryptoProviderMapping.d.ts.map +0 -1
  49. package/dist/core/CryptoProviderMapping.js +0 -142
  50. package/dist/core/CryptoProviderMapping.js.map +0 -1
@@ -1,142 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CryptoProviderMapping = exports.ALL_CRYPTO_PROVIDERS = exports.DEFAULT_CRYPTO_OPERATION_PREFERENCES = exports.CryptoObject = exports.CryptoKeyType = exports.CryptoPurpose = exports.CryptoProviderTypes = void 0;
4
- /* eslint-disable @typescript-eslint/naming-convention */
5
- const crypto_1 = require("@nmshd/crypto");
6
- const CoreCrypto_1 = require("./CoreCrypto");
7
- exports.CryptoProviderTypes = {
8
- Software: "Software",
9
- Hardware: "Hardware",
10
- Network: "Network",
11
- Legacy: "Legacy"
12
- };
13
- exports.CryptoPurpose = {
14
- DeviceKeyPair: "deviceKeyPair",
15
- BaseKey: "baseKey"
16
- };
17
- exports.CryptoKeyType = {
18
- Signature: "signature",
19
- Encryption: "encryption",
20
- Derivation: "derivation",
21
- Exchange: "exchange"
22
- };
23
- exports.CryptoObject = {
24
- AccountController: "AccountController",
25
- AnonymousTokenController: "AnonymousTokenController",
26
- Certificate: "Certificate",
27
- DeviceController: "DeviceController",
28
- DeviceSecretController: "DeviceSecretController",
29
- IdentityController: "IdentityController",
30
- FileController: "FileController",
31
- MessageController: "MessageController",
32
- RelationshipTemplateController: "RelationshipTemplateController",
33
- RelationshipsController: "RelationshipsController",
34
- RelationshipSecretController: "RelationshipSecretController",
35
- SecretController: "SecretController",
36
- TokenController: "TokenController"
37
- };
38
- exports.DEFAULT_CRYPTO_OPERATION_PREFERENCES = {
39
- [exports.CryptoObject.AccountController]: {},
40
- [exports.CryptoObject.AnonymousTokenController]: {},
41
- [exports.CryptoObject.Certificate]: {},
42
- [exports.CryptoObject.DeviceController]: {},
43
- [exports.CryptoObject.DeviceSecretController]: {},
44
- [exports.CryptoObject.FileController]: {
45
- [exports.CryptoKeyType.Encryption]: exports.CryptoProviderTypes.Software
46
- },
47
- [exports.CryptoObject.IdentityController]: {},
48
- [exports.CryptoObject.MessageController]: {
49
- [exports.CryptoKeyType.Encryption]: exports.CryptoProviderTypes.Software
50
- },
51
- [exports.CryptoObject.RelationshipTemplateController]: {
52
- [exports.CryptoKeyType.Encryption]: exports.CryptoProviderTypes.Software
53
- },
54
- [exports.CryptoObject.RelationshipsController]: {},
55
- [exports.CryptoObject.RelationshipSecretController]: {},
56
- [exports.CryptoObject.SecretController]: {
57
- [exports.CryptoKeyType.Exchange]: exports.CryptoProviderTypes.Software
58
- },
59
- [exports.CryptoObject.TokenController]: {
60
- [exports.CryptoKeyType.Encryption]: exports.CryptoProviderTypes.Software
61
- }
62
- };
63
- // To be removed after initialization of ts-crypto is adjusted
64
- exports.ALL_CRYPTO_PROVIDERS = ["SoftwareProvider"];
65
- class CryptoProviderMapping {
66
- static { this.ALLOWED_CRYPTO_OPERATIONS = {
67
- [exports.CryptoObject.AccountController]: [exports.CryptoKeyType.Encryption, exports.CryptoKeyType.Signature],
68
- [exports.CryptoObject.AnonymousTokenController]: [exports.CryptoKeyType.Derivation],
69
- [exports.CryptoObject.Certificate]: [exports.CryptoKeyType.Encryption],
70
- [exports.CryptoObject.DeviceController]: [exports.CryptoKeyType.Signature, exports.CryptoKeyType.Encryption],
71
- [exports.CryptoObject.DeviceSecretController]: [exports.CryptoKeyType.Derivation],
72
- [exports.CryptoObject.FileController]: [exports.CryptoKeyType.Encryption],
73
- [exports.CryptoObject.IdentityController]: [exports.CryptoKeyType.Encryption],
74
- [exports.CryptoObject.MessageController]: [exports.CryptoKeyType.Encryption],
75
- [exports.CryptoObject.RelationshipTemplateController]: [exports.CryptoKeyType.Derivation, exports.CryptoKeyType.Encryption],
76
- [exports.CryptoObject.RelationshipsController]: [exports.CryptoKeyType.Encryption],
77
- [exports.CryptoObject.RelationshipSecretController]: [exports.CryptoKeyType.Encryption],
78
- [exports.CryptoObject.SecretController]: [exports.CryptoKeyType.Encryption],
79
- [exports.CryptoObject.TokenController]: [exports.CryptoKeyType.Encryption]
80
- }; }
81
- static { this.DEFAULT_OPERATION_PREFERENCES = {
82
- [exports.CryptoKeyType.Derivation]: exports.CryptoProviderTypes.Software,
83
- [exports.CryptoKeyType.Signature]: exports.CryptoProviderTypes.Hardware,
84
- [exports.CryptoKeyType.Encryption]: exports.CryptoProviderTypes.Hardware,
85
- [exports.CryptoKeyType.Exchange]: exports.CryptoProviderTypes.Software
86
- }; }
87
- static { this.FALLBACK_PREFERENCE = exports.CryptoProviderTypes.Software; }
88
- constructor(preferences = exports.DEFAULT_CRYPTO_OPERATION_PREFERENCES) {
89
- this._objectOperationPreferences = preferences;
90
- }
91
- getPreferredProviderLevel(cryptoObject, cryptoOperation, purpose) {
92
- const allowedOps = CryptoProviderMapping.ALLOWED_CRYPTO_OPERATIONS[cryptoObject];
93
- if (allowedOps && !allowedOps.includes(cryptoOperation)) {
94
- throw new Error(`Operation '${cryptoOperation}' is not supported for object '${cryptoObject}'.`);
95
- }
96
- let chosenSecurityLevel;
97
- const objectPrefs = this._objectOperationPreferences[cryptoObject];
98
- if (objectPrefs) {
99
- const operationPrefOrMap = objectPrefs[cryptoOperation];
100
- if (operationPrefOrMap) {
101
- if (typeof operationPrefOrMap === "object") {
102
- if (purpose && operationPrefOrMap[purpose]) {
103
- chosenSecurityLevel = operationPrefOrMap[purpose];
104
- }
105
- }
106
- else {
107
- chosenSecurityLevel = operationPrefOrMap;
108
- }
109
- }
110
- }
111
- if (!chosenSecurityLevel) {
112
- const operationPref = CryptoProviderMapping.DEFAULT_OPERATION_PREFERENCES[cryptoOperation];
113
- chosenSecurityLevel = operationPref ?? CryptoProviderMapping.FALLBACK_PREFERENCE;
114
- }
115
- if (!(0, crypto_1.hasProviderForSecurityLevel)(chosenSecurityLevel)) {
116
- if (chosenSecurityLevel !== CryptoProviderMapping.FALLBACK_PREFERENCE && !(0, crypto_1.hasProviderForSecurityLevel)(CryptoProviderMapping.FALLBACK_PREFERENCE)) {
117
- throw new Error(`No provider available for either ${chosenSecurityLevel} or fallback ${CryptoProviderMapping.FALLBACK_PREFERENCE} for operation ${cryptoOperation}.`);
118
- }
119
- return CryptoProviderMapping.FALLBACK_PREFERENCE;
120
- }
121
- return chosenSecurityLevel;
122
- }
123
- async getPreferredProviderKeyHandle(cryptoObject, cryptoOperation, isPortable, purpose) {
124
- const securityLevel = this.getPreferredProviderLevel(cryptoObject, cryptoOperation, purpose);
125
- switch (securityLevel) {
126
- case exports.CryptoProviderTypes.Hardware:
127
- if (isPortable) {
128
- return await CoreCrypto_1.CoreCrypto.generatePortableKeyHandle({ securityLevel: "Software" });
129
- }
130
- return await CoreCrypto_1.CoreCrypto.generateDeviceBoundKeyHandle({ securityLevel: "Software" });
131
- case exports.CryptoProviderTypes.Software:
132
- if (isPortable) {
133
- return await CoreCrypto_1.CoreCrypto.generatePortableKeyHandle({ securityLevel });
134
- }
135
- return await CoreCrypto_1.CoreCrypto.generateDeviceBoundKeyHandle({ securityLevel });
136
- default:
137
- throw new Error(`Unsupported SecurityLevel '${securityLevel}' encountered for key handle generation.`);
138
- }
139
- }
140
- }
141
- exports.CryptoProviderMapping = CryptoProviderMapping;
142
- //# sourceMappingURL=CryptoProviderMapping.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CryptoProviderMapping.js","sourceRoot":"","sources":["../../src/core/CryptoProviderMapping.ts"],"names":[],"mappings":"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"}