@tidecloak/js 0.9.13 → 0.12.14
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/README.md +53 -4
- package/dist/cjs/lib/tidecloak.js +12 -10
- package/dist/cjs/lib/tidecloak.js.map +1 -1
- package/dist/cjs/modules/tide-js/Clients/EnclaveToMobileTunnelClient.js +55 -0
- package/dist/cjs/modules/tide-js/Clients/EnclaveToMobileTunnelClient.js.map +1 -0
- package/dist/cjs/modules/tide-js/Clients/NodeClient.js +72 -31
- package/dist/cjs/modules/tide-js/Clients/NodeClient.js.map +1 -1
- package/dist/cjs/modules/tide-js/Clients/WebSocketClientBase.js +51 -0
- package/dist/cjs/modules/tide-js/Clients/WebSocketClientBase.js.map +1 -0
- package/dist/cjs/modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Components.js +3 -3
- package/dist/cjs/modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Components.js.map +1 -1
- package/dist/cjs/modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Scheme.js +21 -0
- package/dist/cjs/modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Scheme.js.map +1 -1
- package/dist/cjs/modules/tide-js/Cryptide/Encryption/ElGamal.js +12 -0
- package/dist/cjs/modules/tide-js/Cryptide/Encryption/ElGamal.js.map +1 -1
- package/dist/cjs/modules/tide-js/Cryptide/Serialization.js +2 -0
- package/dist/cjs/modules/tide-js/Cryptide/Serialization.js.map +1 -1
- package/dist/cjs/modules/tide-js/Cryptide/TideKey.js +8 -0
- package/dist/cjs/modules/tide-js/Cryptide/TideKey.js.map +1 -1
- package/dist/cjs/modules/tide-js/Flow/AuthenticationFlows/dCMKPasswordFlow.js +7 -11
- package/dist/cjs/modules/tide-js/Flow/AuthenticationFlows/dCMKPasswordFlow.js.map +1 -1
- package/dist/cjs/modules/tide-js/Flow/AuthenticationFlows/dMobileAuthenticationFlow.js +199 -0
- package/dist/cjs/modules/tide-js/Flow/AuthenticationFlows/dMobileAuthenticationFlow.js.map +1 -0
- package/dist/cjs/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow.js +7 -6
- package/dist/cjs/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow.js.map +1 -1
- package/dist/cjs/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow2Step.js +134 -0
- package/dist/cjs/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow2Step.js.map +1 -0
- package/dist/cjs/modules/tide-js/Flow/dKeyGenerationFlow.js +4 -24
- package/dist/cjs/modules/tide-js/Flow/dKeyGenerationFlow.js.map +1 -1
- package/dist/cjs/modules/tide-js/Math/KeyAuthentication.js +95 -0
- package/dist/cjs/modules/tide-js/Math/KeyAuthentication.js.map +1 -1
- package/dist/cjs/modules/tide-js/Models/BaseTideRequest.js +21 -0
- package/dist/cjs/modules/tide-js/Models/BaseTideRequest.js.map +1 -1
- package/dist/cjs/modules/tide-js/Models/ModelRegistry.js +50 -1
- package/dist/cjs/modules/tide-js/Models/ModelRegistry.js.map +1 -1
- package/dist/cjs/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedDeviceConvertResponse.js +45 -0
- package/dist/cjs/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedDeviceConvertResponse.js.map +1 -0
- package/dist/cjs/modules/tide-js/Models/Responses/KeyAuth/Convert/DeviceConvertResponse.js +36 -0
- package/dist/cjs/modules/tide-js/Models/Responses/KeyAuth/Convert/DeviceConvertResponse.js.map +1 -0
- package/dist/cjs/modules/tide-js/Tests/KeyAuthentication.js +160 -3
- package/dist/cjs/modules/tide-js/Tests/KeyAuthentication.js.map +1 -1
- package/dist/cjs/modules/tide-js/Tests/KeyGeneration.js +3 -1
- package/dist/cjs/modules/tide-js/Tests/KeyGeneration.js.map +1 -1
- package/dist/cjs/modules/tide-js/Tests/StripeLicensing.js +2 -2
- package/dist/cjs/modules/tide-js/Tests/Tunelling.js +63 -0
- package/dist/cjs/modules/tide-js/Tests/Tunelling.js.map +1 -0
- package/dist/cjs/modules/tide-js/Tests/index.js +8 -1
- package/dist/cjs/modules/tide-js/Tests/index.js.map +1 -1
- package/dist/cjs/modules/tide-js/Tools/Utils.js +3 -1
- package/dist/cjs/modules/tide-js/Tools/Utils.js.map +1 -1
- package/dist/cjs/src/index.js +4 -1
- package/dist/cjs/src/index.js.map +1 -1
- package/dist/esm/lib/tidecloak.js +12 -10
- package/dist/esm/lib/tidecloak.js.map +1 -1
- package/dist/esm/modules/tide-js/Clients/EnclaveToMobileTunnelClient.js +49 -0
- package/dist/esm/modules/tide-js/Clients/EnclaveToMobileTunnelClient.js.map +1 -0
- package/dist/esm/modules/tide-js/Clients/NodeClient.js +72 -31
- package/dist/esm/modules/tide-js/Clients/NodeClient.js.map +1 -1
- package/dist/esm/modules/tide-js/Clients/WebSocketClientBase.js +48 -0
- package/dist/esm/modules/tide-js/Clients/WebSocketClientBase.js.map +1 -0
- package/dist/esm/modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Components.js +3 -3
- package/dist/esm/modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Components.js.map +1 -1
- package/dist/esm/modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Scheme.js +21 -0
- package/dist/esm/modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Scheme.js.map +1 -1
- package/dist/esm/modules/tide-js/Cryptide/Encryption/ElGamal.js +12 -0
- package/dist/esm/modules/tide-js/Cryptide/Encryption/ElGamal.js.map +1 -1
- package/dist/esm/modules/tide-js/Cryptide/Serialization.js +2 -0
- package/dist/esm/modules/tide-js/Cryptide/Serialization.js.map +1 -1
- package/dist/esm/modules/tide-js/Cryptide/TideKey.js +8 -0
- package/dist/esm/modules/tide-js/Cryptide/TideKey.js.map +1 -1
- package/dist/esm/modules/tide-js/Flow/AuthenticationFlows/dCMKPasswordFlow.js +7 -11
- package/dist/esm/modules/tide-js/Flow/AuthenticationFlows/dCMKPasswordFlow.js.map +1 -1
- package/dist/esm/modules/tide-js/Flow/AuthenticationFlows/dMobileAuthenticationFlow.js +193 -0
- package/dist/esm/modules/tide-js/Flow/AuthenticationFlows/dMobileAuthenticationFlow.js.map +1 -0
- package/dist/esm/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow.js +7 -6
- package/dist/esm/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow.js.map +1 -1
- package/dist/esm/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow2Step.js +128 -0
- package/dist/esm/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow2Step.js.map +1 -0
- package/dist/esm/modules/tide-js/Flow/dKeyGenerationFlow.js +4 -24
- package/dist/esm/modules/tide-js/Flow/dKeyGenerationFlow.js.map +1 -1
- package/dist/esm/modules/tide-js/Math/KeyAuthentication.js +93 -1
- package/dist/esm/modules/tide-js/Math/KeyAuthentication.js.map +1 -1
- package/dist/esm/modules/tide-js/Models/BaseTideRequest.js +21 -0
- package/dist/esm/modules/tide-js/Models/BaseTideRequest.js.map +1 -1
- package/dist/esm/modules/tide-js/Models/ModelRegistry.js +51 -2
- package/dist/esm/modules/tide-js/Models/ModelRegistry.js.map +1 -1
- package/dist/esm/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedDeviceConvertResponse.js +39 -0
- package/dist/esm/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedDeviceConvertResponse.js.map +1 -0
- package/dist/esm/modules/tide-js/Models/Responses/KeyAuth/Convert/DeviceConvertResponse.js +33 -0
- package/dist/esm/modules/tide-js/Models/Responses/KeyAuth/Convert/DeviceConvertResponse.js.map +1 -0
- package/dist/esm/modules/tide-js/Tests/KeyAuthentication.js +158 -5
- package/dist/esm/modules/tide-js/Tests/KeyAuthentication.js.map +1 -1
- package/dist/esm/modules/tide-js/Tests/KeyGeneration.js +4 -2
- package/dist/esm/modules/tide-js/Tests/KeyGeneration.js.map +1 -1
- package/dist/esm/modules/tide-js/Tests/StripeLicensing.js +2 -2
- package/dist/esm/modules/tide-js/Tests/Tunelling.js +56 -0
- package/dist/esm/modules/tide-js/Tests/Tunelling.js.map +1 -0
- package/dist/esm/modules/tide-js/Tests/index.js +9 -2
- package/dist/esm/modules/tide-js/Tests/index.js.map +1 -1
- package/dist/esm/modules/tide-js/Tools/Utils.js +3 -1
- package/dist/esm/modules/tide-js/Tools/Utils.js.map +1 -1
- package/dist/esm/src/index.js +1 -0
- package/dist/esm/src/index.js.map +1 -1
- package/dist/types/lib/tidecloak.d.ts +1 -0
- package/dist/types/modules/tide-js/Clients/EnclaveToMobileTunnelClient.d.ts +19 -0
- package/dist/types/modules/tide-js/Clients/NodeClient.d.ts +36 -12
- package/dist/types/modules/tide-js/Clients/WebSocketClientBase.d.ts +12 -0
- package/dist/types/modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Components.d.ts +3 -3
- package/dist/types/modules/tide-js/Cryptide/Components/Schemes/Ed25519/Ed25519Scheme.d.ts +2 -0
- package/dist/types/modules/tide-js/Cryptide/Encryption/ElGamal.d.ts +5 -0
- package/dist/types/modules/tide-js/Cryptide/Serialization.d.ts +1 -1
- package/dist/types/modules/tide-js/Cryptide/Signing/TideSignature.d.ts +1 -1
- package/dist/types/modules/tide-js/Cryptide/TideKey.d.ts +2 -0
- package/dist/types/modules/tide-js/Flow/AuthenticationFlows/dCMKPasswordFlow.d.ts +3 -4
- package/dist/types/modules/tide-js/Flow/AuthenticationFlows/dMobileAuthenticationFlow.d.ts +39 -0
- package/dist/types/modules/tide-js/Flow/SigningFlows/dVVKSigningFlow2Step.d.ts +69 -0
- package/dist/types/modules/tide-js/Flow/dKeyGenerationFlow.d.ts +3 -19
- package/dist/types/modules/tide-js/Math/KeyAuthentication.d.ts +49 -0
- package/dist/types/modules/tide-js/Models/AdminAuthorization.d.ts +1 -1
- package/dist/types/modules/tide-js/Models/AuthRequest.d.ts +1 -1
- package/dist/types/modules/tide-js/Models/BaseTideRequest.d.ts +10 -1
- package/dist/types/modules/tide-js/Models/Responses/KeyAuth/Convert/DecryptedDeviceConvertResponse.d.ts +15 -0
- package/dist/types/modules/tide-js/Models/Responses/KeyAuth/Convert/DeviceConvertResponse.d.ts +11 -0
- package/dist/types/modules/tide-js/Tests/KeyAuthentication.d.ts +4 -0
- package/dist/types/modules/tide-js/Tests/Tunelling.d.ts +2 -0
- package/dist/types/modules/tide-js/Tests/index.d.ts +12 -0
- package/dist/types/src/index.d.ts +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dCMKPasswordFlow.js","sourceRoot":"","sources":["../../../../../../modules/tide-js/Flow/AuthenticationFlows/dCMKPasswordFlow.js"],"names":[],"mappings":";AAAA,GAAG;AACH,gEAAgE;AAChE,yCAAyC;AACzC,GAAG;AACH,gEAAgE;AAChE,4DAA4D;AAC5D,+DAA+D;AAC/D,kEAAkE;AAClE,6DAA6D;AAC7D,gEAAgE;AAChE,oCAAoC;AACpC,6DAA6D;AAC7D,8DAA8D;AAC9D,wCAAwC;AACxC,qDAAqD;AACrD,EAAE;;;;;AAEF,gFAAqD;AACrD,sDAA0D;AAC1D,0EAAwI;AACxI,sDAA+C;AAC/C,mDAAqF;AACrF,oDAAsD;AACtD,sEAAuK;AACvK,mFAAwD;AACxD,oFAAyD;AACzD,+EAAoD;AACpD,0DAAkD;AAClD,2EAAgD;AAEhD,MAAqB,gBAAgB;IACjC;;;;;;;OAOG;IACH,YAAY,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,GAAC,IAAI;QAC/E,IAAI,CAAC,OAAO,GAAG,IAAI,oBAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QACvG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,IAAA,mBAAQ,EAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAA;QAEjD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IAChC,CAAC;IAEG
|
|
1
|
+
{"version":3,"file":"dCMKPasswordFlow.js","sourceRoot":"","sources":["../../../../../../modules/tide-js/Flow/AuthenticationFlows/dCMKPasswordFlow.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const index_js_1 = require("../../index.js");
|
|
7
|
+
const WebSocketClientBase_js_1 = __importDefault(require("../../Clients/WebSocketClientBase.js"));
|
|
8
|
+
const index_js_2 = require("../../Cryptide/index.js");
|
|
9
|
+
const Ed25519Components_js_1 = require("../../Cryptide/Components/Schemes/Ed25519/Ed25519Components.js");
|
|
10
|
+
const Ed25519Scheme_js_1 = __importDefault(require("../../Cryptide/Components/Schemes/Ed25519/Ed25519Scheme.js"));
|
|
11
|
+
const H2P_js_1 = __importDefault(require("../../Cryptide/Hashing/H2P.js"));
|
|
12
|
+
const Serialization_js_1 = require("../../Cryptide/Serialization.js");
|
|
13
|
+
const TideKey_js_1 = __importDefault(require("../../Cryptide/TideKey.js"));
|
|
14
|
+
const KeyAuthentication_js_1 = require("../../Math/KeyAuthentication.js");
|
|
15
|
+
const BaseTideRequest_js_1 = __importDefault(require("../../Models/BaseTideRequest.js"));
|
|
16
|
+
const KeyInfo_js_1 = __importDefault(require("../../Models/Infos/KeyInfo.js"));
|
|
17
|
+
const PrismConvertResponse_js_1 = __importDefault(require("../../Models/Responses/KeyAuth/Convert/PrismConvertResponse.js"));
|
|
18
|
+
const dVVKSigningFlow2Step_js_1 = __importDefault(require("../SigningFlows/dVVKSigningFlow2Step.js"));
|
|
19
|
+
const Utils_js_1 = require("../../Tools/Utils.js");
|
|
20
|
+
class dMobileAuthenticationFlow {
|
|
21
|
+
constructor(scannedQrCodeAddress) {
|
|
22
|
+
this.webSocketClient = new WebSocketClientBase_js_1.default(scannedQrCodeAddress);
|
|
23
|
+
this.requestInfo = this.webSocketClient.waitForMessage("requested info");
|
|
24
|
+
this.webSocketClient.sendMessage({
|
|
25
|
+
type: "ready",
|
|
26
|
+
message: ":)"
|
|
27
|
+
}); // no need to await this since we're only curious about awaiting requestInfo
|
|
28
|
+
}
|
|
29
|
+
async configureFlowSettings() {
|
|
30
|
+
let request = await this.requestInfo;
|
|
31
|
+
const requiredProperties = ['appReq', 'appReqSignature', 'sessionKeySignature', 'voucherURL', 'browserPublicKey', 'vendorPublicKey'];
|
|
32
|
+
for (const property of requiredProperties) {
|
|
33
|
+
if (!request[property]) {
|
|
34
|
+
throw new Error(`dMobileAuthenicationFlow: The configuration object is missing the required '${property}' property.`);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
const socketUrl = this.webSocketClient.getSocketUrl(); // or `.socketUrl` if you added a getter
|
|
38
|
+
const u = new URL(socketUrl);
|
|
39
|
+
if (u.protocol === 'wss:')
|
|
40
|
+
u.protocol = 'https:';
|
|
41
|
+
else if (u.protocol === 'ws:')
|
|
42
|
+
u.protocol = 'http:';
|
|
43
|
+
else
|
|
44
|
+
throw new Error('Expected ws:// or wss:// URL');
|
|
45
|
+
this.homeOrkOrigin = u.origin;
|
|
46
|
+
this.appReq = request.appReq;
|
|
47
|
+
this.sigAppReq = request.appReqSignature;
|
|
48
|
+
this.sessKeyProof = request.sessionKeySignature;
|
|
49
|
+
this.browserPublicKey = TideKey_js_1.default.FromSerializedComponent(request.browserPublicKey);
|
|
50
|
+
this.vendorPublicKey = TideKey_js_1.default.FromSerializedComponent(request.vendorPublicKey);
|
|
51
|
+
this.voucherURL = request.voucherURL;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* @param {string} username
|
|
55
|
+
*/
|
|
56
|
+
async ensureReady(username) {
|
|
57
|
+
await this.configureFlowSettings();
|
|
58
|
+
// Verify details
|
|
59
|
+
// otherwise, abort
|
|
60
|
+
await this.browserPublicKey.verify((0, Serialization_js_1.StringToUint8Array)(this.appReq), (0, Serialization_js_1.base64ToBytes)(this.sigAppReq));
|
|
61
|
+
const appReqParsed = JSON.parse(this.appReq);
|
|
62
|
+
this.enclaveVendorSessionKeyPublic = TideKey_js_1.default.FromSerializedComponent(appReqParsed["vendorSessKeyPub"]);
|
|
63
|
+
this.enclaveNetworkSessionKeyPublic = TideKey_js_1.default.FromSerializedComponent(appReqParsed["networkSessKeyPub"]);
|
|
64
|
+
await this.enclaveVendorSessionKeyPublic.verify(this.browserPublicKey.get_public_component().Serialize().ToBytes(), (0, Serialization_js_1.base64ToBytes)(this.sessKeyProof));
|
|
65
|
+
this.sessionId = appReqParsed["sessionId"];
|
|
66
|
+
this.rememberMe = appReqParsed["rememberMe"];
|
|
67
|
+
// BIG NOTE
|
|
68
|
+
// enclaveVendorSessionKey public is the key used to identifiy this enclave to the vendor, and will be used alongside the DOKEN
|
|
69
|
+
// enclaveNetworkSessionKey is the key used to identify this enclave to the Tide Network for quick sign in functionality
|
|
70
|
+
// They should NEVER be the same as to ensure the Tide Network can't correlate CMKs to VVKs
|
|
71
|
+
// Checks if gBRK is familiar (expected to do that (outside this flow) in mobile app)
|
|
72
|
+
// ...
|
|
73
|
+
// Short printable source URL
|
|
74
|
+
this.userId = await (0, Serialization_js_1.GetUID)(username);
|
|
75
|
+
this.username = username;
|
|
76
|
+
return {
|
|
77
|
+
browserKeyIdentifier: this.browserPublicKey.get_public_component().Serialize().ToString(),
|
|
78
|
+
vendorReturnURL: appReqParsed['returnURL'],
|
|
79
|
+
userID: this.userId
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
*
|
|
84
|
+
* @param {string} devicePrivateKey
|
|
85
|
+
*/
|
|
86
|
+
async authenticate(devicePrivateKey, testSessionKey = null, testUserInfo = null) {
|
|
87
|
+
if (!this.userId)
|
|
88
|
+
throw 'Make sure you run ensureReady first';
|
|
89
|
+
const deviceSessionKey = testSessionKey ? testSessionKey : TideKey_js_1.default.NewKey(Ed25519Scheme_js_1.default);
|
|
90
|
+
const simClient = new index_js_1.SimClient(this.homeOrkOrigin);
|
|
91
|
+
const userInfo = testUserInfo ? testUserInfo : await simClient.GetKeyInfo(this.userId);
|
|
92
|
+
const userInfoRef = new KeyInfo_js_1.default(userInfo.UserId, userInfo.UserPublic, userInfo.UserM, userInfo.OrkInfo.slice()); // we need the full ork list later for the enclave encrypted data
|
|
93
|
+
const signingFlow = new dVVKSigningFlow2Step_js_1.default(this.userId, userInfo.UserPublic, userInfo.OrkInfo, deviceSessionKey, null, this.voucherURL);
|
|
94
|
+
signingFlow.overrideVoucherAction("signin");
|
|
95
|
+
const draft = (0, Serialization_js_1.CreateTideMemoryFromArray)([this.enclaveNetworkSessionKeyPublic.get_public_component().Serialize().ToBytes(), new Uint8Array([this.rememberMe ? 1 : 0])]);
|
|
96
|
+
const request = new BaseTideRequest_js_1.default((testSessionKey ? "Test" : "") + "DeviceAuthentication", "1", "", draft);
|
|
97
|
+
signingFlow.setRequest(request);
|
|
98
|
+
const pre_encRequesti = signingFlow.preSign();
|
|
99
|
+
// Compute appAuthi will awaiting request
|
|
100
|
+
const dvk = TideKey_js_1.default.FromSerializedComponent(devicePrivateKey);
|
|
101
|
+
const encRequesti = await pre_encRequesti;
|
|
102
|
+
const appAuthi = await index_js_2.DH.generateECDHi((0, Utils_js_1.sortORKs)(userInfo.OrkInfo).map(o => o.orkPublic), dvk.get_private_component().priv); // must be sorted!
|
|
103
|
+
const convertinfo = await (0, KeyAuthentication_js_1.DeviceConvertReply)(encRequesti, appAuthi.filter((_, i) => signingFlow.preSignState.bitwise[i] == true), // only use the appAuthis for the orks that responded (as shown in bitwise)
|
|
104
|
+
signingFlow.orks.map(o => BigInt(o.orkID)), // use signing flow orks reference since these reference the orks that are part of this request
|
|
105
|
+
userInfo.UserPublic, signingFlow.getVouchers().qPub, signingFlow.getVouchers().UDeObf, signingFlow.getVouchers().k, this.enclaveVendorSessionKeyPublic.get_public_component(), "auth", this.sessionId, signingFlow.preSignState.GRj[0]);
|
|
106
|
+
const toSend = convertinfo.decPrismRequesti.map(d => {
|
|
107
|
+
return (0, Serialization_js_1.CreateTideMemoryFromArray)([(0, Serialization_js_1.base64ToBytes)(d.PRKRequesti), (0, Serialization_js_1.BigIntToByteArray)(convertinfo.blurHCMKMul)]);
|
|
108
|
+
});
|
|
109
|
+
const blindSig = (await signingFlow.sign(toSend)).sigs[0];
|
|
110
|
+
const vendorData = await (0, KeyAuthentication_js_1.AuthenticateDeviceReply)(convertinfo.VUID, blindSig, convertinfo.gCMKAuth, convertinfo.authToken, convertinfo.r4, convertinfo.gRMul, null // - GVRK hereeee
|
|
111
|
+
);
|
|
112
|
+
// Return enclave encrypted data
|
|
113
|
+
this.enclaveEncryptedData = (0, Serialization_js_1.bytesToBase64)(await this.browserPublicKey.asymmetricEncrypt((0, Serialization_js_1.StringToUint8Array)(JSON.stringify({
|
|
114
|
+
prkRequesti: convertinfo.decPrismRequesti.map(d => d.PRKRequesti),
|
|
115
|
+
vendorData: vendorData,
|
|
116
|
+
rememberMe: this.rememberMe,
|
|
117
|
+
enclaveEntry: {
|
|
118
|
+
username: this.username,
|
|
119
|
+
//persona, not really supported yet
|
|
120
|
+
expired: convertinfo.expired,
|
|
121
|
+
userInfo: userInfoRef.toNativeTypeObject(),
|
|
122
|
+
orksBitwise: signingFlow.preSignState.bitwise,
|
|
123
|
+
}
|
|
124
|
+
}))));
|
|
125
|
+
}
|
|
126
|
+
async finish() {
|
|
127
|
+
if (!this.enclaveEncryptedData)
|
|
128
|
+
throw 'Call Authenticate() first';
|
|
129
|
+
const success = this.webSocketClient.waitForMessage("login success");
|
|
130
|
+
await this.webSocketClient.sendMessage({
|
|
131
|
+
type: "mobile completed",
|
|
132
|
+
message: this.enclaveEncryptedData
|
|
133
|
+
});
|
|
134
|
+
await success;
|
|
135
|
+
await this.webSocketClient.close();
|
|
136
|
+
}
|
|
137
|
+
async testAuthenticate(devicePrivateKey, sessionKey, userInfo) {
|
|
138
|
+
await this.authenticate(devicePrivateKey, sessionKey, userInfo);
|
|
139
|
+
await this.finish();
|
|
140
|
+
}
|
|
141
|
+
async createNewAccount(devicePrivateKey, deviceName, email) {
|
|
142
|
+
const sessionKey = TideKey_js_1.default.NewKey(Ed25519Scheme_js_1.default);
|
|
143
|
+
const dvk = TideKey_js_1.default.FromSerializedComponent(devicePrivateKey);
|
|
144
|
+
// Reserver UID, get orks to create account
|
|
145
|
+
const { reservationConfirmation, activeOrks } = await index_js_1.dKeyGenerationFlow.ReserveUID(this.userId, this.voucherURL, sessionKey.get_public_component().public, this.homeOrkOrigin);
|
|
146
|
+
// Create a new tide account
|
|
147
|
+
const userOrks = activeOrks.slice(0, Utils_js_1.Max);
|
|
148
|
+
const keyGen = new index_js_1.dKeyGenerationFlow(this.userId, null, userOrks, sessionKey.get_private_component().rawBytes, sessionKey.get_public_component().public, "NEW", this.voucherURL, [email]);
|
|
149
|
+
const { gMultiplied, gK } = await keyGen.GenShard(1, [null], reservationConfirmation);
|
|
150
|
+
const keyM = (await keyGen.SetShard(dvk.get_public_component().Serialize().ToString(), "CMKDevice")).M;
|
|
151
|
+
// Test account
|
|
152
|
+
await this.testAuthenticate(devicePrivateKey, sessionKey, new KeyInfo_js_1.default(this.userId, gK, keyM, userOrks));
|
|
153
|
+
await keyGen.Commit();
|
|
154
|
+
}
|
|
155
|
+
async pairNewDevice(devicePrivateKey, password, deviceName, sessKey = null) {
|
|
156
|
+
// This is where we submit the new device key to the orks
|
|
157
|
+
// Also we authenticate using the username, password
|
|
158
|
+
// Later - when its a device allowing another device to pair - we'll need to show a qr code
|
|
159
|
+
if (!this.userId)
|
|
160
|
+
throw 'Make sure you run ensureReady first';
|
|
161
|
+
const dvk = TideKey_js_1.default.FromSerializedComponent(devicePrivateKey);
|
|
162
|
+
const sessionKey = sessKey != null ? sessKey : TideKey_js_1.default.NewKey(Ed25519Scheme_js_1.default);
|
|
163
|
+
const simClient = new index_js_1.SimClient(this.homeOrkOrigin);
|
|
164
|
+
const userInfo = await simClient.GetKeyInfo(this.userId);
|
|
165
|
+
const draft = (0, Serialization_js_1.CreateTideMemoryFromArray)([
|
|
166
|
+
dvk.get_public_component().Serialize().ToBytes(),
|
|
167
|
+
await dvk.sign(sessionKey.get_public_component().Serialize().ToBytes())
|
|
168
|
+
]);
|
|
169
|
+
const request = new BaseTideRequest_js_1.default("MigratePasswordToMobile", "1", "", draft);
|
|
170
|
+
const signingFlow = new dVVKSigningFlow2Step_js_1.default(this.userId, userInfo.UserPublic, userInfo.OrkInfo, sessionKey, null, this.voucherURL);
|
|
171
|
+
signingFlow.setRequest(request);
|
|
172
|
+
signingFlow.overrideVoucherAction("updateaccount");
|
|
173
|
+
const gPass = new Ed25519Components_js_1.Ed25519PublicComponent(await (0, H2P_js_1.default)(password));
|
|
174
|
+
const r1 = Ed25519Components_js_1.Ed25519PrivateComponent.New();
|
|
175
|
+
const gBlurPass = gPass.MultiplyComponent(r1);
|
|
176
|
+
const prismConvertResponses = (await signingFlow.preSign(gBlurPass.Serialize().ToBytes())).map(r => {
|
|
177
|
+
return new PrismConvertResponse_js_1.default((0, Serialization_js_1.bytesToBase64)((0, Serialization_js_1.GetValue)(r, 0)), TideKey_js_1.default.FromSerializedComponent((0, Serialization_js_1.GetValue)(r, 1)).get_public_component().public); // conversion so we can use PrismConvertReply function
|
|
178
|
+
});
|
|
179
|
+
const convertInfo = await (0, KeyAuthentication_js_1.DevicePrismConvertReply)(prismConvertResponses, signingFlow.orks.map(o => BigInt(o.orkID)), // use signing flow orks reference since these reference the orks that are part of this request
|
|
180
|
+
signingFlow.orks.map(o => o.orkPublic), // use signing flow orks reference since these reference the orks that are part of this request
|
|
181
|
+
r1.priv);
|
|
182
|
+
const dynDatas = convertInfo.prkRequesti.map(p => {
|
|
183
|
+
return (0, Serialization_js_1.CreateTideMemoryFromArray)([
|
|
184
|
+
(0, Serialization_js_1.base64ToBytes)(p),
|
|
185
|
+
(0, Serialization_js_1.BigIntToByteArray)(convertInfo.timestampi),
|
|
186
|
+
(0, Serialization_js_1.StringToUint8Array)(deviceName)
|
|
187
|
+
]);
|
|
188
|
+
});
|
|
189
|
+
const M_signature = (await signingFlow.sign(dynDatas)).sigs[0];
|
|
190
|
+
// Now do test sign in
|
|
191
|
+
await this.testAuthenticate(devicePrivateKey, sessionKey);
|
|
192
|
+
// Now we commit
|
|
193
|
+
// We'll need to construct the requests ourselves since this wasn't made as part of the key gen flow
|
|
194
|
+
const preCommit = signingFlow.orks.map(o => new index_js_1.NodeClient(o.orkURL).Commit(this.userId, (0, Serialization_js_1.BigIntFromByteArray)(M_signature.slice(-32)), sessionKey.get_public_component().public));
|
|
195
|
+
await Promise.all(preCommit);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
exports.default = dMobileAuthenticationFlow;
|
|
199
|
+
//# sourceMappingURL=dMobileAuthenticationFlow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dMobileAuthenticationFlow.js","sourceRoot":"","sources":["../../../../../../modules/tide-js/Flow/AuthenticationFlows/dMobileAuthenticationFlow.js"],"names":[],"mappings":";;;;;AAAA,6CAA2E;AAC3E,kGAAuE;AACvE,sDAA6C;AAC7C,yGAAiI;AACjI,kHAAuF;AACvF,2EAAwD;AACxD,sEAAiO;AACjO,2EAAgD;AAChD,0EAAmL;AACnL,yFAA8D;AAC9D,+EAAoD;AACpD,6HAAkG;AAClG,sGAA2E;AAC3E,mDAAqD;AAErD,MAAqB,yBAAyB;IAE1C,YAAY,oBAAoB;QAC5B,IAAI,CAAC,eAAe,GAAG,IAAI,gCAAmB,CAAC,oBAAoB,CAAC,CAAC;QACrE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC;QACzE,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC;YAC7B,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,IAAI;SAChB,CAAC,CAAC,CAAC,4EAA4E;IACpF,CAAC;IAED,KAAK,CAAC,qBAAqB;QACvB,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC;QACrC,MAAM,kBAAkB,GAAG,CAAC,QAAQ,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,CAAC,CAAC;QAErI,KAAK,MAAM,QAAQ,IAAI,kBAAkB,EAAE,CAAC;YACxC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,+EAA+E,QAAQ,aAAa,CAAC,CAAC;YAC1H,CAAC;QACL,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC,CAAC,wCAAwC;QAC/F,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;QAE7B,IAAI,CAAC,CAAC,QAAQ,KAAK,MAAM;YAAE,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC;aAC5C,IAAI,CAAC,CAAC,QAAQ,KAAK,KAAK;YAAE,CAAC,CAAC,QAAQ,GAAG,OAAO,CAAC;;YAC/C,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAErD,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;QAE9B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,eAAe,CAAC;QACzC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,mBAAmB,CAAC;QAChD,IAAI,CAAC,gBAAgB,GAAG,oBAAO,CAAC,uBAAuB,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAClF,IAAI,CAAC,eAAe,GAAG,oBAAO,CAAC,uBAAuB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAChF,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACzC,CAAC;IACD;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,QAAQ;QACtB,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAEnC,iBAAiB;QACjB,mBAAmB;QACnB,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAC9B,IAAA,qCAAkB,EAAC,IAAI,CAAC,MAAM,CAAC,EAC/B,IAAA,gCAAa,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAEnC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,6BAA6B,GAAG,oBAAO,CAAC,uBAAuB,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAEvG,IAAI,CAAC,8BAA8B,GAAG,oBAAO,CAAC,uBAAuB,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC,CAAC;QACzG,MAAM,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAC3C,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAClE,IAAA,gCAAa,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QAEtC,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;QAE7C,WAAW;QACX,+HAA+H;QAC/H,wHAAwH;QACxH,2FAA2F;QAE3F,qFAAqF;QACrF,MAAM;QAEN,6BAA6B;QAE7B,IAAI,CAAC,MAAM,GAAG,MAAM,IAAA,yBAAM,EAAC,QAAQ,CAAC,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,OAAO;YACH,oBAAoB,EAAE,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE;YACzF,eAAe,EAAE,YAAY,CAAC,WAAW,CAAC;YAC1C,MAAM,EAAE,IAAI,CAAC,MAAM;SACtB,CAAA;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAAC,gBAAgB,EAAE,cAAc,GAAC,IAAI,EAAE,YAAY,GAAC,IAAI;QACvE,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,qCAAqC,CAAC;QAE9D,MAAM,gBAAgB,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,oBAAO,CAAC,MAAM,CAAC,0BAAa,CAAC,CAAC;QAEzF,MAAM,SAAS,GAAG,IAAI,oBAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvF,MAAM,WAAW,GAAG,IAAI,oBAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,iEAAiE;QAElL,MAAM,WAAW,GAAG,IAAI,iCAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1I,WAAW,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAE5C,MAAM,KAAK,GAAG,IAAA,4CAAyB,EAAC,CAAC,IAAI,CAAC,8BAA8B,CAAC,oBAAoB,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvK,MAAM,OAAO,GAAG,IAAI,4BAAe,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,sBAAsB,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;QAC7G,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAChC,MAAM,eAAe,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC;QAE9C,yCAAyC;QACzC,MAAM,GAAG,GAAG,oBAAO,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;QAC9D,MAAM,WAAW,GAAG,MAAM,eAAe,CAAC;QAC1C,MAAM,QAAQ,GAAG,MAAM,aAAE,CAAC,aAAa,CAAC,IAAA,mBAAQ,EAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB;QAEhJ,MAAM,WAAW,GAAG,MAAM,IAAA,yCAAkB,EACxC,WAAW,EACX,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,2EAA2E;QACnJ,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,+FAA+F;QAC3I,QAAQ,CAAC,UAAU,EACnB,WAAW,CAAC,WAAW,EAAE,CAAC,IAAI,EAC9B,WAAW,CAAC,WAAW,EAAE,CAAC,MAAM,EAChC,WAAW,CAAC,WAAW,EAAE,CAAC,CAAC,EAC3B,IAAI,CAAC,6BAA6B,CAAC,oBAAoB,EAAE,EACzD,MAAM,EACN,IAAI,CAAC,SAAS,EACd,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAClC,CAAC;QAEF,MAAM,MAAM,GAAG,WAAW,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAChD,OAAO,IAAA,4CAAyB,EAAC,CAAC,IAAA,gCAAa,EAAC,CAAC,CAAC,WAAW,CAAC,EAAE,IAAA,oCAAiB,EAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;QAChH,CAAC,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAG1D,MAAM,UAAU,GAAG,MAAM,IAAA,8CAAuB,EAC5C,WAAW,CAAC,IAAI,EAChB,QAAQ,EACR,WAAW,CAAC,QAAQ,EACpB,WAAW,CAAC,SAAS,EACrB,WAAW,CAAC,EAAE,EACd,WAAW,CAAC,KAAK,EACjB,IAAI,CAAC,iBAAiB;SACzB,CAAC;QAEF,gCAAgC;QAChC,IAAI,CAAC,oBAAoB,GAAG,IAAA,gCAAa,EAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,IAAA,qCAAkB,EAAC,IAAI,CAAC,SAAS,CACrH;YACI,WAAW,EAAE,WAAW,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;YACjE,UAAU,EAAE,UAAU;YACtB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,YAAY,EAAE;gBACV,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,mCAAmC;gBACnC,OAAO,EAAE,WAAW,CAAC,OAAO;gBAC5B,QAAQ,EAAE,WAAW,CAAC,kBAAkB,EAAE;gBAC1C,WAAW,EAAE,WAAW,CAAC,YAAY,CAAC,OAAO;aAChD;SACJ,CACJ,CAAC,CAAC,CAAC,CAAC;IACT,CAAC;IAED,KAAK,CAAC,MAAM;QACR,IAAG,CAAC,IAAI,CAAC,oBAAoB;YAAE,MAAM,2BAA2B,CAAC;QAEjE,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QACrE,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC;YACnC,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,IAAI,CAAC,oBAAoB;SACrC,CAAC,CAAC;QACH,MAAM,OAAO,CAAC;QACd,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,UAAU,EAAE,QAAQ;QACzD,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QAChE,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,UAAU,EAAE,KAAK;QACtD,MAAM,UAAU,GAAG,oBAAO,CAAC,MAAM,CAAC,0BAAa,CAAC,CAAC;QACjD,MAAM,GAAG,GAAG,oBAAO,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;QAE9D,2CAA2C;QAC3C,MAAM,EAAE,uBAAuB,EAAE,UAAU,EAAC,GAAG,MAAM,6BAAkB,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAE/K,4BAA4B;QAC5B,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,cAAG,CAAC,CAAC;QAC1C,MAAM,MAAM,GAAG,IAAI,6BAAkB,CAAC,IAAI,CAAC,MAAM,EAC7C,IAAI,EACJ,QAAQ,EACR,UAAU,CAAC,qBAAqB,EAAE,CAAC,QAAQ,EAC3C,UAAU,CAAC,oBAAoB,EAAE,CAAC,MAAM,EACxC,KAAK,EACL,IAAI,CAAC,UAAU,EACf,CAAC,KAAK,CAAC,CACV,CAAC;QACF,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,uBAAuB,CAAC,CAAC;QACtF,MAAM,IAAI,GAAG,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QAEvG,eAAe;QACf,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,UAAU,EAAE,IAAI,oBAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;QAExG,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,gBAAgB,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,GAAC,IAAI;QACpE,0DAA0D;QAE1D,oDAAoD;QAEpD,2FAA2F;QAE3F,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,MAAM,qCAAqC,CAAC;QAE9D,MAAM,GAAG,GAAG,oBAAO,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;QAC9D,MAAM,UAAU,GAAG,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAO,CAAC,MAAM,CAAC,0BAAa,CAAC,CAAC;QAE7E,MAAM,SAAS,GAAG,IAAI,oBAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACpD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEzD,MAAM,KAAK,GAAG,IAAA,4CAAyB,EAAC;YACpC,GAAG,CAAC,oBAAoB,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE;YAChD,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC;SAC1E,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,IAAI,4BAAe,CAAC,yBAAyB,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;QAE/E,MAAM,WAAW,GAAG,IAAI,iCAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACpI,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAChC,WAAW,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;QAEnD,MAAM,KAAK,GAAG,IAAI,6CAAsB,CAAC,MAAM,IAAA,gBAAW,EAAC,QAAQ,CAAC,CAAC,CAAC;QACtE,MAAM,EAAE,GAAG,8CAAuB,CAAC,GAAG,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAE9C,MAAM,qBAAqB,GAAG,CAAC,MAAM,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC/F,OAAO,IAAI,iCAAoB,CAAC,IAAA,gCAAa,EAAC,IAAA,2BAAQ,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,oBAAO,CAAC,uBAAuB,CAAC,IAAA,2BAAQ,EAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,oBAAoB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,sDAAsD;QACzM,CAAC,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,MAAM,IAAA,8CAAuB,EAC7C,qBAAqB,EACrB,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,+FAA+F;QAC3I,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,+FAA+F;QACvI,EAAE,CAAC,IAAI,CACV,CAAC;QAEF,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YAC7C,OAAO,IAAA,4CAAyB,EAAC;gBAC7B,IAAA,gCAAa,EAAC,CAAC,CAAC;gBAChB,IAAA,oCAAiB,EAAC,WAAW,CAAC,UAAU,CAAC;gBACzC,IAAA,qCAAkB,EAAC,UAAU,CAAC;aACjC,CAAC,CAAC;QACP,CAAC,CAAC,CAAA;QAEF,MAAM,WAAW,GAAG,CAAC,MAAM,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAE/D,sBAAsB;QACtB,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;QAG1D,gBAAgB;QAChB,oGAAoG;QACpG,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,qBAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAA,sCAAmB,EAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,CAAC,oBAAoB,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QACjL,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;CACJ;AAhQD,4CAgQC"}
|
|
@@ -50,16 +50,17 @@ class dVVKSigningFlow {
|
|
|
50
50
|
* @param {bool} waitForAll
|
|
51
51
|
*/
|
|
52
52
|
async start(request, waitForAll = false) {
|
|
53
|
-
const pre_clients = this.orks.map(info => new NodeClient_js_1.default(info.orkURL).AddBearerAuthorization(this.sessKey.get_private_component().rawBytes, this.sessKey.get_public_component().Serialize().ToString(), this.doken).EnableTideDH(info.orkPublic));
|
|
54
53
|
const voucherFlow = new VoucherFlow_js_1.default(this.orks.map(o => o.orkPaymentPublic), this.voucherURL, "vendorsign");
|
|
55
|
-
const
|
|
56
|
-
const
|
|
54
|
+
const pre_vouchers = voucherFlow.GetVouchers(this.getVouchersFunction);
|
|
55
|
+
const pre_clients = this.orks.map(info => new NodeClient_js_1.default(info.orkURL).AddBearerAuthorization(this.sessKey.get_private_component().rawBytes, this.sessKey.get_public_component().Serialize().ToString(), this.doken).EnableTideDH(info.orkPublic));
|
|
56
|
+
const clients = await Promise.all(pre_clients);
|
|
57
|
+
const { vouchers } = await pre_vouchers;
|
|
57
58
|
const pre_PreSignResponses = clients.map((client, i) => client.PreSign(i, this.vvkid, request, vouchers.toORK(i)));
|
|
58
59
|
const { fulfilledResponses, bitwise } = await (0, Utils_js_1.WaitForNumberofORKs)(this.orks, pre_PreSignResponses, "VVK", waitForAll ? Utils_js_1.Max : Utils_js_1.Threshold, null, clients);
|
|
59
|
-
const GRj = (0, KeySigning_js_1.PreSign)(fulfilledResponses);
|
|
60
|
-
const pre_SignResponses = clients.map(client => client.Sign(this.vvkid, request, GRj, (0, Serialization_js_1.serializeBitArray)(bitwise)));
|
|
60
|
+
const GRj = (0, KeySigning_js_1.PreSign)(fulfilledResponses.map(f => f.GRis));
|
|
61
|
+
const pre_SignResponses = clients.map((client, i) => client.Sign(this.vvkid, request, GRj, (0, Serialization_js_1.serializeBitArray)(bitwise)));
|
|
61
62
|
const SignResponses = await Promise.all(pre_SignResponses);
|
|
62
|
-
const Sj = (0, KeySigning_js_1.Sign)(SignResponses);
|
|
63
|
+
const Sj = (0, KeySigning_js_1.Sign)(SignResponses.map(s => s.Sij));
|
|
63
64
|
if (GRj.length != Sj.length)
|
|
64
65
|
throw Error("Weird amount of GRjs and Sjs");
|
|
65
66
|
let sigs = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dVVKSigningFlow.js","sourceRoot":"","sources":["../../../../../../modules/tide-js/Flow/SigningFlows/dVVKSigningFlow.js"],"names":[],"mappings":";;;;;AAAA,sDAAgD;AAChD,yFAA8D;AAC9D,mDAAqF;AACrF,gFAAqD;AACrD,+EAAoD;AACpD,4DAAiE;AACjE,sEAAyH;AACzH,oFAAyD;AACzD,oDAA8C;AAC9C,yGAAyG;AACzG,2EAAgD;AAEhD,MAAqB,eAAe;IAChC;;;;;;;OAOG;IACH,YAAY,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU;QAC1D,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAA,mBAAQ,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB;QAErD,IAAG,KAAK,EAAC,CAAC;YACN,IAAG,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;gBAAE,MAAM,KAAK,CAAC,mEAAmE,CAAC,CAAC;YACtJ,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAEhC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAEjC,CAAC;IACD;;;OAGG;IACH,2BAA2B,CAAC,mBAAmB;QAC3C,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,GAAG,KAAK;QAEnC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"dVVKSigningFlow.js","sourceRoot":"","sources":["../../../../../../modules/tide-js/Flow/SigningFlows/dVVKSigningFlow.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const index_js_1 = require("../../Cryptide/index.js");
|
|
7
|
+
const BaseTideRequest_js_1 = __importDefault(require("../../Models/BaseTideRequest.js"));
|
|
8
|
+
const Utils_js_1 = require("../../Tools/Utils.js");
|
|
9
|
+
const NodeClient_js_1 = __importDefault(require("../../Clients/NodeClient.js"));
|
|
10
|
+
const OrkInfo_js_1 = __importDefault(require("../../Models/Infos/OrkInfo.js"));
|
|
11
|
+
const KeySigning_js_1 = require("../../Math/KeySigning.js");
|
|
12
|
+
const Serialization_js_1 = require("../../Cryptide/Serialization.js");
|
|
13
|
+
const VoucherFlow_js_1 = __importDefault(require("../VoucherFlows/VoucherFlow.js"));
|
|
14
|
+
const Doken_js_1 = require("../../Models/Doken.js");
|
|
15
|
+
const TideKey_js_1 = __importDefault(require("../../Cryptide/TideKey.js"));
|
|
16
|
+
class dVVKSigningFlow2Step {
|
|
17
|
+
/**
|
|
18
|
+
* @param {string} vvkid
|
|
19
|
+
* @param {Point} vvkPublic
|
|
20
|
+
* @param {OrkInfo[]} orks
|
|
21
|
+
* @param {TideKey} sessKey
|
|
22
|
+
* @param {Doken} doken
|
|
23
|
+
* @param {string} voucherURL
|
|
24
|
+
*/
|
|
25
|
+
constructor(vvkid, vvkPublic, orks, sessKey, doken, voucherURL) {
|
|
26
|
+
this.vvkid = vvkid;
|
|
27
|
+
this.vvkPublic = vvkPublic;
|
|
28
|
+
this.orks = orks;
|
|
29
|
+
this.orks = (0, Utils_js_1.sortORKs)(this.orks); // sort for bitwise!
|
|
30
|
+
if (doken) {
|
|
31
|
+
if (!doken.payload.sessionKey.Equals(sessKey.get_public_component()))
|
|
32
|
+
throw Error("Mismatch between session key private and Doken session key public");
|
|
33
|
+
this.doken = doken.serialize();
|
|
34
|
+
}
|
|
35
|
+
this.sessKey = sessKey;
|
|
36
|
+
this.getVouchersFunction = null;
|
|
37
|
+
this.voucherURL = voucherURL;
|
|
38
|
+
this.vendorAction = "vendorsign";
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* @param {(request: string) => Promise<string> } getVouchersFunction
|
|
42
|
+
* @returns {dVVKSigningFlow}
|
|
43
|
+
*/
|
|
44
|
+
setVoucherRetrievalFunction(getVouchersFunction) {
|
|
45
|
+
this.getVouchersFunction = getVouchersFunction;
|
|
46
|
+
return this;
|
|
47
|
+
}
|
|
48
|
+
async setRequest(request) {
|
|
49
|
+
if (!(request instanceof BaseTideRequest_js_1.default))
|
|
50
|
+
throw 'Request is not a BaseTideRequest';
|
|
51
|
+
if (request.dyanmicData.length != 0)
|
|
52
|
+
throw 'Dyanamic data must be null for signing flow 2 step';
|
|
53
|
+
this.request = request;
|
|
54
|
+
}
|
|
55
|
+
async overrideVoucherAction(action) {
|
|
56
|
+
this.vendorAction = action;
|
|
57
|
+
}
|
|
58
|
+
getVouchers() {
|
|
59
|
+
if (!this.vouchers)
|
|
60
|
+
throw 'Call preSign first';
|
|
61
|
+
return this.vouchers;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
*
|
|
65
|
+
* @param {Uint8Array | Uint8Array[]} dynamicData
|
|
66
|
+
* @returns {Promise<Uint8Array[]>}
|
|
67
|
+
*/
|
|
68
|
+
async preSign(dynamicData) {
|
|
69
|
+
let dynDataisArray = false;
|
|
70
|
+
if (dynamicData) {
|
|
71
|
+
if (!(dynamicData instanceof Uint8Array) && !(Array.isArray(dynamicData)))
|
|
72
|
+
throw 'Dynamic data must be Uint8Array or Uint8Array[]';
|
|
73
|
+
if (dynamicData instanceof Uint8Array) {
|
|
74
|
+
this.request.dyanmicData = dynamicData;
|
|
75
|
+
}
|
|
76
|
+
else
|
|
77
|
+
dynDataisArray = true;
|
|
78
|
+
}
|
|
79
|
+
const voucherFlow = new VoucherFlow_js_1.default(this.orks.map(o => o.orkPaymentPublic), this.voucherURL, this.vendorAction);
|
|
80
|
+
const pre_vouchers = voucherFlow.GetVouchers(this.getVouchersFunction);
|
|
81
|
+
const pre_clients = this.orks.map(info => new NodeClient_js_1.default(info.orkURL).AddBearerAuthorization(this.sessKey.get_private_component().rawBytes, this.sessKey.get_public_component().Serialize().ToString(), this.doken).EnableTideDH(info.orkPublic));
|
|
82
|
+
const clients = await Promise.all(pre_clients);
|
|
83
|
+
const { vouchers, k } = await pre_vouchers;
|
|
84
|
+
this.vouchers = {
|
|
85
|
+
k,
|
|
86
|
+
...vouchers
|
|
87
|
+
};
|
|
88
|
+
const pre_PreSignResponses = clients.map((client, i) => client.PreSign(i, this.vvkid, dynDataisArray ? this.request.replicate().setNewDynamicData(dynamicData[i]) : this.request, vouchers.toORK(i)));
|
|
89
|
+
const { fulfilledResponses, bitwise } = await (0, Utils_js_1.WaitForNumberofORKs)(this.orks, pre_PreSignResponses, "VVK", Utils_js_1.Threshold, null, clients);
|
|
90
|
+
const GRj = (0, KeySigning_js_1.PreSign)(fulfilledResponses.map(f => f.GRis));
|
|
91
|
+
this.preSignState = {
|
|
92
|
+
clients,
|
|
93
|
+
GRj,
|
|
94
|
+
bitwise
|
|
95
|
+
};
|
|
96
|
+
return fulfilledResponses.map(f => f.AdditionalData);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* @param {Uint8Array | Uint8Array[]} dynamicData
|
|
100
|
+
* @returns
|
|
101
|
+
*/
|
|
102
|
+
async sign(dynamicData) {
|
|
103
|
+
let dynDataisArray = false;
|
|
104
|
+
if (dynamicData) {
|
|
105
|
+
if (!(dynamicData instanceof Uint8Array) && !(Array.isArray(dynamicData)))
|
|
106
|
+
throw 'Dynamic data must be Uint8Array or Uint8Array[]';
|
|
107
|
+
if (dynamicData instanceof Uint8Array) {
|
|
108
|
+
this.request.dyanmicData = dynamicData;
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
if (dynamicData.length != this.preSignState.clients.length)
|
|
112
|
+
throw Error("Supplied datas array must equal client amount");
|
|
113
|
+
dynDataisArray = true;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
if (!this.preSignState)
|
|
117
|
+
throw 'Execute preSign first';
|
|
118
|
+
const pre_SignResponses = this.preSignState.clients.map((client, i) => client.Sign(this.vvkid, dynDataisArray ? this.request.replicate().setNewDynamicData(dynamicData[i]) : this.request, this.preSignState.GRj, (0, Serialization_js_1.serializeBitArray)(this.preSignState.bitwise)));
|
|
119
|
+
const SignResponses = await Promise.all(pre_SignResponses);
|
|
120
|
+
const Sj = (0, KeySigning_js_1.Sign)(SignResponses.map(s => s.Sij));
|
|
121
|
+
if (this.preSignState.GRj.length != Sj.length)
|
|
122
|
+
throw Error("Weird amount of GRjs and Sjs");
|
|
123
|
+
let sigs = [];
|
|
124
|
+
for (let i = 0; i < this.preSignState.GRj.length; i++) {
|
|
125
|
+
sigs.push((0, Serialization_js_1.ConcatUint8Arrays)([this.preSignState.GRj[i].toRawBytes(), (0, Serialization_js_1.BigIntToByteArray)(Sj[i])]));
|
|
126
|
+
}
|
|
127
|
+
return {
|
|
128
|
+
sigs,
|
|
129
|
+
addionalDatas: SignResponses.map(s => s.AdditionalData)
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
exports.default = dVVKSigningFlow2Step;
|
|
134
|
+
//# sourceMappingURL=dVVKSigningFlow2Step.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dVVKSigningFlow2Step.js","sourceRoot":"","sources":["../../../../../../modules/tide-js/Flow/SigningFlows/dVVKSigningFlow2Step.js"],"names":[],"mappings":"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"}
|
|
@@ -33,6 +33,7 @@ const SimulatorFlow_js_1 = __importDefault(require("./SimulatorFlow.js"));
|
|
|
33
33
|
const Ed25519Components_js_1 = require("../Cryptide/Components/Schemes/Ed25519/Ed25519Components.js");
|
|
34
34
|
class dKeyGenerationFlow {
|
|
35
35
|
/**
|
|
36
|
+
* TODO Remove gVRK from params
|
|
36
37
|
* @param {string} uid
|
|
37
38
|
* @param {string} gVRK
|
|
38
39
|
* @param {OrkInfo[]} orks
|
|
@@ -53,9 +54,8 @@ class dKeyGenerationFlow {
|
|
|
53
54
|
if (orks.length < Utils_js_1.Max)
|
|
54
55
|
throw Error("Not enough orks available to create an account");
|
|
55
56
|
this.uid = uid;
|
|
56
|
-
this.gVRK = Ed25519_js_1.Point.fromBase64(gVRK);
|
|
57
57
|
this.bitwise = bitwise == null ? null : bitwise;
|
|
58
|
-
this.orks = (0, Utils_js_1.sortORKs)(orks);
|
|
58
|
+
this.orks = (0, Utils_js_1.sortORKs)(orks).slice(0, Utils_js_1.Max); // only take max;
|
|
59
59
|
this.selfRequesti = selfRequesti;
|
|
60
60
|
this.userPublic = userPublic;
|
|
61
61
|
this.sessKey = sessKey;
|
|
@@ -67,8 +67,8 @@ class dKeyGenerationFlow {
|
|
|
67
67
|
this.savedOrkPublics = this.orks.map(o => o.orkPublic);
|
|
68
68
|
this.orksToWaitFor = purpose == "NEW" ? Utils_js_1.Max : Utils_js_1.Threshold;
|
|
69
69
|
}
|
|
70
|
-
static async ReserveUID(uid, voucherURL, gSessKeyPub) {
|
|
71
|
-
const simClient = new NetworkClient_js_1.default();
|
|
70
|
+
static async ReserveUID(uid, voucherURL, gSessKeyPub, homeOrkUrl = null) {
|
|
71
|
+
const simClient = new NetworkClient_js_1.default(homeOrkUrl);
|
|
72
72
|
const availableOrks = (await simClient.FindReservers(uid));
|
|
73
73
|
const pre_activeOrks = SimulatorFlow_js_1.default.FilterInactiveOrks(availableOrks);
|
|
74
74
|
const reservers = availableOrks.slice(0, 5); // super unlikely all 5 orks are down
|
|
@@ -156,26 +156,6 @@ class dKeyGenerationFlow {
|
|
|
156
156
|
});
|
|
157
157
|
return { gMultiplied: UnblurredGMultipled, gK: this.gState.gK };
|
|
158
158
|
}
|
|
159
|
-
/**
|
|
160
|
-
* @param {string} auth
|
|
161
|
-
* @param {string} authSig
|
|
162
|
-
*/
|
|
163
|
-
async GenVVKShard(auth, authSig) {
|
|
164
|
-
const clients = this.orks.map(ork => new NodeClient_js_1.default(ork.orkURL)); // create node clients
|
|
165
|
-
const { vouchers } = await (new VoucherFlow_js_1.default(this.orks.map(o => o.orkPaymentPublic), this.voucherURL, "vendorcreation").GetVouchers(this.getVouchersFunction));
|
|
166
|
-
const ids = this.orks.map(ork => ork.orkID);
|
|
167
|
-
const pre_GenShardResponses = clients.map((client, i) => client.GenVVKShard(this.uid, this.gVRK, auth, authSig, ids, vouchers.toORK(i)));
|
|
168
|
-
// create prkECDHi here to save time
|
|
169
|
-
const prkECHi = await index_js_1.DH.generateECDHi(this.orks.map(o => o.orkPublic), this.sessKey);
|
|
170
|
-
const fulfilledResponses = await Promise.all(pre_GenShardResponses);
|
|
171
|
-
const bitwise = new Array(Utils_js_1.Max).fill(1); // all must respond
|
|
172
|
-
this.gState = {
|
|
173
|
-
bitwise: bitwise,
|
|
174
|
-
prkECHi,
|
|
175
|
-
...await (0, KeyGeneration_js_1.ProcessShards)(fulfilledResponses, bitwise, this.sessKey, true)
|
|
176
|
-
};
|
|
177
|
-
return { gK: this.gState.gK };
|
|
178
|
-
}
|
|
179
159
|
/**
|
|
180
160
|
* @param {string} authorizer
|
|
181
161
|
* @param {string} keyType
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dKeyGenerationFlow.js","sourceRoot":"","sources":["../../../../../modules/tide-js/Flow/dKeyGenerationFlow.js"],"names":[],"mappings":";AAAA,GAAG;AACH,gEAAgE;AAChE,yCAAyC;AACzC,GAAG;AACH,gEAAgE;AAChE,4DAA4D;AAC5D,+DAA+D;AAC/D,kEAAkE;AAClE,6DAA6D;AAC7D,gEAAgE;AAChE,oCAAoC;AACpC,6DAA6D;AAC7D,8DAA8D;AAC9D,wCAAwC;AACxC,qDAAqD;AACrD,EAAE;;;;;AAEF,6EAAkD;AAClD,4EAAiD;AAEjD,+DAA0E;AAC1E,gDAAgH;AAChH,iDAAmD;AACnD,uDAA+C;AAC/C,mEAA8J;AAC9J,mDAA+C;AAC/C,mFAAwD;AACxD,mFAAwD;AACxD,0EAA+C;AAC/C,sGAAqG;AAErG,MAAqB,kBAAkB;IACnC
|
|
1
|
+
{"version":3,"file":"dKeyGenerationFlow.js","sourceRoot":"","sources":["../../../../../modules/tide-js/Flow/dKeyGenerationFlow.js"],"names":[],"mappings":"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"}
|