@wireapp/core 44.0.8 → 44.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (24) hide show
  1. package/lib/messagingProtocols/mls/E2EIdentityService/E2EIServiceExternal.d.ts +11 -3
  2. package/lib/messagingProtocols/mls/E2EIdentityService/E2EIServiceExternal.d.ts.map +1 -1
  3. package/lib/messagingProtocols/mls/E2EIdentityService/E2EIServiceExternal.js +14 -4
  4. package/lib/messagingProtocols/mls/E2EIdentityService/E2EIServiceInternal.d.ts +3 -1
  5. package/lib/messagingProtocols/mls/E2EIdentityService/E2EIServiceInternal.d.ts.map +1 -1
  6. package/lib/messagingProtocols/mls/E2EIdentityService/E2EIServiceInternal.js +18 -21
  7. package/lib/messagingProtocols/mls/E2EIdentityService/Steps/Authorization.d.ts +2 -2
  8. package/lib/messagingProtocols/mls/E2EIdentityService/Steps/Authorization.d.ts.map +1 -1
  9. package/lib/messagingProtocols/mls/E2EIdentityService/Steps/DpopChallenge/DpopChallenge.types.d.ts +2 -2
  10. package/lib/messagingProtocols/mls/E2EIdentityService/Steps/DpopChallenge/DpopChallenge.types.d.ts.map +1 -1
  11. package/lib/messagingProtocols/mls/E2EIdentityService/Steps/OidcChallenge.d.ts +2 -2
  12. package/lib/messagingProtocols/mls/E2EIdentityService/Steps/OidcChallenge.d.ts.map +1 -1
  13. package/lib/messagingProtocols/mls/E2EIdentityService/Storage/E2EIStorage.d.ts +6 -19
  14. package/lib/messagingProtocols/mls/E2EIdentityService/Storage/E2EIStorage.d.ts.map +1 -1
  15. package/lib/messagingProtocols/mls/E2EIdentityService/Storage/E2EIStorage.js +17 -62
  16. package/lib/messagingProtocols/mls/E2EIdentityService/Storage/E2EIStorage.schema.d.ts +8 -9
  17. package/lib/messagingProtocols/mls/E2EIdentityService/Storage/E2EIStorage.schema.d.ts.map +1 -1
  18. package/lib/messagingProtocols/mls/E2EIdentityService/Storage/E2EIStorage.schema.js +5 -7
  19. package/lib/messagingProtocols/mls/MLSService/MLSService.d.ts.map +1 -1
  20. package/lib/messagingProtocols/mls/MLSService/MLSService.js +1 -1
  21. package/lib/storage/CoreDB.d.ts +5 -0
  22. package/lib/storage/CoreDB.d.ts.map +1 -1
  23. package/lib/storage/CoreDB.js +3 -1
  24. package/package.json +2 -2
@@ -20,9 +20,10 @@ export declare class E2EIServiceExternal extends TypedEventEmitter<Events> {
20
20
  private readonly clientService;
21
21
  private readonly mlsService;
22
22
  private _acmeService?;
23
+ private readonly enrollmentStorage;
23
24
  constructor(coreCryptoClient: CoreCrypto, coreDatabase: CoreDatabase, recurringTaskScheduler: RecurringTaskScheduler, clientService: ClientService, mlsService: MLSService);
24
- isEnrollmentInProgress(): boolean;
25
- clearAllProgress(): void;
25
+ isEnrollmentInProgress(): Promise<boolean>;
26
+ clearAllProgress(): Promise<void>;
26
27
  getConversationState(conversationId: Uint8Array): Promise<E2eiConversationState>;
27
28
  isE2EIEnabled(): Promise<boolean>;
28
29
  getAllGroupUsersIdentities(groupId: string): Promise<Map<string, DeviceIdentity[]>>;
@@ -30,6 +31,13 @@ export declare class E2EIServiceExternal extends TypedEventEmitter<Events> {
30
31
  getDevicesIdentities(groupId: string, userClientsMap: Record<string, QualifiedId>): Promise<DeviceIdentity[]>;
31
32
  isFreshMLSSelfClient(): Promise<boolean>;
32
33
  private registerLocalCertificateRoot;
34
+ /**
35
+ * will initialize the E2EIServiceExternal with the given discoveryUrl and userId.
36
+ * It will also register the server certificates in CoreCrypto.
37
+ *
38
+ * @param discoveryUrl the discovery url of the acme server
39
+ * @param userId the user that is concerned by the enrollment
40
+ */
33
41
  initialize(discoveryUrl: string): Promise<void>;
34
42
  private get acmeService();
35
43
  private registerCrossSignedCertificates;
@@ -46,7 +54,7 @@ export declare class E2EIServiceExternal extends TypedEventEmitter<Events> {
46
54
  *
47
55
  * Both must be registered before the first enrollment.
48
56
  */
49
- registerServerCertificates(): Promise<void>;
57
+ private registerServerCertificates;
50
58
  private scheduleCrlDistributionTimer;
51
59
  private initialiseCrlDistributionTimers;
52
60
  private addCrlDistributionTimer;
@@ -1 +1 @@
1
- {"version":3,"file":"E2EIServiceExternal.d.ts","sourceRoot":"","sources":["../../../../src/messagingProtocols/mls/E2EIdentityService/E2EIServiceExternal.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAC;AAIzD,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAC,UAAU,EAAE,qBAAqB,EAAE,YAAY,EAAE,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAMnG,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AAKrD,OAAO,EAAC,sBAAsB,EAAC,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAEzC,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,CAAC,GAAG;IAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAC,CAAC;AAE/G,KAAK,MAAM,GAAG;IACZ,gBAAgB,EAAE,SAAS,CAAC;IAC5B,cAAc,EAAE,SAAS,CAAC;CAC3B,CAAC;AAGF,qBAAa,mBAAoB,SAAQ,iBAAiB,CAAC,MAAM,CAAC;IAI9D,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAP7B,OAAO,CAAC,YAAY,CAAC,CAAc;gBAGhB,gBAAgB,EAAE,UAAU,EAC5B,YAAY,EAAE,YAAY,EAC1B,sBAAsB,EAAE,sBAAsB,EAC9C,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU;IAUlC,sBAAsB,IAAI,OAAO;IAIjC,gBAAgB,IAAI,IAAI;IAIxB,oBAAoB,CAAC,cAAc,EAAE,UAAU,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAIhF,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IAI3B,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;IAgBnF,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;IAgDnG,oBAAoB,CAC/B,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAC1C,OAAO,CAAC,cAAc,EAAE,CAAC;IAef,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC;YAQvC,4BAA4B;IAO7B,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5D,OAAO,KAAK,WAAW,GAKtB;YAEa,+BAA+B;IAK7C;;;;;;;;;;;;OAYG;IACU,0BAA0B,IAAI,OAAO,CAAC,IAAI,CAAC;IA6BxD,OAAO,CAAC,4BAA4B;YAStB,+BAA+B;YAQ/B,uBAAuB;YAKvB,0BAA0B;IAI3B,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;YAQ/B,4BAA4B;YAS5B,WAAW;YAkBX,8BAA8B;CAK7C"}
1
+ {"version":3,"file":"E2EIServiceExternal.d.ts","sourceRoot":"","sources":["../../../../src/messagingProtocols/mls/E2EIdentityService/E2EIServiceExternal.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAC;AAIzD,OAAO,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAC,UAAU,EAAE,qBAAqB,EAAE,YAAY,EAAE,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAMnG,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AAKrD,OAAO,EAAC,sBAAsB,EAAC,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAEzC,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,CAAC,GAAG;IAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAC,CAAC;AAE/G,KAAK,MAAM,GAAG;IACZ,gBAAgB,EAAE,SAAS,CAAC;IAC5B,cAAc,EAAE,SAAS,CAAC;CAC3B,CAAC;AAGF,qBAAa,mBAAoB,SAAQ,iBAAiB,CAAC,MAAM,CAAC;IAK9D,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAR7B,OAAO,CAAC,YAAY,CAAC,CAAc;IACnC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAiD;gBAGhE,gBAAgB,EAAE,UAAU,EAC5B,YAAY,EAAE,YAAY,EAC1B,sBAAsB,EAAE,sBAAsB,EAC9C,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,UAAU;IAW5B,sBAAsB,IAAI,OAAO,CAAC,OAAO,CAAC;IAKhD,gBAAgB;IAIhB,oBAAoB,CAAC,cAAc,EAAE,UAAU,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAIhF,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC;IAI3B,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;IAgBnF,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;IAgDnG,oBAAoB,CAC/B,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,GAC1C,OAAO,CAAC,cAAc,EAAE,CAAC;IAef,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC;YAQvC,4BAA4B;IAO1C;;;;;;OAMG;IACU,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5D,OAAO,KAAK,WAAW,GAKtB;YAEa,+BAA+B;IAK7C;;;;;;;;;;;;OAYG;YACW,0BAA0B;IA6BxC,OAAO,CAAC,4BAA4B;YAStB,+BAA+B;YAQ/B,uBAAuB;YAKvB,0BAA0B;IAI3B,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;YAQ/B,4BAA4B;YAS5B,WAAW;YAkBX,8BAA8B;CAK7C"}
@@ -39,14 +39,16 @@ class E2EIServiceExternal extends commons_1.TypedEventEmitter {
39
39
  this.clientService = clientService;
40
40
  this.mlsService = mlsService;
41
41
  void this.initialiseCrlDistributionTimers();
42
+ this.enrollmentStorage = (0, E2EIStorage_1.createE2EIEnrollmentStorage)(coreDatabase);
42
43
  mlsService.on('newCrlDistributionPoints', distributionPoints => this.handleNewCrlDistributionPoints(distributionPoints));
43
44
  }
44
45
  // If we have a handle in the local storage, we are in the enrollment process (this handle is saved before oauth redirect)
45
- isEnrollmentInProgress() {
46
- return E2EIStorage_1.E2EIStorage.has.handle();
46
+ async isEnrollmentInProgress() {
47
+ const data = await this.enrollmentStorage.getPendingEnrollmentData();
48
+ return !!data;
47
49
  }
48
50
  clearAllProgress() {
49
- E2EIStorage_1.E2EIStorage.remove.temporaryData();
51
+ return this.enrollmentStorage.deletePendingEnrollmentData();
50
52
  }
51
53
  getConversationState(conversationId) {
52
54
  return this.coreCryptoClient.e2eiConversationState(conversationId);
@@ -104,8 +106,16 @@ class E2EIServiceExternal extends commons_1.TypedEventEmitter {
104
106
  await this.coreCryptoClient.e2eiRegisterAcmeCA(localCertificateRoot);
105
107
  return localCertificateRoot;
106
108
  }
109
+ /**
110
+ * will initialize the E2EIServiceExternal with the given discoveryUrl and userId.
111
+ * It will also register the server certificates in CoreCrypto.
112
+ *
113
+ * @param discoveryUrl the discovery url of the acme server
114
+ * @param userId the user that is concerned by the enrollment
115
+ */
107
116
  async initialize(discoveryUrl) {
108
117
  this._acmeService = new Connection_1.AcmeService(discoveryUrl);
118
+ await this.registerServerCertificates();
109
119
  }
110
120
  get acmeService() {
111
121
  if (!this._acmeService) {
@@ -132,7 +142,7 @@ class E2EIServiceExternal extends commons_1.TypedEventEmitter {
132
142
  */
133
143
  async registerServerCertificates() {
134
144
  const ROOT_CA_KEY = 'e2ei_root-registered';
135
- const store = (0, LocalStorageStore_1.LocalStorageStore)(ROOT_CA_KEY);
145
+ const store = (0, LocalStorageStore_1.LocalStorageStore)(this.coreDatabase.name);
136
146
  // Register root certificate if not already registered
137
147
  if (!store.has(ROOT_CA_KEY)) {
138
148
  await this.registerLocalCertificateRoot(this.acmeService);
@@ -1,6 +1,7 @@
1
1
  import { APIClient } from '@wireapp/api-client';
2
2
  import { CoreCrypto, RotateBundle } from './E2EIService.types';
3
3
  import { InitialData } from './Storage/E2EIStorage.schema';
4
+ import { CoreDatabase } from '../../../storage/CoreDB';
4
5
  export declare class E2EIServiceInternal {
5
6
  private readonly coreCryptoClient;
6
7
  private readonly apiClient;
@@ -10,7 +11,8 @@ export declare class E2EIServiceInternal {
10
11
  private readonly initialData;
11
12
  private readonly logger;
12
13
  private acmeService;
13
- constructor(coreCryptoClient: CoreCrypto, apiClient: APIClient,
14
+ private enrollmentStorage;
15
+ constructor(coreDb: CoreDatabase, coreCryptoClient: CoreCrypto, apiClient: APIClient,
14
16
  /** number of seconds the certificate should be valid */
15
17
  certificateTtl: number, keyPackagesAmount: number, initialData: InitialData);
16
18
  startCertificateProcess(hasActiveCertificate: boolean): Promise<{
@@ -1 +1 @@
1
- {"version":3,"file":"E2EIServiceInternal.d.ts","sourceRoot":"","sources":["../../../../src/messagingProtocols/mls/E2EIdentityService/E2EIServiceInternal.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAG9C,OAAO,EAA6B,UAAU,EAAkB,YAAY,EAAC,MAAM,qBAAqB,CAAC;AASzG,OAAO,EAAW,WAAW,EAAC,MAAM,8BAA8B,CAAC;AAEnE,qBAAa,mBAAmB;IAK5B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,wDAAwD;IACxD,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAT9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuD;IAC9E,OAAO,CAAC,WAAW,CAAc;gBAGd,gBAAgB,EAAE,UAAU,EAC5B,SAAS,EAAE,SAAS;IACrC,wDAAwD;IACvC,cAAc,EAAE,MAAM,EACtB,iBAAiB,EAAE,MAAM,EACzB,WAAW,EAAE,WAAW;IAM9B,uBAAuB,CAAC,oBAAoB,EAAE,OAAO;;;;;;;;IAkBrD,0BAA0B,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAYhG;;;;;OAKG;IACU,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,oBAAoB,EAAE,OAAO;YASnE,YAAY;YAuBZ,YAAY;YAUZ,eAAe;IAQ7B;;;;;OAKG;YACW,uBAAuB;IAyCrC;;;;;;;OAOG;YACW,eAAe;CA6D9B"}
1
+ {"version":3,"file":"E2EIServiceInternal.d.ts","sourceRoot":"","sources":["../../../../src/messagingProtocols/mls/E2EIdentityService/E2EIServiceInternal.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAG9C,OAAO,EAA6B,UAAU,EAAkB,YAAY,EAAC,MAAM,qBAAqB,CAAC;AASzG,OAAO,EAAC,WAAW,EAAiC,MAAM,8BAA8B,CAAC;AAEzF,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AAErD,qBAAa,mBAAmB;IAO5B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,wDAAwD;IACxD,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAX9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuD;IAC9E,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,iBAAiB,CAAiD;gBAGxE,MAAM,EAAE,YAAY,EACH,gBAAgB,EAAE,UAAU,EAC5B,SAAS,EAAE,SAAS;IACrC,wDAAwD;IACvC,cAAc,EAAE,MAAM,EACtB,iBAAiB,EAAE,MAAM,EACzB,WAAW,EAAE,WAAW;IAO9B,uBAAuB,CAAC,oBAAoB,EAAE,OAAO;;;;;;;;IAiBrD,0BAA0B,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAYhG;;;;;OAKG;IACU,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,oBAAoB,EAAE,OAAO;YASnE,YAAY;YAuBZ,YAAY;YAUZ,eAAe;IAQ7B;;;;;OAKG;YACW,uBAAuB;IAyCrC;;;;;;;OAOG;YACW,eAAe;CAgE9B"}
@@ -22,7 +22,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
22
22
  };
23
23
  Object.defineProperty(exports, "__esModule", { value: true });
24
24
  exports.E2EIServiceInternal = void 0;
25
- const bazinga64_1 = require("bazinga64");
26
25
  const logdown_1 = __importDefault(require("logdown"));
27
26
  const AcmeServer_1 = require("./Connection/AcmeServer");
28
27
  const E2EIService_types_1 = require("./E2EIService.types");
@@ -35,7 +34,7 @@ const OidcChallenge_1 = require("./Steps/OidcChallenge");
35
34
  const Order_1 = require("./Steps/Order");
36
35
  const E2EIStorage_1 = require("./Storage/E2EIStorage");
37
36
  class E2EIServiceInternal {
38
- constructor(coreCryptoClient, apiClient,
37
+ constructor(coreDb, coreCryptoClient, apiClient,
39
38
  /** number of seconds the certificate should be valid */
40
39
  certificateTtl, keyPackagesAmount, initialData) {
41
40
  this.coreCryptoClient = coreCryptoClient;
@@ -46,27 +45,26 @@ class E2EIServiceInternal {
46
45
  this.logger = (0, logdown_1.default)('@wireapp/core/E2EIdentityServiceInternal');
47
46
  const { discoveryUrl } = initialData;
48
47
  this.acmeService = new AcmeServer_1.AcmeService(discoveryUrl);
48
+ this.enrollmentStorage = (0, E2EIStorage_1.createE2EIEnrollmentStorage)(coreDb);
49
49
  }
50
50
  async startCertificateProcess(hasActiveCertificate) {
51
51
  const identity = await this.initIdentity(hasActiveCertificate);
52
52
  // Store the values in local storage for later use (e.g. in the continue flow)
53
- const { orderUrl, authChallenges } = await this.getEnrollmentChallenges(identity);
54
- const { authorization: { keyauth, oidcChallenge }, } = authChallenges;
53
+ const enrollmentData = await this.getEnrollmentChallenges(identity);
54
+ const { keyauth, oidcChallenge } = enrollmentData.authorization;
55
55
  // store auth data for continuing the flow later on
56
56
  const handle = await this.coreCryptoClient.e2eiEnrollmentStash(identity);
57
- E2EIStorage_1.E2EIStorage.store.handle(bazinga64_1.Encoder.toBase64(handle).asString);
58
- E2EIStorage_1.E2EIStorage.store.authData(authChallenges);
59
- E2EIStorage_1.E2EIStorage.store.orderData({ orderUrl });
57
+ await this.enrollmentStorage.savePendingEnrollmentData(Object.assign({ handle }, enrollmentData));
60
58
  return { challenge: oidcChallenge, keyAuth: keyauth };
61
59
  }
62
60
  async continueCertificateProcess(oAuthIdToken) {
63
- const handle = E2EIStorage_1.E2EIStorage.get.handle();
64
- const identity = await this.coreCryptoClient.e2eiEnrollmentStashPop(bazinga64_1.Decoder.fromBase64(handle).asBytes);
65
- if (!identity) {
61
+ const enrollmentData = await this.enrollmentStorage.getPendingEnrollmentData();
62
+ if (!enrollmentData) {
66
63
  throw new Error('Error while trying to continue OAuth flow. No enrollment in progress found');
67
64
  }
68
- const authData = E2EIStorage_1.E2EIStorage.get.authData();
69
- return this.getRotateBundle(identity, oAuthIdToken, authData);
65
+ const { handle } = enrollmentData;
66
+ const identity = await this.coreCryptoClient.e2eiEnrollmentStashPop(handle);
67
+ return this.getRotateBundle(identity, oAuthIdToken, enrollmentData);
70
68
  }
71
69
  /**
72
70
  * This function starts a ACME refresh flow for an existing client with a valid refresh token
@@ -76,8 +74,8 @@ class E2EIServiceInternal {
76
74
  */
77
75
  async renewCertificate(oAuthIdToken, hasActiveCertificate) {
78
76
  const identity = await this.initIdentity(hasActiveCertificate);
79
- const authData = await this.getEnrollmentChallenges(identity);
80
- return this.getRotateBundle(identity, oAuthIdToken, authData.authChallenges);
77
+ const enrollmentData = await this.getEnrollmentChallenges(identity);
78
+ return this.getRotateBundle(identity, oAuthIdToken, enrollmentData);
81
79
  }
82
80
  // ############ Internal Functions ############
83
81
  async initIdentity(hasActiveCertificate) {
@@ -142,7 +140,7 @@ class E2EIServiceInternal {
142
140
  authzUrls: orderData.authzUrls,
143
141
  nonce: orderData.nonce,
144
142
  });
145
- return { authChallenges, orderUrl: orderData.orderUrl };
143
+ return Object.assign({ orderUrl: orderData.orderUrl }, authChallenges);
146
144
  }
147
145
  /**
148
146
  * Continuation of the ACME enrollment flow
@@ -152,14 +150,14 @@ class E2EIServiceInternal {
152
150
  * @param oAuthIdToken
153
151
  * @returns RotateBundle
154
152
  */
155
- async getRotateBundle(identity, oAuthIdToken, authData) {
153
+ async getRotateBundle(identity, oAuthIdToken, enrollmentData) {
156
154
  // Step 7: Do OIDC client challenge
157
155
  const oidcData = await (0, OidcChallenge_1.doWireOidcChallenge)({
158
156
  oAuthIdToken,
159
- authData,
157
+ authData: enrollmentData,
160
158
  connection: this.acmeService,
161
159
  identity,
162
- nonce: authData.nonce,
160
+ nonce: enrollmentData.nonce,
163
161
  });
164
162
  this.logger.log('oidc data', oidcData);
165
163
  if (!oidcData.data.validated) {
@@ -168,7 +166,7 @@ class E2EIServiceInternal {
168
166
  const { user: wireUser, clientId } = this.initialData;
169
167
  //Step 8: Do DPOP Challenge
170
168
  const dpopData = await (0, DpopChallenge_1.doWireDpopChallenge)({
171
- authData,
169
+ authData: enrollmentData,
172
170
  clientId,
173
171
  connection: this.acmeService,
174
172
  identity,
@@ -182,12 +180,11 @@ class E2EIServiceInternal {
182
180
  throw new Error('Error while trying to continue OAuth flow. DPOP challenge not validated');
183
181
  }
184
182
  //Step 9: Finalize Order
185
- const orderData = E2EIStorage_1.E2EIStorage.get.orderData();
186
183
  const finalizeOrderData = await (0, Order_1.finalizeOrder)({
187
184
  connection: this.acmeService,
188
185
  identity,
189
186
  nonce: dpopData.nonce,
190
- orderUrl: orderData.orderUrl,
187
+ orderUrl: enrollmentData.orderUrl,
191
188
  });
192
189
  if (!finalizeOrderData.certificateUrl) {
193
190
  throw new Error('Error while trying to continue OAuth flow. No certificateUrl received');
@@ -1,12 +1,12 @@
1
1
  import { AcmeService } from '../Connection';
2
2
  import { E2eiEnrollment, Nonce } from '../E2EIService.types';
3
- import { AuthData } from '../Storage/E2EIStorage.schema';
3
+ import { EnrollmentFlowData } from '../Storage/E2EIStorage.schema';
4
4
  interface GetAuthorizationParams {
5
5
  nonce: Nonce;
6
6
  authzUrls: string[];
7
7
  identity: E2eiEnrollment;
8
8
  connection: AcmeService;
9
9
  }
10
- export declare const getAuthorizationChallenges: ({ authzUrls, nonce, identity, connection, }: GetAuthorizationParams) => Promise<AuthData>;
10
+ export declare const getAuthorizationChallenges: ({ authzUrls, nonce, identity, connection, }: GetAuthorizationParams) => Promise<Pick<EnrollmentFlowData, 'authorization' | 'nonce'>>;
11
11
  export {};
12
12
  //# sourceMappingURL=Authorization.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Authorization.d.ts","sourceRoot":"","sources":["../../../../../src/messagingProtocols/mls/E2EIdentityService/Steps/Authorization.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,cAAc,EAAgB,KAAK,EAAC,MAAM,sBAAsB,CAAC;AAEzE,OAAO,EAAC,QAAQ,EAAC,MAAM,+BAA+B,CAAC;AAEvD,UAAU,sBAAsB;IAC9B,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,cAAc,CAAC;IACzB,UAAU,EAAE,WAAW,CAAC;CACzB;AAED,eAAO,MAAM,0BAA0B,gDAKpC,sBAAsB,KAAG,QAAQ,QAAQ,CAsC3C,CAAC"}
1
+ {"version":3,"file":"Authorization.d.ts","sourceRoot":"","sources":["../../../../../src/messagingProtocols/mls/E2EIdentityService/Steps/Authorization.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,cAAc,EAAgB,KAAK,EAAC,MAAM,sBAAsB,CAAC;AAEzE,OAAO,EAAC,kBAAkB,EAAC,MAAM,+BAA+B,CAAC;AAEjE,UAAU,sBAAsB;IAC9B,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,cAAc,CAAC;IACzB,UAAU,EAAE,WAAW,CAAC;CACzB;AAED,eAAO,MAAM,0BAA0B,gDAKpC,sBAAsB,KAAG,QAAQ,KAAK,kBAAkB,EAAE,eAAe,GAAG,OAAO,CAAC,CAsCtF,CAAC"}
@@ -2,12 +2,12 @@ import { APIClient } from '@wireapp/api-client';
2
2
  import { ClientId } from '../../../types';
3
3
  import { AcmeService } from '../../Connection/AcmeServer';
4
4
  import { E2eiEnrollment, Nonce, User } from '../../E2EIService.types';
5
- import { AuthData } from '../../Storage/E2EIStorage.schema';
5
+ import { UnidentifiedEnrollmentFlowData } from '../../Storage/E2EIStorage.schema';
6
6
  export interface DoWireDpopChallengeParams {
7
7
  apiClient: APIClient;
8
8
  clientId: ClientId;
9
9
  userDomain: User['domain'];
10
- authData: AuthData;
10
+ authData: UnidentifiedEnrollmentFlowData;
11
11
  identity: E2eiEnrollment;
12
12
  connection: AcmeService;
13
13
  nonce: Nonce;
@@ -1 +1 @@
1
- {"version":3,"file":"DpopChallenge.types.d.ts","sourceRoot":"","sources":["../../../../../../src/messagingProtocols/mls/E2EIdentityService/Steps/DpopChallenge/DpopChallenge.types.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAE9C,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAC,WAAW,EAAC,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAC,cAAc,EAAE,KAAK,EAAE,IAAI,EAAC,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAC,QAAQ,EAAC,MAAM,kCAAkC,CAAC;AAE1D,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3B,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,cAAc,CAAC;IACzB,UAAU,EAAE,WAAW,CAAC;IACxB,KAAK,EAAE,KAAK,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,yBAAyB,EAAE,UAAU,GAAG,WAAW,CAAC,CAAC;AAE7F,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAC3C,yBAAyB,EACzB,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,YAAY,GAAG,YAAY,CACpE,GAAG;IACF,WAAW,EAAE,KAAK,CAAC;CACpB,CAAC"}
1
+ {"version":3,"file":"DpopChallenge.types.d.ts","sourceRoot":"","sources":["../../../../../../src/messagingProtocols/mls/E2EIdentityService/Steps/DpopChallenge/DpopChallenge.types.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAE9C,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAC,WAAW,EAAC,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAC,cAAc,EAAE,KAAK,EAAE,IAAI,EAAC,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAC,8BAA8B,EAAC,MAAM,kCAAkC,CAAC;AAEhF,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3B,QAAQ,EAAE,8BAA8B,CAAC;IACzC,QAAQ,EAAE,cAAc,CAAC;IACzB,UAAU,EAAE,WAAW,CAAC;IACxB,KAAK,EAAE,KAAK,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,yBAAyB,EAAE,UAAU,GAAG,WAAW,CAAC,CAAC;AAE7F,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAC3C,yBAAyB,EACzB,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,YAAY,GAAG,YAAY,CACpE,GAAG;IACF,WAAW,EAAE,KAAK,CAAC;CACpB,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { AcmeService } from '../Connection/AcmeServer';
2
2
  import { E2eiEnrollment, Nonce } from '../E2EIService.types';
3
- import { AuthData } from '../Storage/E2EIStorage.schema';
3
+ import { UnidentifiedEnrollmentFlowData } from '../Storage/E2EIStorage.schema';
4
4
  interface DoWireOidcChallengeParams {
5
- authData: AuthData;
5
+ authData: UnidentifiedEnrollmentFlowData;
6
6
  identity: E2eiEnrollment;
7
7
  connection: AcmeService;
8
8
  nonce: Nonce;
@@ -1 +1 @@
1
- {"version":3,"file":"OidcChallenge.d.ts","sourceRoot":"","sources":["../../../../../src/messagingProtocols/mls/E2EIdentityService/Steps/OidcChallenge.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAC,WAAW,EAAC,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAC,cAAc,EAAE,KAAK,EAAC,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAC,QAAQ,EAAC,MAAM,+BAA+B,CAAC;AAEvD,UAAU,yBAAyB;IACjC,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,cAAc,CAAC;IACzB,UAAU,EAAE,WAAW,CAAC;IACxB,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,mBAAmB,6DAM7B,yBAAyB;;;;;;;;;;;GAiB3B,CAAC"}
1
+ {"version":3,"file":"OidcChallenge.d.ts","sourceRoot":"","sources":["../../../../../src/messagingProtocols/mls/E2EIdentityService/Steps/OidcChallenge.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAC,WAAW,EAAC,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAC,cAAc,EAAE,KAAK,EAAC,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAC,8BAA8B,EAAC,MAAM,+BAA+B,CAAC;AAE7E,UAAU,yBAAyB;IACjC,QAAQ,EAAE,8BAA8B,CAAC;IACzC,QAAQ,EAAE,cAAc,CAAC;IACzB,UAAU,EAAE,WAAW,CAAC;IACxB,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,mBAAmB,6DAM7B,yBAAyB;;;;;;;;;;;GAiB3B,CAAC"}
@@ -1,21 +1,8 @@
1
- import { AuthData, OrderData } from './E2EIStorage.schema';
2
- export declare const E2EIStorage: {
3
- store: {
4
- handle: (handle: string) => void;
5
- authData: (data: AuthData) => void;
6
- orderData: (data: OrderData) => void;
7
- };
8
- get: {
9
- handle: () => string;
10
- authData: () => AuthData;
11
- orderData: () => OrderData;
12
- };
13
- has: {
14
- handle: () => boolean;
15
- };
16
- remove: {
17
- temporaryData: () => void;
18
- all: () => void;
19
- };
1
+ import { EnrollmentFlowData } from './E2EIStorage.schema';
2
+ import { CoreDatabase } from '../../../../storage/CoreDB';
3
+ export declare function createE2EIEnrollmentStorage(coreDB: CoreDatabase): {
4
+ getPendingEnrollmentData(): Promise<EnrollmentFlowData | undefined>;
5
+ savePendingEnrollmentData(data: EnrollmentFlowData): Promise<void>;
6
+ deletePendingEnrollmentData(): Promise<void>;
20
7
  };
21
8
  //# sourceMappingURL=E2EIStorage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"E2EIStorage.d.ts","sourceRoot":"","sources":["../../../../../src/messagingProtocols/mls/E2EIdentityService/Storage/E2EIStorage.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAC,QAAQ,EAAkB,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAqDzE,eAAO,MAAM,WAAW;;yBA3CK,MAAM;yBAEN,QAAQ;0BADP,SAAS;;;;wBAcN,QAAQ;yBASP,SAAS;;;;;;;;;CAqC1C,CAAC"}
1
+ {"version":3,"file":"E2EIStorage.d.ts","sourceRoot":"","sources":["../../../../../src/messagingProtocols/mls/E2EIdentityService/Storage/E2EIStorage.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAC,YAAY,EAAC,MAAM,4BAA4B,CAAC;AAKxD,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,YAAY;gCAE1B,QAAQ,kBAAkB,GAAG,SAAS,CAAC;oCAGnC,kBAAkB,GAAG,QAAQ,IAAI,CAAC;mCAGnC,QAAQ,IAAI,CAAC;EAIrD"}
@@ -18,65 +18,20 @@
18
18
  *
19
19
  */
20
20
  Object.defineProperty(exports, "__esModule", { value: true });
21
- exports.E2EIStorage = void 0;
22
- const bazinga64_1 = require("bazinga64");
23
- const E2EIStorage_schema_1 = require("./E2EIStorage.schema");
24
- const LocalStorageStore_1 = require("../../../../util/LocalStorageStore");
25
- const HandleKey = 'Handle';
26
- const AuthDataKey = 'AuthData';
27
- const OderDataKey = 'OrderData';
28
- const storage = (0, LocalStorageStore_1.LocalStorageStore)('E2EIStorage');
29
- const storeHandle = (handle) => storage.add(HandleKey, bazinga64_1.Encoder.toBase64(handle).asString);
30
- const storeOrderData = (data) => storage.add(OderDataKey, bazinga64_1.Encoder.toBase64(JSON.stringify(data)).asString);
31
- const storeAuthData = (data) => storage.add(AuthDataKey, bazinga64_1.Encoder.toBase64(JSON.stringify(data)).asString);
32
- const hasHandle = () => storage.has(HandleKey);
33
- const getAndVerifyHandle = () => {
34
- const handle = storage.get(HandleKey);
35
- if (!handle) {
36
- throw new Error('ACME: No handle found');
37
- }
38
- return bazinga64_1.Decoder.fromBase64(handle).asString;
39
- };
40
- const getAndVerifyAuthData = () => {
41
- const data = storage.get(AuthDataKey);
42
- if (!data) {
43
- throw new Error('ACME: AuthData not found');
44
- }
45
- const decodedData = bazinga64_1.Decoder.fromBase64(data).asString;
46
- return E2EIStorage_schema_1.AuthDataSchema.parse(JSON.parse(decodedData));
47
- };
48
- const getAndVerifyOrderData = () => {
49
- const data = storage.get(OderDataKey);
50
- if (!data) {
51
- throw new Error('ACME: OrderData not found');
52
- }
53
- const decodedData = bazinga64_1.Decoder.fromBase64(data).asString;
54
- return JSON.parse(decodedData);
55
- };
56
- const removeTemporaryData = () => {
57
- storage.remove(HandleKey);
58
- storage.remove(AuthDataKey);
59
- storage.remove(OderDataKey);
60
- };
61
- const removeAll = () => {
62
- removeTemporaryData();
63
- };
64
- exports.E2EIStorage = {
65
- store: {
66
- handle: storeHandle,
67
- authData: storeAuthData,
68
- orderData: storeOrderData,
69
- },
70
- get: {
71
- handle: getAndVerifyHandle,
72
- authData: getAndVerifyAuthData,
73
- orderData: getAndVerifyOrderData,
74
- },
75
- has: {
76
- handle: hasHandle,
77
- },
78
- remove: {
79
- temporaryData: removeTemporaryData,
80
- all: removeAll,
81
- },
82
- };
21
+ exports.createE2EIEnrollmentStorage = void 0;
22
+ const PENDING_ENROLLMENT_TABLE = 'pendingEnrollmentData';
23
+ const STORAGE_KEY = 'data';
24
+ function createE2EIEnrollmentStorage(coreDB) {
25
+ return {
26
+ async getPendingEnrollmentData() {
27
+ return coreDB.get(PENDING_ENROLLMENT_TABLE, STORAGE_KEY);
28
+ },
29
+ async savePendingEnrollmentData(data) {
30
+ await coreDB.put(PENDING_ENROLLMENT_TABLE, data, STORAGE_KEY);
31
+ },
32
+ async deletePendingEnrollmentData() {
33
+ return coreDB.delete(PENDING_ENROLLMENT_TABLE, STORAGE_KEY);
34
+ },
35
+ };
36
+ }
37
+ exports.createE2EIEnrollmentStorage = createE2EIEnrollmentStorage;
@@ -43,7 +43,9 @@ export declare const InitialDataSchema: z.ZodObject<{
43
43
  discoveryUrl: string;
44
44
  }>;
45
45
  export type InitialData = z.infer<typeof InitialDataSchema>;
46
- export declare const AuthDataSchema: z.ZodObject<{
46
+ export declare const EnrollmentFlowDataSchema: z.ZodObject<{
47
+ handle: z.ZodType<Uint8Array, z.ZodTypeDef, Uint8Array>;
48
+ orderUrl: z.ZodString;
47
49
  authorization: z.ZodObject<{
48
50
  keyauth: z.ZodString;
49
51
  dpopChallenge: z.ZodObject<{
@@ -113,6 +115,8 @@ export declare const AuthDataSchema: z.ZodObject<{
113
115
  delegate: Uint8Array;
114
116
  };
115
117
  };
118
+ handle: Uint8Array;
119
+ orderUrl: string;
116
120
  }, {
117
121
  nonce: string;
118
122
  authorization: {
@@ -128,14 +132,9 @@ export declare const AuthDataSchema: z.ZodObject<{
128
132
  delegate: Uint8Array;
129
133
  };
130
134
  };
131
- }>;
132
- export type AuthData = z.infer<typeof AuthDataSchema>;
133
- export declare const OrderDataSchema: z.ZodObject<{
134
- orderUrl: z.ZodString;
135
- }, "strip", z.ZodTypeAny, {
136
- orderUrl: string;
137
- }, {
135
+ handle: Uint8Array;
138
136
  orderUrl: string;
139
137
  }>;
140
- export type OrderData = z.infer<typeof OrderDataSchema>;
138
+ export type EnrollmentFlowData = z.infer<typeof EnrollmentFlowDataSchema>;
139
+ export type UnidentifiedEnrollmentFlowData = Omit<EnrollmentFlowData, 'handle'>;
141
140
  //# sourceMappingURL=E2EIStorage.schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"E2EIStorage.schema.d.ts","sourceRoot":"","sources":["../../../../../src/messagingProtocols/mls/E2EIdentityService/Storage/E2EIStorage.schema.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAU5D,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOzB,CAAC;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD,eAAO,MAAM,eAAe;;;;;;EAE1B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"E2EIStorage.schema.d.ts","sourceRoot":"","sources":["../../../../../src/messagingProtocols/mls/E2EIdentityService/Storage/E2EIStorage.schema.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU5B,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAO5D,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAC1E,MAAM,MAAM,8BAA8B,GAAG,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC"}
@@ -18,7 +18,7 @@
18
18
  *
19
19
  */
20
20
  Object.defineProperty(exports, "__esModule", { value: true });
21
- exports.OrderDataSchema = exports.AuthDataSchema = exports.InitialDataSchema = void 0;
21
+ exports.EnrollmentFlowDataSchema = exports.InitialDataSchema = void 0;
22
22
  const zod_1 = require("zod");
23
23
  exports.InitialDataSchema = zod_1.z.object({
24
24
  discoveryUrl: zod_1.z.string(),
@@ -31,13 +31,14 @@ exports.InitialDataSchema = zod_1.z.object({
31
31
  teamId: zod_1.z.string(),
32
32
  }),
33
33
  });
34
- const Uint8ArraySchema = zod_1.z.custom(value => value instanceof Uint8Array ? { success: true } : { success: false, message: 'Expected Uint8Array' });
35
34
  const AcmeChallengeSchema = zod_1.z.object({
36
- delegate: Uint8ArraySchema,
35
+ delegate: zod_1.z.instanceof(Uint8Array),
37
36
  url: zod_1.z.string(),
38
37
  target: zod_1.z.string(),
39
38
  });
40
- exports.AuthDataSchema = zod_1.z.object({
39
+ exports.EnrollmentFlowDataSchema = zod_1.z.object({
40
+ handle: zod_1.z.instanceof(Uint8Array),
41
+ orderUrl: zod_1.z.string().url(),
41
42
  authorization: zod_1.z.object({
42
43
  keyauth: zod_1.z.string(),
43
44
  dpopChallenge: AcmeChallengeSchema,
@@ -45,6 +46,3 @@ exports.AuthDataSchema = zod_1.z.object({
45
46
  }),
46
47
  nonce: zod_1.z.string(),
47
48
  });
48
- exports.OrderDataSchema = zod_1.z.object({
49
- orderUrl: zod_1.z.string().url(),
50
- });
@@ -1 +1 @@
1
- {"version":3,"file":"MLSService.d.ts","sourceRoot":"","sources":["../../../../src/messagingProtocols/mls/MLSService/MLSService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MLSService.d.ts","sourceRoot":"","sources":["../../../../src/messagingProtocols/mls/MLSService/MLSService.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAqB,gBAAgB,EAAC,MAAM,gCAAgC,CAAC;AACzF,OAAO,EAAC,sBAAsB,EAAE,kBAAkB,EAAC,MAAM,sCAAsC,CAAC;AAChG,OAAO,EAAC,8BAA8B,EAAE,2BAA2B,EAAC,MAAM,+BAA+B,CAAC;AAE1G,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAC;AAIzD,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAW,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EACL,eAAe,EAIf,cAAc,EACd,UAAU,EAEV,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,kBAAkB,EACnB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAC,gBAAgB,EAAuD,MAAM,oBAAoB,CAAC;AAE1G,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AAGrD,OAAO,EAAC,sBAAsB,EAAC,MAAM,sCAAsC,CAAC;AAE5E,OAAO,EAAC,aAAa,EAAE,IAAI,EAAC,MAAM,uBAAuB,CAAC;AAQ1D,OAAO,EAAC,QAAQ,EAAE,4BAA4B,EAAC,MAAM,UAAU,CAAC;AAKhE,eAAO,MAAM,oBAAoB,UAAW,UAAU,GAAG,EAAE,KAAG,UAE7D,CAAC;AAEF,KAAK,sBAAsB,GACvB;IACE,MAAM,EAAE,gBAAgB,CAAC;IACzB,uBAAuB,EAAE;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,aAAa,CAAA;KAAC,CAAC;CACtE,GACD;IAAC,MAAM,EAAE,YAAY,CAAA;CAAC,CAAC;AAE3B,UAAU,qBAAsB,SAAQ,gBAAgB;IACtD;;OAEG;IACH,uCAAuC,EAAE,MAAM,CAAC;CACjD;AAQD,KAAK,MAAM,GAAG;IACZ,QAAQ,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAC,CAAC;IAC3C,wBAAwB,EAAE,MAAM,EAAE,CAAC;CACpC,CAAC;AACF,qBAAa,UAAW,SAAQ,iBAAiB,CAAC,MAAM,CAAC;IAOrD,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IATzC,MAAM,iBAAuC;IAC7C,MAAM,EAAE,qBAAqB,CAAC;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IACjD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;gBAG9B,SAAS,EAAE,SAAS,EACpB,gBAAgB,EAAE,UAAU,EAC5B,YAAY,EAAE,YAAY,EAC1B,sBAAsB,EAAE,sBAAsB,EAC/D,EACE,6BAA2E,EAC3E,aAA2C,EAC3C,WAAuC,GACxC,EAAE,OAAO,CAAC,gBAAgB,CAAC;IAW9B;;;;;OAKG;IACU,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,UAAQ;YA6BjF,iBAAiB;IAM/B,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CA8DjC;IAEF;;;;;;OAMG;IACI,8BAA8B,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE;IAanE,qBAAqB,CAAC,cAAc,EAAE,mBAAmB,EAAE;;;;IA2CjE,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU;IAK/B,WAAW,CAAC,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,GAAG,eAAe,GAAG,kBAAkB;IAIjG,oBAAoB,CAAC,YAAY,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC;IAwB5D,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMjF,OAAO,CAAC,gCAAgC;IAO3B,qBAAqB,CAAC,cAAc,EAAE,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC;IAM1E,cAAc,CAAC,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAkB9F,cAAc,CAAC,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IAIrG;;;;;;;;;OASG;YACW,mBAAmB;IAUjC,OAAO,CAAC,oBAAoB;IAK5B;;;;OAIG;IACU,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB9F;;;;;;OAMG;IACU,oBAAoB,CAC/B,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,WAAW,EAAE,EACpB,OAAO,CAAC,EAAE;QAAC,OAAO,CAAC,EAAE;YAAC,IAAI,EAAE,WAAW,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAC,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAC,GACjF,OAAO,CAAC,sBAAsB,CAAC;IAkClC;;;;;OAKG;IACH,SAAgB,uBAAuB,YAAmB,MAAM,KAAG,QAAQ,OAAO,CAAC,CA2BjF;IAEF;;;;OAIG;IACI,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE;IAW3E;;;OAGG;IACU,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKlE;;;;OAIG;IACU,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK5D,2BAA2B,IAAI,OAAO,CAAC,MAAM,CAAC;IAK9C,iBAAiB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAK9E;;;;OAIG;IACU,gBAAgB,CAAC,OAAO,EAAE,MAAM;IAc7C,OAAO,CAAC,sCAAsC;IAI9C;;;OAGG;IACU,uBAAuB,CAAC,OAAO,EAAE,MAAM;IAKpD;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAIhC;;;OAGG;IACI,0BAA0B,CAAC,OAAO,EAAE,MAAM;IAUjD;;;OAGG;IACI,mCAAmC,CAAC,QAAQ,EAAE,MAAM,EAAE;IAQ7D;;;;OAIG;IACI,sCAAsC,CAAC,QAAQ,EAAE,MAAM;IAQ9D;;;;OAIG;YACW,+BAA+B;YAQ/B,gCAAgC;YAYhC,2BAA2B;IAIzC;;;;;OAKG;YACW,mBAAmB;YASnB,oBAAoB;IAOrB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAe7D;;;;;;;OAOG;IACU,sBAAsB,CAAC,EAAC,SAAS,EAAE,OAAO,EAAE,SAAS,EAAC,EAAE,4BAA4B;YAWnF,4BAA4B;YAU5B,0BAA0B;IAKxC,OAAO,CAAC,6BAA6B;IAIrC;;;;OAIG;IACU,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,UAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BvF;;;;OAIG;IACU,+BAA+B;IAiB5C;;;;OAIG;IACU,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,QAAQ,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,EAAE,CAAC;IAY9F,wBAAwB,CACnC,KAAK,EAAE,8BAA8B,EACrC,yBAAyB,EAAE,CACzB,cAAc,EAAE,WAAW,EAC3B,iBAAiB,CAAC,EAAE,kBAAkB,KACnC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAgBrB,4BAA4B,CAAC,KAAK,EAAE,2BAA2B,EAAE,QAAQ,EAAE,MAAM;IAcjF,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE;IASjF;;;;;;;;OAQG;IACU,UAAU,CACrB,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,gBAAgB,EACxB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,sBAAsB,CAAC;CAsDnC"}
@@ -677,7 +677,7 @@ class MLSService extends commons_1.TypedEventEmitter {
677
677
  */
678
678
  async enrollE2EI(discoveryUrl, user, client, nbPrekeys, certificateTtl, oAuthIdToken) {
679
679
  const hasActiveCertificate = await this.coreCryptoClient.e2eiIsEnabled(this.config.cipherSuite);
680
- const e2eiServiceInternal = new E2EIServiceInternal_1.E2EIServiceInternal(this.coreCryptoClient, this.apiClient, certificateTtl, nbPrekeys, { user, clientId: client.id, discoveryUrl });
680
+ const e2eiServiceInternal = new E2EIServiceInternal_1.E2EIServiceInternal(this.coreDatabase, this.coreCryptoClient, this.apiClient, certificateTtl, nbPrekeys, { user, clientId: client.id, discoveryUrl });
681
681
  // If we don't have an OAuth id token, we need to start the certificate process with Oauth
682
682
  if (!oAuthIdToken) {
683
683
  const data = await e2eiServiceInternal.startCertificateProcess(hasActiveCertificate);
@@ -1,6 +1,7 @@
1
1
  import { SUBCONVERSATION_ID } from '@wireapp/api-client/lib/conversation';
2
2
  import { QualifiedId } from '@wireapp/api-client/lib/user';
3
3
  import { DBSchema, IDBPDatabase } from 'idb';
4
+ import { EnrollmentFlowData } from '../messagingProtocols/mls/E2EIdentityService/Storage/E2EIStorage.schema';
4
5
  interface CoreDBSchema extends DBSchema {
5
6
  prekeys: {
6
7
  key: string;
@@ -45,6 +46,10 @@ interface CoreDBSchema extends DBSchema {
45
46
  url: string;
46
47
  };
47
48
  };
49
+ pendingEnrollmentData: {
50
+ key: string;
51
+ value: EnrollmentFlowData;
52
+ };
48
53
  }
49
54
  export type CoreDatabase = IDBPDatabase<CoreDBSchema>;
50
55
  export declare function openDB(dbName: string): Promise<CoreDatabase>;
@@ -1 +1 @@
1
- {"version":3,"file":"CoreDB.d.ts","sourceRoot":"","sources":["../../src/storage/CoreDB.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,kBAAkB,EAAC,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAC,QAAQ,EAA2B,YAAY,EAAsB,MAAM,KAAK,CAAC;AAGzF,UAAU,YAAa,SAAQ,QAAQ;IACrC,OAAO,EAAE;QACP,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAC,CAAC;KAC/C,CAAC;IACF,gBAAgB,EAAE;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAC,CAAC;KAC9C,CAAC;IACF,cAAc,EAAE;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE;YAAC,GAAG,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAC,CAAC;KAC1C,CAAC;IACF,qBAAqB,EAAE;QACrB,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE;YAAC,EAAE,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAC,CAAC;KACrC,CAAC;IACF,gBAAgB,EAAE;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE;YAAC,oBAAoB,EAAE,WAAW,CAAC;YAAC,iBAAiB,EAAE,kBAAkB,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAC,CAAC;KACpG,CAAC;IACF,IAAI,EAAE;QACJ,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAC,CAAC;KACzC,CAAC;CACH;AAED,MAAM,MAAM,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;AAEtD,wBAAsB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAqBlE;AAED,wBAAsB,QAAQ,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9D"}
1
+ {"version":3,"file":"CoreDB.d.ts","sourceRoot":"","sources":["../../src/storage/CoreDB.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAC,kBAAkB,EAAC,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAC,WAAW,EAAC,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAC,QAAQ,EAA2B,YAAY,EAAsB,MAAM,KAAK,CAAC;AAEzF,OAAO,EAAC,kBAAkB,EAAC,MAAM,yEAAyE,CAAC;AAG3G,UAAU,YAAa,SAAQ,QAAQ;IACrC,OAAO,EAAE;QACP,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAC,CAAC;KAC/C,CAAC;IACF,gBAAgB,EAAE;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAC,CAAC;KAC9C,CAAC;IACF,cAAc,EAAE;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE;YAAC,GAAG,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAA;SAAC,CAAC;KAC1C,CAAC;IACF,qBAAqB,EAAE;QACrB,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE;YAAC,EAAE,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAC,CAAC;KACrC,CAAC;IACF,gBAAgB,EAAE;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE;YAAC,oBAAoB,EAAE,WAAW,CAAC;YAAC,iBAAiB,EAAE,kBAAkB,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAC,CAAC;KACpG,CAAC;IACF,IAAI,EAAE;QACJ,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAC,CAAC;KACzC,CAAC;IACF,qBAAqB,EAAE;QACrB,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,kBAAkB,CAAC;KAC3B,CAAC;CACH;AAED,MAAM,MAAM,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;AAEtD,wBAAsB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAuBlE;AAED,wBAAsB,QAAQ,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9D"}
@@ -20,7 +20,7 @@
20
20
  Object.defineProperty(exports, "__esModule", { value: true });
21
21
  exports.deleteDB = exports.openDB = void 0;
22
22
  const idb_1 = require("idb");
23
- const VERSION = 5;
23
+ const VERSION = 6;
24
24
  async function openDB(dbName) {
25
25
  const db = await (0, idb_1.openDB)(dbName, VERSION, {
26
26
  upgrade: (db, oldVersion) => {
@@ -38,6 +38,8 @@ async function openDB(dbName) {
38
38
  db.createObjectStore('subconversations');
39
39
  case 5:
40
40
  db.createObjectStore('crls');
41
+ case 6:
42
+ db.createObjectStore('pendingEnrollmentData');
41
43
  }
42
44
  },
43
45
  });
package/package.json CHANGED
@@ -60,6 +60,6 @@
60
60
  "test:coverage": "jest --coverage",
61
61
  "watch": "tsc --watch"
62
62
  },
63
- "version": "44.0.8",
64
- "gitHead": "ac71196902a22feeb577a3c520440505c4439fdc"
63
+ "version": "44.0.9",
64
+ "gitHead": "6b4860506c8ed1840691715fe84fffaafd7d7fe6"
65
65
  }