@nmshd/crypto 2.2.0-alpha.3 → 2.2.0-alpha.4
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/dist/buildInformation.js +4 -4
- package/dist/crypto-layer/CryptoDerivationHandle.d.ts +2 -2
- package/dist/crypto-layer/CryptoDerivationHandle.js.map +1 -1
- package/dist/crypto-layer/CryptoLayerConfig.d.ts +15 -13
- package/dist/crypto-layer/CryptoLayerConfig.js +46 -0
- package/dist/crypto-layer/CryptoLayerConfig.js.map +1 -1
- package/dist/crypto-layer/CryptoLayerProviders.d.ts +31 -10
- package/dist/crypto-layer/CryptoLayerProviders.js +171 -65
- package/dist/crypto-layer/CryptoLayerProviders.js.map +1 -1
- package/dist/crypto-layer/CryptoLayerUtils.js +2 -0
- package/dist/crypto-layer/CryptoLayerUtils.js.map +1 -1
- package/dist/crypto-layer/encryption/CryptoEncryptionHandle.d.ts +6 -6
- package/dist/crypto-layer/encryption/CryptoEncryptionHandle.js.map +1 -1
- package/dist/crypto-layer/index.d.ts +2 -0
- package/dist/crypto-layer/index.js +2 -0
- package/dist/crypto-layer/index.js.map +1 -1
- package/dist/crypto-layer/signature/CryptoSignaturesHandle.d.ts +8 -0
- package/dist/crypto-layer/signature/CryptoSignaturesHandle.js +31 -0
- package/dist/crypto-layer/signature/CryptoSignaturesHandle.js.map +1 -0
- package/dist/crypto-layer/signature/DeviceBoundKeyPairHandle.d.ts +19 -0
- package/dist/crypto-layer/signature/DeviceBoundKeyPairHandle.js +61 -0
- package/dist/crypto-layer/signature/DeviceBoundKeyPairHandle.js.map +1 -0
- package/dist/signature/CryptoSignatureAlgorithm.d.ts +2 -1
- package/dist/signature/CryptoSignatures.js +2 -0
- package/dist/signature/CryptoSignatures.js.map +1 -1
- package/package.json +1 -1
package/dist/buildInformation.js
CHANGED
|
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.buildInformation = void 0;
|
|
4
4
|
const ts_serval_1 = require("@js-soft/ts-serval");
|
|
5
5
|
exports.buildInformation = {
|
|
6
|
-
version: "2.2.0-alpha.
|
|
7
|
-
build: "
|
|
8
|
-
date: "2025-07-
|
|
9
|
-
commit: "
|
|
6
|
+
version: "2.2.0-alpha.4",
|
|
7
|
+
build: "38",
|
|
8
|
+
date: "2025-07-01T17:04:25+00:00",
|
|
9
|
+
commit: "5461a9172059d34e0f99bd60d801b8a9a34e13a6",
|
|
10
10
|
dependencies: {"@nmshd/rs-crypto-types":"^0.11.0","libsodium-wrappers-sumo":"0.7.15","uuid":"^11.1.0"},
|
|
11
11
|
libraries: {
|
|
12
12
|
serval: ts_serval_1.buildInformation
|
|
@@ -2,13 +2,13 @@ import { ICoreBuffer } from "../CoreBuffer";
|
|
|
2
2
|
import { CryptoDerivationAlgorithm } from "../CryptoDerivation";
|
|
3
3
|
import { CryptoEncryptionAlgorithm } from "../encryption/CryptoEncryption";
|
|
4
4
|
import { CryptoHashAlgorithm } from "../hash/CryptoHash";
|
|
5
|
-
import {
|
|
5
|
+
import { CryptoLayerProviderIdentifier } from "./CryptoLayerConfig";
|
|
6
6
|
import { DeviceBoundDerivedKeyHandle } from "./encryption/DeviceBoundDerivedKeyHandle";
|
|
7
7
|
import { DeviceBoundKeyHandle } from "./encryption/DeviceBoundKeyHandle";
|
|
8
8
|
import { PortableDerivedKeyHandle } from "./encryption/PortableDerivedKeyHandle";
|
|
9
9
|
import { PortableKeyHandle } from "./encryption/PortableKeyHandle";
|
|
10
10
|
export interface DeriveKeyHandleFromPasswordParameters {
|
|
11
|
-
providerIdent:
|
|
11
|
+
providerIdent: CryptoLayerProviderIdentifier;
|
|
12
12
|
password: ICoreBuffer;
|
|
13
13
|
salt: ICoreBuffer;
|
|
14
14
|
resultingKeyEncryptionAlgorithm: CryptoEncryptionAlgorithm;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CryptoDerivationHandle.js","sourceRoot":"","sources":["../../src/crypto-layer/CryptoDerivationHandle.ts"],"names":[],"mappings":";;;AAEA,8CAAwD;AAExD,gDAA6C;AAC7C,wDAAqD;AACrD,0DAAuD;
|
|
1
|
+
{"version":3,"file":"CryptoDerivationHandle.js","sourceRoot":"","sources":["../../src/crypto-layer/CryptoDerivationHandle.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { SecurityLevel } from "@nmshd/rs-crypto-types";
|
|
2
|
+
import { DeviceBoundKeyHandle } from "./encryption/DeviceBoundKeyHandle";
|
|
3
|
+
import { DeviceBoundKeyPairHandle } from "./signature/DeviceBoundKeyPairHandle";
|
|
4
|
+
export declare class CryptoLayerProviderToBeInitialized {
|
|
5
|
+
providerName: string;
|
|
6
|
+
masterEncryptionKeyHandle: DeviceBoundKeyHandle | DeviceBoundKeyPairHandle | undefined;
|
|
7
|
+
masterSignatureKeyHandle: DeviceBoundKeyHandle | DeviceBoundKeyPairHandle | undefined;
|
|
8
|
+
dependentProvider: CryptoLayerProviderToBeInitialized | undefined;
|
|
9
|
+
static new(value: {
|
|
10
|
+
providerName: string;
|
|
11
|
+
masterEncryptionKeyHandle?: DeviceBoundKeyHandle | DeviceBoundKeyPairHandle;
|
|
12
|
+
masterSignatureKeyHandle?: DeviceBoundKeyHandle | DeviceBoundKeyPairHandle;
|
|
13
|
+
dependentProvider?: CryptoLayerProviderToBeInitialized;
|
|
14
|
+
}): CryptoLayerProviderToBeInitialized;
|
|
8
15
|
}
|
|
9
|
-
|
|
10
|
-
* Reference to a specific provider, if a name is supplied, or any provider that fulfills the other requirements.
|
|
11
|
-
*/
|
|
12
|
-
export type CryptoLayerProviderToBeInitialized = {
|
|
16
|
+
export type CryptoLayerProviderIdentifier = {
|
|
13
17
|
providerName: string;
|
|
14
18
|
} | {
|
|
15
19
|
securityLevel: SecurityLevel;
|
|
16
|
-
} | {
|
|
17
|
-
providerConfig: ProviderConfig;
|
|
18
20
|
};
|
|
@@ -1,3 +1,49 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var CryptoLayerProviderToBeInitialized_1;
|
|
2
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.CryptoLayerProviderToBeInitialized = void 0;
|
|
14
|
+
const ts_serval_1 = require("@js-soft/ts-serval");
|
|
15
|
+
let CryptoLayerProviderToBeInitialized = CryptoLayerProviderToBeInitialized_1 = class CryptoLayerProviderToBeInitialized {
|
|
16
|
+
static new(value) {
|
|
17
|
+
const instance = new CryptoLayerProviderToBeInitialized_1();
|
|
18
|
+
instance.providerName = value.providerName;
|
|
19
|
+
instance.masterEncryptionKeyHandle = value.masterEncryptionKeyHandle;
|
|
20
|
+
instance.masterSignatureKeyHandle = value.masterSignatureKeyHandle;
|
|
21
|
+
instance.dependentProvider = value.dependentProvider;
|
|
22
|
+
return instance;
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
exports.CryptoLayerProviderToBeInitialized = CryptoLayerProviderToBeInitialized;
|
|
26
|
+
__decorate([
|
|
27
|
+
(0, ts_serval_1.validate)(),
|
|
28
|
+
(0, ts_serval_1.serialize)(),
|
|
29
|
+
__metadata("design:type", String)
|
|
30
|
+
], CryptoLayerProviderToBeInitialized.prototype, "providerName", void 0);
|
|
31
|
+
__decorate([
|
|
32
|
+
(0, ts_serval_1.validate)({ nullable: true }),
|
|
33
|
+
(0, ts_serval_1.serialize)(),
|
|
34
|
+
__metadata("design:type", Object)
|
|
35
|
+
], CryptoLayerProviderToBeInitialized.prototype, "masterEncryptionKeyHandle", void 0);
|
|
36
|
+
__decorate([
|
|
37
|
+
(0, ts_serval_1.validate)({ nullable: true }),
|
|
38
|
+
(0, ts_serval_1.serialize)(),
|
|
39
|
+
__metadata("design:type", Object)
|
|
40
|
+
], CryptoLayerProviderToBeInitialized.prototype, "masterSignatureKeyHandle", void 0);
|
|
41
|
+
__decorate([
|
|
42
|
+
(0, ts_serval_1.validate)({ nullable: true }),
|
|
43
|
+
(0, ts_serval_1.serialize)(),
|
|
44
|
+
__metadata("design:type", Object)
|
|
45
|
+
], CryptoLayerProviderToBeInitialized.prototype, "dependentProvider", void 0);
|
|
46
|
+
exports.CryptoLayerProviderToBeInitialized = CryptoLayerProviderToBeInitialized = CryptoLayerProviderToBeInitialized_1 = __decorate([
|
|
47
|
+
(0, ts_serval_1.type)("CryptoLayerProviderToBeInitialized")
|
|
48
|
+
], CryptoLayerProviderToBeInitialized);
|
|
3
49
|
//# sourceMappingURL=CryptoLayerConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CryptoLayerConfig.js","sourceRoot":"","sources":["../../src/crypto-layer/CryptoLayerConfig.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"CryptoLayerConfig.js","sourceRoot":"","sources":["../../src/crypto-layer/CryptoLayerConfig.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,kDAA+D;AAMxD,IAAM,kCAAkC,0CAAxC,MAAM,kCAAkC;IAiBpC,MAAM,CAAC,GAAG,CAAC,KAKjB;QACG,MAAM,QAAQ,GAAG,IAAI,oCAAkC,EAAE,CAAC;QAC1D,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;QAC3C,QAAQ,CAAC,yBAAyB,GAAG,KAAK,CAAC,yBAAyB,CAAC;QACrE,QAAQ,CAAC,wBAAwB,GAAG,KAAK,CAAC,wBAAwB,CAAC;QACnE,QAAQ,CAAC,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC;QACrD,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ,CAAA;AA9BY,gFAAkC;AAGpC;IAFN,IAAA,oBAAQ,GAAE;IACV,IAAA,qBAAS,GAAE;;wEACgB;AAIrB;IAFN,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,IAAA,qBAAS,GAAE;;qFACkF;AAIvF;IAFN,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,IAAA,qBAAS,GAAE;;oFACiF;AAItF;IAFN,IAAA,oBAAQ,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,IAAA,qBAAS,GAAE;;6EAC6D;6CAfhE,kCAAkC;IAD9C,IAAA,gBAAI,EAAC,oCAAoC,CAAC;GAC9B,kCAAkC,CA8B9C"}
|
|
@@ -1,18 +1,39 @@
|
|
|
1
|
-
import { Provider, SecurityLevel } from "@nmshd/rs-crypto-types";
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { AdditionalConfig, Provider, ProviderFactoryFunctions, SecurityLevel } from "@nmshd/rs-crypto-types";
|
|
2
|
+
import { CryptoEncryptionAlgorithm } from "../encryption/CryptoEncryption";
|
|
3
|
+
import { CryptoHashAlgorithm } from "../hash/CryptoHash";
|
|
4
|
+
import { CryptoSignatureAlgorithm } from "../signature/CryptoSignatureAlgorithm";
|
|
5
|
+
import { CryptoLayerProviderIdentifier, CryptoLayerProviderToBeInitialized } from "./CryptoLayerConfig";
|
|
6
|
+
type StorageSecuritySpec = {
|
|
7
|
+
type: "asymmetric";
|
|
8
|
+
asymmetricKeyAlgorithm: CryptoSignatureAlgorithm;
|
|
9
|
+
encryptionAlgorithm: CryptoEncryptionAlgorithm | undefined;
|
|
10
|
+
hashingAlgorithm: CryptoHashAlgorithm;
|
|
11
|
+
} | {
|
|
12
|
+
type: "symmetric";
|
|
13
|
+
encryptionAlgorithm: CryptoEncryptionAlgorithm;
|
|
14
|
+
hashingAlgorithm: CryptoHashAlgorithm;
|
|
15
|
+
};
|
|
16
|
+
interface StorageSecurityConfig {
|
|
17
|
+
name: string;
|
|
18
|
+
signature: StorageSecuritySpec;
|
|
19
|
+
encryption: StorageSecuritySpec;
|
|
20
|
+
}
|
|
21
|
+
type StorageConfig = Extract<AdditionalConfig, {
|
|
22
|
+
KVStoreConfig: any;
|
|
23
|
+
} | {
|
|
24
|
+
FileStoreConfig: any;
|
|
9
25
|
}>;
|
|
26
|
+
export declare function loadProviderFromConfig(providerConfig: CryptoLayerProviderToBeInitialized, storageConfig: StorageConfig, factoryFunctions: ProviderFactoryFunctions): Promise<void>;
|
|
27
|
+
export declare function initializeNewProviders(storageConfig: StorageConfig, factoryFunctions: ProviderFactoryFunctions, storageSecurityConfig?: StorageSecurityConfig[]): Promise<CryptoLayerProviderToBeInitialized | undefined>;
|
|
10
28
|
/**
|
|
11
|
-
* Returns an initialized provider with the given
|
|
29
|
+
* Returns an initialized provider with the given provider identifier if possible,
|
|
12
30
|
* otherwise throws {@link CryptoError} with {@link CryptoErrorCode.CalThisProviderNotInitialized}.
|
|
13
31
|
*
|
|
14
32
|
* Providers need to be initialized via the {@link initCryptoLayerProviders} function,
|
|
15
33
|
* else throws {@link CryptoError} with {@link CryptoErrorCode.CalProvidersNotInitialized}.
|
|
16
34
|
*/
|
|
17
|
-
export declare function getProvider(identifier:
|
|
35
|
+
export declare function getProvider(identifier: CryptoLayerProviderIdentifier): Provider;
|
|
18
36
|
export declare function hasProviderForSecurityLevel(securityLevel: SecurityLevel): boolean;
|
|
37
|
+
export declare function providersInitialized(): boolean;
|
|
38
|
+
export declare function clearProviders(): void;
|
|
39
|
+
export {};
|
|
@@ -1,105 +1,211 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.loadProviderFromConfig = loadProviderFromConfig;
|
|
4
|
+
exports.initializeNewProviders = initializeNewProviders;
|
|
4
5
|
exports.getProvider = getProvider;
|
|
5
6
|
exports.hasProviderForSecurityLevel = hasProviderForSecurityLevel;
|
|
7
|
+
exports.providersInitialized = providersInitialized;
|
|
8
|
+
exports.clearProviders = clearProviders;
|
|
6
9
|
const CryptoError_1 = require("../CryptoError");
|
|
7
10
|
const CryptoErrorCode_1 = require("../CryptoErrorCode");
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
11
|
+
const CryptoLayerConfig_1 = require("./CryptoLayerConfig");
|
|
12
|
+
const CryptoEncryptionHandle_1 = require("./encryption/CryptoEncryptionHandle");
|
|
13
|
+
const DeviceBoundKeyHandle_1 = require("./encryption/DeviceBoundKeyHandle");
|
|
14
|
+
const CryptoSignaturesHandle_1 = require("./signature/CryptoSignaturesHandle");
|
|
15
|
+
const DeviceBoundKeyPairHandle_1 = require("./signature/DeviceBoundKeyPairHandle");
|
|
16
|
+
const SOFTWARE_PROVIDER_NAME = "SoftwareProvider";
|
|
17
|
+
// const ANDROID_SOFTWARE_PROVIDER_NAME = "ANDROID_PROVIDER";
|
|
18
|
+
const ANDROID_HARDWARE_PROVIDER_NAME = "ANDROID_PROVIDER_SECURE_ELEMENT";
|
|
19
|
+
const APPLE_SECURE_ENCLAVE_PROVIDER_NAME = "APPLE_SECURE_ENCLAVE";
|
|
20
|
+
const DEFAULT_STORAGE_SECURITY_CONFIG = [
|
|
21
|
+
{
|
|
22
|
+
name: ANDROID_HARDWARE_PROVIDER_NAME,
|
|
23
|
+
signature: {
|
|
24
|
+
type: "asymmetric",
|
|
25
|
+
asymmetricKeyAlgorithm: 4 /* CryptoSignatureAlgorithm.RSA_2048 */,
|
|
26
|
+
encryptionAlgorithm: undefined,
|
|
27
|
+
hashingAlgorithm: 1 /* CryptoHashAlgorithm.SHA256 */
|
|
28
|
+
},
|
|
29
|
+
encryption: {
|
|
30
|
+
type: "symmetric",
|
|
31
|
+
encryptionAlgorithm: 5 /* CryptoEncryptionAlgorithm.AES256_CBC */,
|
|
32
|
+
hashingAlgorithm: 1 /* CryptoHashAlgorithm.SHA256 */
|
|
23
33
|
}
|
|
24
|
-
|
|
25
|
-
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
name: APPLE_SECURE_ENCLAVE_PROVIDER_NAME,
|
|
37
|
+
signature: {
|
|
38
|
+
type: "asymmetric",
|
|
39
|
+
asymmetricKeyAlgorithm: 1 /* CryptoSignatureAlgorithm.ECDSA_P256 */,
|
|
40
|
+
encryptionAlgorithm: undefined,
|
|
41
|
+
hashingAlgorithm: 1 /* CryptoHashAlgorithm.SHA256 */
|
|
42
|
+
},
|
|
43
|
+
encryption: {
|
|
44
|
+
type: "asymmetric",
|
|
45
|
+
asymmetricKeyAlgorithm: 1 /* CryptoSignatureAlgorithm.ECDSA_P256 */,
|
|
46
|
+
encryptionAlgorithm: 2 /* CryptoEncryptionAlgorithm.AES256_GCM */,
|
|
47
|
+
hashingAlgorithm: 1 /* CryptoHashAlgorithm.SHA256 */
|
|
26
48
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
49
|
+
}
|
|
50
|
+
];
|
|
51
|
+
const PROVIDERS = new Map();
|
|
52
|
+
const PROVIDERS_BY_NAME = new Map();
|
|
53
|
+
async function updateProvidersByNameMap() {
|
|
54
|
+
PROVIDERS_BY_NAME.clear();
|
|
55
|
+
for (const provider of PROVIDERS.values()) {
|
|
56
|
+
const name = await provider.providerName();
|
|
57
|
+
if (PROVIDERS_BY_NAME.has(name)) {
|
|
58
|
+
throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.CalProvidersAlreadyInitialized, `Provider '${name}' has already been initialized. Due to scope issues with storage scope this provider cannot be initialized again.`).setContext(updateProvidersByNameMap);
|
|
30
59
|
}
|
|
31
|
-
|
|
60
|
+
PROVIDERS_BY_NAME.set(name, provider);
|
|
32
61
|
}
|
|
33
|
-
return providersBySecurity;
|
|
34
62
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
*/
|
|
40
|
-
async function createProviderFromProviderFilter(providerToBeInitialized, factoryFunctions, providerImplConfig) {
|
|
41
|
-
if ("providerName" in providerToBeInitialized) {
|
|
42
|
-
return await factoryFunctions.createProviderFromName(providerToBeInitialized.providerName, providerImplConfig);
|
|
63
|
+
async function loadProviderFromName(providerName, providerImplConfig, factoryFunctions) {
|
|
64
|
+
const provider = await factoryFunctions.createProviderFromName(providerName, providerImplConfig);
|
|
65
|
+
if (provider === undefined) {
|
|
66
|
+
throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.CalLoadingProvider, `Failed initializing provider: '${providerName}'`).setContext(loadProviderFromName);
|
|
43
67
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
68
|
+
const capabilities = await provider.getCapabilities();
|
|
69
|
+
if (capabilities === undefined) {
|
|
70
|
+
throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.CalLoadingProvider, `Failed getting capabilities of provider: '${providerName}'`).setContext(loadProviderFromName);
|
|
47
71
|
}
|
|
48
|
-
|
|
49
|
-
|
|
72
|
+
const securityLevel = capabilities.min_security_level;
|
|
73
|
+
if (PROVIDERS.has(securityLevel)) {
|
|
74
|
+
throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.CalProvidersAlreadyInitialized, `Only one provider of a security level can be initialized at a time. Provider for security level '${securityLevel}' has already been loaded.`).setContext(loadProviderFromName);
|
|
50
75
|
}
|
|
51
|
-
|
|
76
|
+
PROVIDERS.set(securityLevel, provider);
|
|
52
77
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
78
|
+
function additionalConfigFromProviderToBeInitializedConfig(providerConfig) {
|
|
79
|
+
const additionalConfig = [];
|
|
80
|
+
if (providerConfig.masterEncryptionKeyHandle instanceof DeviceBoundKeyHandle_1.DeviceBoundKeyHandle) {
|
|
81
|
+
additionalConfig.push({
|
|
82
|
+
StorageConfigSymmetricEncryption: providerConfig.masterEncryptionKeyHandle.keyHandle
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
else if (providerConfig.masterEncryptionKeyHandle instanceof DeviceBoundKeyPairHandle_1.DeviceBoundKeyPairHandle) {
|
|
86
|
+
additionalConfig.push({
|
|
87
|
+
StorageConfigAsymmetricEncryption: providerConfig.masterEncryptionKeyHandle.keyPairHandle
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
if (providerConfig.masterSignatureKeyHandle instanceof DeviceBoundKeyHandle_1.DeviceBoundKeyHandle) {
|
|
91
|
+
additionalConfig.push({ StorageConfigHMAC: providerConfig.masterSignatureKeyHandle.keyHandle });
|
|
92
|
+
}
|
|
93
|
+
else if (providerConfig.masterSignatureKeyHandle instanceof DeviceBoundKeyPairHandle_1.DeviceBoundKeyPairHandle) {
|
|
94
|
+
additionalConfig.push({
|
|
95
|
+
StorageConfigDSA: providerConfig.masterSignatureKeyHandle.keyPairHandle
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
return additionalConfig;
|
|
99
|
+
}
|
|
100
|
+
async function loadProviderFromConfig(providerConfig, storageConfig, factoryFunctions) {
|
|
101
|
+
if (providerConfig.dependentProvider !== undefined) {
|
|
102
|
+
await loadProviderFromConfig(providerConfig.dependentProvider, storageConfig, factoryFunctions);
|
|
103
|
+
}
|
|
104
|
+
const implConfig = {
|
|
105
|
+
additional_config: [storageConfig]
|
|
106
|
+
};
|
|
107
|
+
implConfig.additional_config.concat(additionalConfigFromProviderToBeInitializedConfig(providerConfig));
|
|
108
|
+
await loadProviderFromName(providerConfig.providerName, implConfig, factoryFunctions);
|
|
109
|
+
await updateProvidersByNameMap();
|
|
110
|
+
}
|
|
111
|
+
async function initializeNewFallbackSoftwareProvider(softwareProviderName, storageConfig, factoryFunctions) {
|
|
112
|
+
const providerToBeInitializedConfig = CryptoLayerConfig_1.CryptoLayerProviderToBeInitialized.new({
|
|
113
|
+
providerName: softwareProviderName
|
|
114
|
+
});
|
|
115
|
+
await loadProviderFromConfig(providerToBeInitializedConfig, storageConfig, factoryFunctions);
|
|
116
|
+
return providerToBeInitializedConfig;
|
|
117
|
+
}
|
|
118
|
+
async function keyHandleFromStorageSecuritySpec(spec) {
|
|
119
|
+
if (spec.type === "symmetric") {
|
|
120
|
+
return await CryptoEncryptionHandle_1.CryptoEncryptionHandle.generateDeviceBoundKeyHandle({ securityLevel: "Hardware" }, spec.encryptionAlgorithm, spec.hashingAlgorithm);
|
|
121
|
+
}
|
|
122
|
+
return await CryptoSignaturesHandle_1.CryptoSignaturesHandle.generateDeviceBoundKeyPairHandle({ securityLevel: "Hardware" }, spec.asymmetricKeyAlgorithm, spec.encryptionAlgorithm, spec.hashingAlgorithm);
|
|
123
|
+
}
|
|
124
|
+
async function initializeNewHybridProvider(hwProviderName, storageConfig, storageSecurityConfig, factoryFunctions) {
|
|
125
|
+
const hwProviderToBeInitialized = CryptoLayerConfig_1.CryptoLayerProviderToBeInitialized.new({
|
|
126
|
+
providerName: hwProviderName
|
|
127
|
+
});
|
|
128
|
+
await loadProviderFromConfig(hwProviderToBeInitialized, storageConfig, factoryFunctions);
|
|
129
|
+
const [encryptionKeyHandle, signatureKeyHandle] = await Promise.all([
|
|
130
|
+
keyHandleFromStorageSecuritySpec(storageSecurityConfig.encryption),
|
|
131
|
+
keyHandleFromStorageSecuritySpec(storageSecurityConfig.signature)
|
|
132
|
+
]);
|
|
133
|
+
const swProviderToBeInitialized = CryptoLayerConfig_1.CryptoLayerProviderToBeInitialized.new({
|
|
134
|
+
providerName: SOFTWARE_PROVIDER_NAME,
|
|
135
|
+
masterSignatureKeyHandle: signatureKeyHandle,
|
|
136
|
+
masterEncryptionKeyHandle: encryptionKeyHandle
|
|
137
|
+
});
|
|
138
|
+
await loadProviderFromConfig(swProviderToBeInitialized, storageConfig, factoryFunctions);
|
|
139
|
+
swProviderToBeInitialized.dependentProvider = hwProviderToBeInitialized;
|
|
140
|
+
return swProviderToBeInitialized;
|
|
141
|
+
}
|
|
142
|
+
function storageSecurityForProviderName(providerName, storageSecurityConfig) {
|
|
143
|
+
var _a;
|
|
144
|
+
return ((_a = storageSecurityConfig === null || storageSecurityConfig === void 0 ? void 0 : storageSecurityConfig.find((config) => config.name === providerName)) !== null && _a !== void 0 ? _a : DEFAULT_STORAGE_SECURITY_CONFIG.find((config) => config.name === providerName));
|
|
145
|
+
}
|
|
146
|
+
async function initializeNewProviders(storageConfig, factoryFunctions, storageSecurityConfig) {
|
|
147
|
+
const basicProviderImplConfig = {
|
|
148
|
+
additional_config: [storageConfig]
|
|
149
|
+
};
|
|
150
|
+
const providerNamesAndCaps = await factoryFunctions.getProviderCapabilities(basicProviderImplConfig);
|
|
151
|
+
const hardwareProviderNamesAndCaps = providerNamesAndCaps
|
|
152
|
+
.filter(([, cap]) => cap.min_security_level === "Hardware")
|
|
153
|
+
.filter(([name]) => storageSecurityForProviderName(name, storageSecurityConfig));
|
|
154
|
+
const softwareProviderNamesAndCaps = providerNamesAndCaps.filter(([, cap]) => cap.min_security_level === "Software");
|
|
155
|
+
if (hardwareProviderNamesAndCaps.length === 0) {
|
|
156
|
+
if (softwareProviderNamesAndCaps.length === 0) {
|
|
157
|
+
return undefined;
|
|
158
|
+
}
|
|
159
|
+
const nonFallbackSoftwareProviders = softwareProviderNamesAndCaps.filter(([name]) => name !== SOFTWARE_PROVIDER_NAME);
|
|
160
|
+
if (nonFallbackSoftwareProviders.length !== 0) {
|
|
161
|
+
return await initializeNewFallbackSoftwareProvider(nonFallbackSoftwareProviders[0][0], storageConfig, factoryFunctions);
|
|
65
162
|
}
|
|
66
|
-
|
|
163
|
+
return await initializeNewFallbackSoftwareProvider(SOFTWARE_PROVIDER_NAME, storageConfig, factoryFunctions);
|
|
164
|
+
}
|
|
165
|
+
const hwProviderName = hardwareProviderNamesAndCaps[0][0];
|
|
166
|
+
const hwStorageSecurityConfig = storageSecurityForProviderName(hwProviderName, storageSecurityConfig);
|
|
167
|
+
if (hwStorageSecurityConfig === undefined) {
|
|
168
|
+
return undefined;
|
|
67
169
|
}
|
|
68
|
-
|
|
69
|
-
PROVIDERS_BY_SECURITY = await providerBySecurityMapFromProviderByNameMap(PROVIDERS_BY_NAME);
|
|
170
|
+
return await initializeNewHybridProvider(hwProviderName, storageConfig, hwStorageSecurityConfig, factoryFunctions);
|
|
70
171
|
}
|
|
71
172
|
/**
|
|
72
|
-
* Returns an initialized provider with the given
|
|
173
|
+
* Returns an initialized provider with the given provider identifier if possible,
|
|
73
174
|
* otherwise throws {@link CryptoError} with {@link CryptoErrorCode.CalThisProviderNotInitialized}.
|
|
74
175
|
*
|
|
75
176
|
* Providers need to be initialized via the {@link initCryptoLayerProviders} function,
|
|
76
177
|
* else throws {@link CryptoError} with {@link CryptoErrorCode.CalProvidersNotInitialized}.
|
|
77
178
|
*/
|
|
78
179
|
function getProvider(identifier) {
|
|
79
|
-
|
|
80
|
-
if (PROVIDERS_BY_NAME === undefined || PROVIDERS_BY_SECURITY === undefined) {
|
|
180
|
+
if (PROVIDERS.size === 0) {
|
|
81
181
|
throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.CalProvidersNotInitialized, "Failed to get providers as providers are not initialized.").setContext(getProvider);
|
|
82
182
|
}
|
|
83
183
|
let provider;
|
|
184
|
+
if ("securityLevel" in identifier) {
|
|
185
|
+
provider = PROVIDERS.get(identifier.securityLevel);
|
|
186
|
+
}
|
|
84
187
|
if ("providerName" in identifier) {
|
|
85
188
|
provider = PROVIDERS_BY_NAME.get(identifier.providerName);
|
|
86
189
|
}
|
|
87
|
-
else if ("securityLevel" in identifier) {
|
|
88
|
-
provider = (_a = PROVIDERS_BY_SECURITY.get(identifier.securityLevel)) === null || _a === void 0 ? void 0 : _a[0];
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.WrongParameters, "Provider identifier was not able to be parsed while trying to get a provider.").setContext(getProvider);
|
|
92
|
-
}
|
|
93
190
|
if (provider === undefined) {
|
|
94
|
-
throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.CalThisProviderNotInitialized, `Failed finding provider with
|
|
191
|
+
throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.CalThisProviderNotInitialized, `Failed finding provider with identifier ${identifier}`).setContext(getProvider);
|
|
95
192
|
}
|
|
96
193
|
return provider;
|
|
97
194
|
}
|
|
98
195
|
function hasProviderForSecurityLevel(securityLevel) {
|
|
99
|
-
if (
|
|
196
|
+
if (PROVIDERS.size === 0) {
|
|
100
197
|
throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.CalProvidersNotInitialized, "Failed to get providers as providers are not initialized.").setContext(hasProviderForSecurityLevel);
|
|
101
198
|
}
|
|
102
|
-
|
|
103
|
-
|
|
199
|
+
return PROVIDERS.has(securityLevel);
|
|
200
|
+
}
|
|
201
|
+
function providersInitialized() {
|
|
202
|
+
if (PROVIDERS.size !== PROVIDERS_BY_NAME.size) {
|
|
203
|
+
throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.CalLoadingProvider, `The maps providers by name and providers by security level are out of sync. (${PROVIDERS_BY_NAME.size} != ${PROVIDERS.size})`).setContext(providersInitialized);
|
|
204
|
+
}
|
|
205
|
+
return PROVIDERS.size !== 0;
|
|
206
|
+
}
|
|
207
|
+
function clearProviders() {
|
|
208
|
+
PROVIDERS.clear();
|
|
209
|
+
PROVIDERS_BY_NAME.clear();
|
|
104
210
|
}
|
|
105
211
|
//# sourceMappingURL=CryptoLayerProviders.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CryptoLayerProviders.js","sourceRoot":"","sources":["../../src/crypto-layer/CryptoLayerProviders.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"CryptoLayerProviders.js","sourceRoot":"","sources":["../../src/crypto-layer/CryptoLayerProviders.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,8 @@ class CryptoLayerUtils {
|
|
|
18
18
|
return "P521";
|
|
19
19
|
case 3 /* CryptoSignatureAlgorithm.ECDSA_ED25519 */:
|
|
20
20
|
return "Curve25519";
|
|
21
|
+
case 4 /* CryptoSignatureAlgorithm.RSA_2048 */:
|
|
22
|
+
return "RSA2048";
|
|
21
23
|
}
|
|
22
24
|
}
|
|
23
25
|
static cryptoHashAlgorithmFromCryptoHash(cryptoHash) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CryptoLayerUtils.js","sourceRoot":"","sources":["../../src/crypto-layer/CryptoLayerUtils.ts"],"names":[],"mappings":";;;AAEA,gDAA6C;AAC7C,wDAAqD;AAKrD,MAAa,gBAAgB;IAClB,MAAM,CAAC,8CAA8C,CACxD,SAA6D;QAE7D,QAAQ,SAAS,EAAE,CAAC;YAChB;gBACI,OAAO,MAAM,CAAC;YAClB;gBACI,OAAO,MAAM,CAAC;YAClB;gBACI,OAAO,YAAY,CAAC;YACxB;gBACI,OAAO,MAAM,CAAC;YAClB;gBACI,OAAO,MAAM,CAAC;YAClB;gBACI,OAAO,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"CryptoLayerUtils.js","sourceRoot":"","sources":["../../src/crypto-layer/CryptoLayerUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import { CryptoCipher } from "../../encryption/CryptoCipher";
|
|
|
4
4
|
import { CryptoEncryptionAlgorithm } from "../../encryption/CryptoEncryption";
|
|
5
5
|
import { CryptoSecretKey } from "../../encryption/CryptoSecretKey";
|
|
6
6
|
import { CryptoHashAlgorithm } from "../../hash/CryptoHash";
|
|
7
|
-
import {
|
|
7
|
+
import { CryptoLayerProviderIdentifier } from "../CryptoLayerConfig";
|
|
8
8
|
import { BaseDerivedKeyHandle } from "./BaseDerivedKeyHandle";
|
|
9
9
|
import { BaseKeyHandle } from "./BaseKeyHandle";
|
|
10
10
|
import { DeviceBoundKeyHandle } from "./DeviceBoundKeyHandle";
|
|
@@ -16,17 +16,17 @@ export declare class CryptoEncryptionHandle {
|
|
|
16
16
|
*/
|
|
17
17
|
static _keyHandleFromProviderAndCalKeyHandle<T extends BaseKeyHandle | BaseDerivedKeyHandle>(constructor: new () => T, provider: Provider, keyHandle: KeyHandle): Promise<T>;
|
|
18
18
|
private static generateKeyHandle;
|
|
19
|
-
static generateDeviceBoundKeyHandle(providerIdent:
|
|
20
|
-
static generatePortableKeyHandle(providerIdent:
|
|
19
|
+
static generateDeviceBoundKeyHandle(providerIdent: CryptoLayerProviderIdentifier, encryptionAlgorithm: CryptoEncryptionAlgorithm, hashAlgorithm: CryptoHashAlgorithm): Promise<DeviceBoundKeyHandle>;
|
|
20
|
+
static generatePortableKeyHandle(providerIdent: CryptoLayerProviderIdentifier, encryptionAlgorithm: CryptoEncryptionAlgorithm, hashAlgorithm: CryptoHashAlgorithm): Promise<PortableKeyHandle>;
|
|
21
21
|
static encrypt<T extends BaseKeyHandle | BaseDerivedKeyHandle>(plaintext: CoreBuffer, secretKeyHandle: T, nonce?: CoreBuffer): Promise<CryptoCipher>;
|
|
22
22
|
static encryptWithCounter<T extends BaseKeyHandle | BaseDerivedKeyHandle>(plaintext: CoreBuffer, secretKeyHandle: T, nonce: CoreBuffer, counter: number): Promise<CryptoCipher>;
|
|
23
23
|
static decrypt<T extends BaseKeyHandle | BaseDerivedKeyHandle>(cipher: CryptoCipher, secretKeyHandle: T, nonce?: CoreBuffer): Promise<CoreBuffer>;
|
|
24
24
|
static decryptWithCounter<T extends BaseKeyHandle | BaseDerivedKeyHandle>(cipher: CryptoCipher, secretKeyHandle: T, nonce: CoreBuffer, counter: number): Promise<CoreBuffer>;
|
|
25
|
-
static createNonce(providerIdent:
|
|
25
|
+
static createNonce(providerIdent: CryptoLayerProviderIdentifier, algorithm: CryptoEncryptionAlgorithm): Promise<CoreBuffer>;
|
|
26
26
|
static extractRawKey(portableKeyHandle: PortableKeyHandle | PortableDerivedKeyHandle): Promise<CoreBuffer>;
|
|
27
27
|
static cryptoSecretKeyFromPortableKeyHandle(portableKeyHandle: PortableKeyHandle | PortableDerivedKeyHandle): Promise<CryptoSecretKey>;
|
|
28
28
|
private static keyHandleFromCryptoSecretKey;
|
|
29
|
-
static portableKeyHandleFromCryptoSecretKey(providerIdent:
|
|
30
|
-
static portableDerivedKeyHandleFromCryptoSecretKey(providerIdent:
|
|
29
|
+
static portableKeyHandleFromCryptoSecretKey(providerIdent: CryptoLayerProviderIdentifier, cryptoSecretKey: CryptoSecretKey, signingHash?: CryptoHashAlgorithm): Promise<PortableKeyHandle>;
|
|
30
|
+
static portableDerivedKeyHandleFromCryptoSecretKey(providerIdent: CryptoLayerProviderIdentifier, cryptoSecretKey: CryptoSecretKey, signingHash?: CryptoHashAlgorithm): Promise<PortableDerivedKeyHandle>;
|
|
31
31
|
private static _addCounter;
|
|
32
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CryptoEncryptionHandle.js","sourceRoot":"","sources":["../../../src/crypto-layer/encryption/CryptoEncryptionHandle.ts"],"names":[],"mappings":";;;AAEA,iDAA8C;AAC9C,mDAAgD;AAChD,2DAAwD;AACxD,6DAA0D;AAC1D,gEAA6D;AAE7D,sEAAqF;
|
|
1
|
+
{"version":3,"file":"CryptoEncryptionHandle.js","sourceRoot":"","sources":["../../../src/crypto-layer/encryption/CryptoEncryptionHandle.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,3 +9,5 @@ export * from "./encryption/DeviceBoundDerivedKeyHandle";
|
|
|
9
9
|
export * from "./encryption/DeviceBoundKeyHandle";
|
|
10
10
|
export * from "./encryption/PortableDerivedKeyHandle";
|
|
11
11
|
export * from "./encryption/PortableKeyHandle";
|
|
12
|
+
export * from "./signature/CryptoSignaturesHandle";
|
|
13
|
+
export * from "./signature/DeviceBoundKeyPairHandle";
|
|
@@ -25,4 +25,6 @@ __exportStar(require("./encryption/DeviceBoundDerivedKeyHandle"), exports);
|
|
|
25
25
|
__exportStar(require("./encryption/DeviceBoundKeyHandle"), exports);
|
|
26
26
|
__exportStar(require("./encryption/PortableDerivedKeyHandle"), exports);
|
|
27
27
|
__exportStar(require("./encryption/PortableKeyHandle"), exports);
|
|
28
|
+
__exportStar(require("./signature/CryptoSignaturesHandle"), exports);
|
|
29
|
+
__exportStar(require("./signature/DeviceBoundKeyPairHandle"), exports);
|
|
28
30
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/crypto-layer/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC;AACzC,sDAAoC;AACpC,yDAAuC;AACvC,qDAAmC;AACnC,oEAAkD;AAClD,6DAA2C;AAC3C,sEAAoD;AACpD,2EAAyD;AACzD,oEAAkD;AAClD,wEAAsD;AACtD,iEAA+C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/crypto-layer/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC;AACzC,sDAAoC;AACpC,yDAAuC;AACvC,qDAAmC;AACnC,oEAAkD;AAClD,6DAA2C;AAC3C,sEAAoD;AACpD,2EAAyD;AACzD,oEAAkD;AAClD,wEAAsD;AACtD,iEAA+C;AAC/C,qEAAmD;AACnD,uEAAqD"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CryptoEncryptionAlgorithm } from "../../encryption/CryptoEncryption";
|
|
2
|
+
import { CryptoHashAlgorithm } from "../../hash/CryptoHash";
|
|
3
|
+
import { CryptoSignatureAlgorithm } from "../../signature/CryptoSignatureAlgorithm";
|
|
4
|
+
import { CryptoLayerProviderIdentifier } from "../CryptoLayerConfig";
|
|
5
|
+
import { DeviceBoundKeyPairHandle } from "./DeviceBoundKeyPairHandle";
|
|
6
|
+
export declare class CryptoSignaturesHandle {
|
|
7
|
+
static generateDeviceBoundKeyPairHandle(providerIdent: CryptoLayerProviderIdentifier, asymmetricKeyAlgorithm: CryptoSignatureAlgorithm, encryptionAlgorithm: CryptoEncryptionAlgorithm | undefined, hashAlgorithm: CryptoHashAlgorithm): Promise<DeviceBoundKeyPairHandle>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CryptoSignaturesHandle = void 0;
|
|
4
|
+
const CryptoLayerProviders_1 = require("../CryptoLayerProviders");
|
|
5
|
+
const CryptoLayerUtils_1 = require("../CryptoLayerUtils");
|
|
6
|
+
const DeviceBoundKeyPairHandle_1 = require("./DeviceBoundKeyPairHandle");
|
|
7
|
+
class CryptoSignaturesHandle {
|
|
8
|
+
static async generateDeviceBoundKeyPairHandle(providerIdent, asymmetricKeyAlgorithm, encryptionAlgorithm, hashAlgorithm) {
|
|
9
|
+
const deviceBoundSpec = {
|
|
10
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
11
|
+
asym_spec: CryptoLayerUtils_1.CryptoLayerUtils.asymSpecFromCryptoExchangeOrSignatureAlgorithm(asymmetricKeyAlgorithm),
|
|
12
|
+
cipher: encryptionAlgorithm
|
|
13
|
+
? CryptoLayerUtils_1.CryptoLayerUtils.cipherFromCryptoEncryptionAlgorithm(encryptionAlgorithm)
|
|
14
|
+
: null,
|
|
15
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
16
|
+
signing_hash: CryptoLayerUtils_1.CryptoLayerUtils.cryptoHashFromCryptoHashAlgorithm(hashAlgorithm),
|
|
17
|
+
ephemeral: false,
|
|
18
|
+
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
19
|
+
non_exportable: true
|
|
20
|
+
};
|
|
21
|
+
const provider = (0, CryptoLayerProviders_1.getProvider)(providerIdent);
|
|
22
|
+
const keyPairHandle = await provider.createKeyPair(deviceBoundSpec);
|
|
23
|
+
const result = new DeviceBoundKeyPairHandle_1.DeviceBoundKeyPairHandle();
|
|
24
|
+
[result.providerName, result.id] = await Promise.all([provider.providerName(), keyPairHandle.id()]);
|
|
25
|
+
result.provider = provider;
|
|
26
|
+
result.keyPairHandle = keyPairHandle;
|
|
27
|
+
return result;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.CryptoSignaturesHandle = CryptoSignaturesHandle;
|
|
31
|
+
//# sourceMappingURL=CryptoSignaturesHandle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CryptoSignaturesHandle.js","sourceRoot":"","sources":["../../../src/crypto-layer/signature/CryptoSignaturesHandle.ts"],"names":[],"mappings":";;;AAKA,kEAAsD;AACtD,0DAAuD;AACvD,yEAAsE;AAEtE,MAAa,sBAAsB;IACxB,MAAM,CAAC,KAAK,CAAC,gCAAgC,CAChD,aAA4C,EAC5C,sBAAgD,EAChD,mBAA0D,EAC1D,aAAkC;QAElC,MAAM,eAAe,GAAgB;YACjC,gEAAgE;YAChE,SAAS,EAAE,mCAAgB,CAAC,8CAA8C,CAAC,sBAAsB,CAAC;YAClG,MAAM,EAAE,mBAAmB;gBACvB,CAAC,CAAC,mCAAgB,CAAC,mCAAmC,CAAC,mBAAmB,CAAC;gBAC3E,CAAC,CAAC,IAAI;YACV,gEAAgE;YAChE,YAAY,EAAE,mCAAgB,CAAC,iCAAiC,CAAC,aAAa,CAAC;YAC/E,SAAS,EAAE,KAAK;YAChB,gEAAgE;YAChE,cAAc,EAAE,IAAI;SACvB,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAA,kCAAW,EAAC,aAAa,CAAC,CAAC;QAC5C,MAAM,aAAa,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QAEpE,MAAM,MAAM,GAAG,IAAI,mDAAwB,EAAE,CAAC;QAE9C,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,YAAY,EAAE,EAAE,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAEpG,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC3B,MAAM,CAAC,aAAa,GAAG,aAAa,CAAC;QAErC,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAhCD,wDAgCC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ISerializable, ISerialized, SerializableAsync } from "@js-soft/ts-serval";
|
|
2
|
+
import { KeyPairHandle, Provider } from "@nmshd/rs-crypto-types";
|
|
3
|
+
import { CryptoSerializableAsync } from "../../CryptoSerializable";
|
|
4
|
+
export interface IDeviceBoundKeyPairHandleSerialized extends ISerialized {
|
|
5
|
+
kid: string;
|
|
6
|
+
pnm: string;
|
|
7
|
+
}
|
|
8
|
+
export interface IDeviceBoundKeyPairHandle extends ISerializable {
|
|
9
|
+
id: string;
|
|
10
|
+
providerName: string;
|
|
11
|
+
}
|
|
12
|
+
export declare class DeviceBoundKeyPairHandle extends CryptoSerializableAsync implements IDeviceBoundKeyPairHandle {
|
|
13
|
+
id: string;
|
|
14
|
+
providerName: string;
|
|
15
|
+
provider: Provider;
|
|
16
|
+
keyPairHandle: KeyPairHandle;
|
|
17
|
+
protected static preFrom(value: any): any;
|
|
18
|
+
static postFrom<T extends SerializableAsync>(value: T): Promise<T>;
|
|
19
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var DeviceBoundKeyPairHandle_1;
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.DeviceBoundKeyPairHandle = void 0;
|
|
14
|
+
const ts_serval_1 = require("@js-soft/ts-serval");
|
|
15
|
+
const CryptoError_1 = require("../../CryptoError");
|
|
16
|
+
const CryptoErrorCode_1 = require("../../CryptoErrorCode");
|
|
17
|
+
const CryptoSerializable_1 = require("../../CryptoSerializable");
|
|
18
|
+
const CryptoLayerProviders_1 = require("../CryptoLayerProviders");
|
|
19
|
+
let DeviceBoundKeyPairHandle = DeviceBoundKeyPairHandle_1 = class DeviceBoundKeyPairHandle extends CryptoSerializable_1.CryptoSerializableAsync {
|
|
20
|
+
static preFrom(value) {
|
|
21
|
+
if (value.kid) {
|
|
22
|
+
value = {
|
|
23
|
+
id: value.kid,
|
|
24
|
+
providerName: value.pnm,
|
|
25
|
+
spec: value.spc
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
return value;
|
|
29
|
+
}
|
|
30
|
+
static async postFrom(value) {
|
|
31
|
+
if (!(value instanceof this)) {
|
|
32
|
+
throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.DeserializeValidation, "Expected 'DeviceBoundKeyPairHandle' in postFrom.");
|
|
33
|
+
}
|
|
34
|
+
const provider = (0, CryptoLayerProviders_1.getProvider)({ providerName: value.providerName });
|
|
35
|
+
let keyPairHandle;
|
|
36
|
+
try {
|
|
37
|
+
keyPairHandle = await provider.loadKeyPair(value.id);
|
|
38
|
+
}
|
|
39
|
+
catch (e) {
|
|
40
|
+
throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.CalLoadKey, "Failed to load key during deserialization.", undefined, e, DeviceBoundKeyPairHandle_1.postFrom);
|
|
41
|
+
}
|
|
42
|
+
value.keyPairHandle = keyPairHandle;
|
|
43
|
+
value.provider = provider;
|
|
44
|
+
return value;
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
exports.DeviceBoundKeyPairHandle = DeviceBoundKeyPairHandle;
|
|
48
|
+
__decorate([
|
|
49
|
+
(0, ts_serval_1.validate)(),
|
|
50
|
+
(0, ts_serval_1.serialize)(),
|
|
51
|
+
__metadata("design:type", String)
|
|
52
|
+
], DeviceBoundKeyPairHandle.prototype, "id", void 0);
|
|
53
|
+
__decorate([
|
|
54
|
+
(0, ts_serval_1.validate)(),
|
|
55
|
+
(0, ts_serval_1.serialize)(),
|
|
56
|
+
__metadata("design:type", String)
|
|
57
|
+
], DeviceBoundKeyPairHandle.prototype, "providerName", void 0);
|
|
58
|
+
exports.DeviceBoundKeyPairHandle = DeviceBoundKeyPairHandle = DeviceBoundKeyPairHandle_1 = __decorate([
|
|
59
|
+
(0, ts_serval_1.type)("DeviceBoundKeyPairHandle")
|
|
60
|
+
], DeviceBoundKeyPairHandle);
|
|
61
|
+
//# sourceMappingURL=DeviceBoundKeyPairHandle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DeviceBoundKeyPairHandle.js","sourceRoot":"","sources":["../../../src/crypto-layer/signature/DeviceBoundKeyPairHandle.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,kDAA8G;AAE9G,mDAAgD;AAChD,2DAAwD;AACxD,iEAAmE;AACnE,kEAAsD;AAa/C,IAAM,wBAAwB,gCAA9B,MAAM,wBAAyB,SAAQ,4CAAuB;IAYvD,MAAM,CAAU,OAAO,CAAC,KAAU;QACxC,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;YACZ,KAAK,GAAG;gBACJ,EAAE,EAAE,KAAK,CAAC,GAAG;gBACb,YAAY,EAAE,KAAK,CAAC,GAAG;gBACvB,IAAI,EAAE,KAAK,CAAC,GAAG;aAClB,CAAC;QACN,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,MAAM,CAAU,KAAK,CAAC,QAAQ,CAA8B,KAAQ;QACvE,IAAI,CAAC,CAAC,KAAK,YAAY,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,yBAAW,CACjB,iCAAe,CAAC,qBAAqB,EACrC,kDAAkD,CACrD,CAAC;QACN,CAAC;QAED,MAAM,QAAQ,GAAG,IAAA,kCAAW,EAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC;QACnE,IAAI,aAA4B,CAAC;QACjC,IAAI,CAAC;YACD,aAAa,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,MAAM,IAAI,yBAAW,CACjB,iCAAe,CAAC,UAAU,EAC1B,4CAA4C,EAC5C,SAAS,EACT,CAAU,EACV,0BAAwB,CAAC,QAAQ,CACpC,CAAC;QACN,CAAC;QAED,KAAK,CAAC,aAAa,GAAG,aAAa,CAAC;QACpC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC1B,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ,CAAA;AAlDY,4DAAwB;AAG1B;IAFN,IAAA,oBAAQ,GAAE;IACV,IAAA,qBAAS,GAAE;;oDACM;AAIX;IAFN,IAAA,oBAAQ,GAAE;IACV,IAAA,qBAAS,GAAE;;8DACgB;mCAPnB,wBAAwB;IADpC,IAAA,gBAAI,EAAC,0BAA0B,CAAC;GACpB,wBAAwB,CAkDpC"}
|
|
@@ -26,6 +26,7 @@ class CryptoSignatures {
|
|
|
26
26
|
}
|
|
27
27
|
case 1 /* CryptoSignatureAlgorithm.ECDSA_P256 */:
|
|
28
28
|
case 2 /* CryptoSignatureAlgorithm.ECDSA_P521 */:
|
|
29
|
+
case 4 /* CryptoSignatureAlgorithm.RSA_2048 */:
|
|
29
30
|
default:
|
|
30
31
|
throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.NotYetImplemented);
|
|
31
32
|
}
|
|
@@ -48,6 +49,7 @@ class CryptoSignatures {
|
|
|
48
49
|
break;
|
|
49
50
|
case 1 /* CryptoSignatureAlgorithm.ECDSA_P256 */:
|
|
50
51
|
case 2 /* CryptoSignatureAlgorithm.ECDSA_P521 */:
|
|
52
|
+
case 4 /* CryptoSignatureAlgorithm.RSA_2048 */:
|
|
51
53
|
default:
|
|
52
54
|
throw new CryptoError_1.CryptoError(CryptoErrorCode_1.CryptoErrorCode.NotYetImplemented);
|
|
53
55
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CryptoSignatures.js","sourceRoot":"","sources":["../../src/signature/CryptoSignatures.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"CryptoSignatures.js","sourceRoot":"","sources":["../../src/signature/CryptoSignatures.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED