@wireapp/core-crypto 1.0.0-rc.2 → 1.0.0-rc.5

Sign up to get free protection for your applications and to get access to all the features.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wireapp/core-crypto",
3
- "version": "1.0.0-rc.2",
3
+ "version": "1.0.0-rc.5",
4
4
  "description": "CoreCrypto bindings for the Web",
5
5
  "type": "module",
6
6
  "module": "platforms/web/corecrypto.js",
@@ -1121,9 +1121,16 @@ export declare class CoreCrypto {
1121
1121
  * Credential generated by Wire's end-to-end identity enrollment
1122
1122
  *
1123
1123
  * @param conversationId The group's ID
1124
- * @returns true if all the members have valid X509 credentials
1124
+ * @returns the conversation state given current members
1125
1125
  */
1126
- e2eiIsDegraded(conversationId: ConversationId): Promise<boolean>;
1126
+ e2eiConversationState(conversationId: ConversationId): Promise<E2eiConversationState>;
1127
+ /**
1128
+ * Returns true when end-to-end-identity is enabled for the given Ciphersuite
1129
+ *
1130
+ * @param ciphersuite of the credential to check
1131
+ * @returns true end-to-end identity is enabled for the given ciphersuite
1132
+ */
1133
+ e2eiIsEnabled(ciphersuite: Ciphersuite): Promise<boolean>;
1127
1134
  /**
1128
1135
  * Returns the current version of {@link CoreCrypto}
1129
1136
  *
@@ -1359,5 +1366,24 @@ export interface AcmeChallenge {
1359
1366
  */
1360
1367
  target: string;
1361
1368
  }
1369
+ /**
1370
+ * Indicates the state of a Conversation regarding end-to-end identity.
1371
+ * Note: this does not check pending state (pending commit, pending proposals) so it does not
1372
+ * consider members about to be added/removed
1373
+ */
1374
+ export declare enum E2eiConversationState {
1375
+ /**
1376
+ * All clients have a valid E2EI certificate
1377
+ */
1378
+ Verified = 1,
1379
+ /**
1380
+ * Some clients are either still Basic or their certificate is expired
1381
+ */
1382
+ Degraded = 2,
1383
+ /**
1384
+ * All clients are still Basic. If all client have expired certificates, Degraded is returned.
1385
+ */
1386
+ NotEnabled = 3
1387
+ }
1362
1388
 
1363
1389
  export {};
@@ -234,12 +234,12 @@ function makeMutClosure(arg0, arg1, dtor, f) {
234
234
  return real;
235
235
  }
236
236
  function __wbg_adapter_52(arg0, arg1, arg2) {
237
- wasm$1.wasm_bindgen__convert__closures__invoke1_mut__h79cafe3df8446843(arg0, arg1, addHeapObject(arg2));
237
+ wasm$1.wasm_bindgen__convert__closures__invoke1_mut__hb865a4e905934256(arg0, arg1, addHeapObject(arg2));
238
238
  }
239
239
  function __wbg_adapter_55(arg0, arg1, arg2) {
240
240
  try {
241
241
  const retptr = wasm$1.__wbindgen_add_to_stack_pointer(-16);
242
- wasm$1.wasm_bindgen__convert__closures__invoke1_mut__he1696d119fd3caab(retptr, arg0, arg1, addHeapObject(arg2));
242
+ wasm$1.wasm_bindgen__convert__closures__invoke1_mut__h2720c46d5ff6c929(retptr, arg0, arg1, addHeapObject(arg2));
243
243
  var r0 = getInt32Memory0()[retptr / 4 + 0];
244
244
  var r1 = getInt32Memory0()[retptr / 4 + 1];
245
245
  if (r1) {
@@ -313,8 +313,8 @@ function handleError(f, args) {
313
313
  wasm$1.__wbindgen_exn_store(addHeapObject(e));
314
314
  }
315
315
  }
316
- function __wbg_adapter_298(arg0, arg1, arg2, arg3) {
317
- wasm$1.wasm_bindgen__convert__closures__invoke2_mut__h2ada45b9b70febc7(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
316
+ function __wbg_adapter_299(arg0, arg1, arg2, arg3) {
317
+ wasm$1.wasm_bindgen__convert__closures__invoke2_mut__h22687e7c7a9c3c35(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
318
318
  }
319
319
  /**
320
320
  * see [core_crypto::prelude::MlsWirePolicy]
@@ -807,14 +807,25 @@ let CoreCrypto$1 = class CoreCrypto {
807
807
  /**
808
808
  * Returns [`WasmCryptoResult<bool>`]
809
809
  *
810
- * see [core_crypto::mls::MlsCentral::e2ei_is_degraded]
810
+ * see [core_crypto::mls::MlsCentral::e2ei_conversation_state]
811
811
  * @param {Uint8Array} conversation_id
812
812
  * @returns {Promise<any>}
813
813
  */
814
- e2ei_is_degraded(conversation_id) {
814
+ e2ei_conversation_state(conversation_id) {
815
815
  const ptr0 = passArray8ToWasm0(conversation_id, wasm$1.__wbindgen_malloc);
816
816
  const len0 = WASM_VECTOR_LEN;
817
- const ret = wasm$1.corecrypto_e2ei_is_degraded(this.__wbg_ptr, ptr0, len0);
817
+ const ret = wasm$1.corecrypto_e2ei_conversation_state(this.__wbg_ptr, ptr0, len0);
818
+ return takeObject(ret);
819
+ }
820
+ /**
821
+ * Returns [`WasmCryptoResult<bool>`]
822
+ *
823
+ * see [core_crypto::mls::MlsCentral::e2ei_is_enabled]
824
+ * @param {number} ciphersuite
825
+ * @returns {Promise<any>}
826
+ */
827
+ e2ei_is_enabled(ciphersuite) {
828
+ const ret = wasm$1.corecrypto_e2ei_is_enabled(this.__wbg_ptr, ciphersuite);
818
829
  return takeObject(ret);
819
830
  }
820
831
  /**
@@ -1215,7 +1226,7 @@ let CoreCrypto$1 = class CoreCrypto {
1215
1226
  /**
1216
1227
  * Returns: [`WasmCryptoResult<js_sys::Uint8Array>`]
1217
1228
  *
1218
- * see [core_crypto::mls::MlsCentral::new_proposal]
1229
+ * see [core_crypto::mls::MlsCentral::new_add_proposal]
1219
1230
  * @param {Uint8Array} conversation_id
1220
1231
  * @param {Uint8Array} keypackage
1221
1232
  * @returns {Promise<any>}
@@ -1231,7 +1242,7 @@ let CoreCrypto$1 = class CoreCrypto {
1231
1242
  /**
1232
1243
  * Returns: [`WasmCryptoResult<js_sys::Uint8Array>`]
1233
1244
  *
1234
- * see [core_crypto::mls::MlsCentral::new_proposal]
1245
+ * see [core_crypto::mls::MlsCentral::new_update_proposal]
1235
1246
  * @param {Uint8Array} conversation_id
1236
1247
  * @returns {Promise<any>}
1237
1248
  */
@@ -1244,7 +1255,7 @@ let CoreCrypto$1 = class CoreCrypto {
1244
1255
  /**
1245
1256
  * Returns: [`WasmCryptoResult<js_sys::Uint8Array>`]
1246
1257
  *
1247
- * see [core_crypto::mls::MlsCentral::new_proposal]
1258
+ * see [core_crypto::mls::MlsCentral::new_remove_proposal]
1248
1259
  * @param {Uint8Array} conversation_id
1249
1260
  * @param {Uint8Array} client_id
1250
1261
  * @returns {Promise<any>}
@@ -2858,43 +2869,43 @@ function __wbg_get_imports() {
2858
2869
  const ret = getObject(arg0).length;
2859
2870
  return ret;
2860
2871
  };
2861
- imports.wbg.__wbg_new_b51585de1b234aff = function () {
2862
- const ret = new Object();
2863
- return addHeapObject(ret);
2864
- };
2865
2872
  imports.wbg.__wbg_call_01734de55d61e11d = function () {
2866
2873
  return handleError(function (arg0, arg1, arg2) {
2867
2874
  const ret = getObject(arg0).call(getObject(arg1), getObject(arg2));
2868
2875
  return addHeapObject(ret);
2869
2876
  }, arguments);
2870
2877
  };
2871
- imports.wbg.__wbg_new_8125e318e6245eed = function (arg0) {
2872
- const ret = new Uint8Array(getObject(arg0));
2878
+ imports.wbg.__wbindgen_number_new = function (arg0) {
2879
+ const ret = arg0;
2873
2880
  return addHeapObject(ret);
2874
2881
  };
2875
2882
  imports.wbg.__wbg_new_898a68150f225f2e = function () {
2876
2883
  const ret = new Array();
2877
2884
  return addHeapObject(ret);
2878
2885
  };
2879
- imports.wbg.__wbg_push_ca1c26067ef907ac = function (arg0, arg1) {
2880
- const ret = getObject(arg0).push(getObject(arg1));
2881
- return ret;
2886
+ imports.wbg.__wbg_set_502d29070ea18557 = function (arg0, arg1, arg2) {
2887
+ getObject(arg0)[arg1 >>> 0] = takeObject(arg2);
2882
2888
  };
2883
- imports.wbg.__wbg_ffiwiree2eidentity_new = function (arg0) {
2884
- const ret = FfiWireE2EIdentity.__wrap(arg0);
2889
+ imports.wbg.__wbg_new_8125e318e6245eed = function (arg0) {
2890
+ const ret = new Uint8Array(getObject(arg0));
2885
2891
  return addHeapObject(ret);
2886
2892
  };
2887
- imports.wbg.__wbindgen_number_new = function (arg0) {
2888
- const ret = arg0;
2893
+ imports.wbg.__wbg_new_b51585de1b234aff = function () {
2894
+ const ret = new Object();
2889
2895
  return addHeapObject(ret);
2890
2896
  };
2891
- imports.wbg.__wbg_set_502d29070ea18557 = function (arg0, arg1, arg2) {
2892
- getObject(arg0)[arg1 >>> 0] = takeObject(arg2);
2893
- };
2894
2897
  imports.wbg.__wbg_proteusautoprekeybundle_new = function (arg0) {
2895
2898
  const ret = ProteusAutoPrekeyBundle.__wrap(arg0);
2896
2899
  return addHeapObject(ret);
2897
2900
  };
2901
+ imports.wbg.__wbg_push_ca1c26067ef907ac = function (arg0, arg1) {
2902
+ const ret = getObject(arg0).push(getObject(arg1));
2903
+ return ret;
2904
+ };
2905
+ imports.wbg.__wbg_ffiwiree2eidentity_new = function (arg0) {
2906
+ const ret = FfiWireE2EIdentity.__wrap(arg0);
2907
+ return addHeapObject(ret);
2908
+ };
2898
2909
  imports.wbg.__wbindgen_bigint_from_u64 = function (arg0) {
2899
2910
  const ret = BigInt.asUintN(64, arg0);
2900
2911
  return addHeapObject(ret);
@@ -2907,6 +2918,9 @@ function __wbg_get_imports() {
2907
2918
  const ret = getObject(arg0).set(getObject(arg1), getObject(arg2));
2908
2919
  return addHeapObject(ret);
2909
2920
  };
2921
+ imports.wbg.__wbg_set_841ac57cff3d672b = function (arg0, arg1, arg2) {
2922
+ getObject(arg0)[takeObject(arg1)] = takeObject(arg2);
2923
+ };
2910
2924
  imports.wbg.__wbg_new_d258248ed531ff54 = function (arg0, arg1) {
2911
2925
  const ret = new Error(getStringFromWasm0(arg0, arg1));
2912
2926
  return addHeapObject(ret);
@@ -2979,9 +2993,6 @@ function __wbg_get_imports() {
2979
2993
  const ret = CoreCrypto$1.__wrap(arg0);
2980
2994
  return addHeapObject(ret);
2981
2995
  };
2982
- imports.wbg.__wbg_set_841ac57cff3d672b = function (arg0, arg1, arg2) {
2983
- getObject(arg0)[takeObject(arg1)] = takeObject(arg2);
2984
- };
2985
2996
  imports.wbg.__wbg_instanceof_Promise_0e98a5bf082e090f = function (arg0) {
2986
2997
  let result;
2987
2998
  try {
@@ -3033,7 +3044,7 @@ function __wbg_get_imports() {
3033
3044
  const a = state0.a;
3034
3045
  state0.a = 0;
3035
3046
  try {
3036
- return __wbg_adapter_298(a, state0.b, arg0, arg1);
3047
+ return __wbg_adapter_299(a, state0.b, arg0, arg1);
3037
3048
  }
3038
3049
  finally {
3039
3050
  state0.a = a;
@@ -3308,12 +3319,6 @@ function __wbg_get_imports() {
3308
3319
  const ret = getObject(arg0).target;
3309
3320
  return isLikeNone(ret) ? 0 : addHeapObject(ret);
3310
3321
  };
3311
- imports.wbg.__wbg_error_8a79f35fe9368563 = function () {
3312
- return handleError(function (arg0) {
3313
- const ret = getObject(arg0).error;
3314
- return isLikeNone(ret) ? 0 : addHeapObject(ret);
3315
- }, arguments);
3316
- };
3317
3322
  imports.wbg.__wbg_result_edff16ff107d6acb = function () {
3318
3323
  return handleError(function (arg0) {
3319
3324
  const ret = getObject(arg0).result;
@@ -3354,6 +3359,12 @@ function __wbg_get_imports() {
3354
3359
  getObject(arg0).deleteObjectStore(getStringFromWasm0(arg1, arg2));
3355
3360
  }, arguments);
3356
3361
  };
3362
+ imports.wbg.__wbg_error_8a79f35fe9368563 = function () {
3363
+ return handleError(function (arg0) {
3364
+ const ret = getObject(arg0).error;
3365
+ return isLikeNone(ret) ? 0 : addHeapObject(ret);
3366
+ }, arguments);
3367
+ };
3357
3368
  imports.wbg.__wbindgen_is_falsy = function (arg0) {
3358
3369
  const ret = !getObject(arg0);
3359
3370
  return ret;
@@ -3482,12 +3493,12 @@ function __wbg_get_imports() {
3482
3493
  return addHeapObject(ret);
3483
3494
  }, arguments);
3484
3495
  };
3485
- imports.wbg.__wbindgen_closure_wrapper1985 = function (arg0, arg1, arg2) {
3486
- const ret = makeMutClosure(arg0, arg1, 168, __wbg_adapter_52);
3496
+ imports.wbg.__wbindgen_closure_wrapper1966 = function (arg0, arg1, arg2) {
3497
+ const ret = makeMutClosure(arg0, arg1, 166, __wbg_adapter_52);
3487
3498
  return addHeapObject(ret);
3488
3499
  };
3489
- imports.wbg.__wbindgen_closure_wrapper4701 = function (arg0, arg1, arg2) {
3490
- const ret = makeMutClosure(arg0, arg1, 168, __wbg_adapter_55);
3500
+ imports.wbg.__wbindgen_closure_wrapper4730 = function (arg0, arg1, arg2) {
3501
+ const ret = makeMutClosure(arg0, arg1, 166, __wbg_adapter_55);
3491
3502
  return addHeapObject(ret);
3492
3503
  };
3493
3504
  return imports;
@@ -3556,7 +3567,7 @@ var exports = /*#__PURE__*/Object.freeze({
3556
3567
  var wasm = async (opt = {}) => {
3557
3568
  let {importHook, serverPath} = opt;
3558
3569
 
3559
- let path = "assets/core_crypto_ffi-b7eb1191.wasm";
3570
+ let path = "assets/core_crypto_ffi-9ad99558.wasm";
3560
3571
 
3561
3572
  if (serverPath != null) {
3562
3573
  path = serverPath + /[^\/\\]*$/.exec(path)[0];
@@ -4673,10 +4684,21 @@ class CoreCrypto {
4673
4684
  * Credential generated by Wire's end-to-end identity enrollment
4674
4685
  *
4675
4686
  * @param conversationId The group's ID
4676
- * @returns true if all the members have valid X509 credentials
4687
+ * @returns the conversation state given current members
4688
+ */
4689
+ async e2eiConversationState(conversationId) {
4690
+ let state = await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").e2ei_conversation_state(conversationId));
4691
+ // @ts-ignore
4692
+ return E2eiConversationState[E2eiConversationState[state]];
4693
+ }
4694
+ /**
4695
+ * Returns true when end-to-end-identity is enabled for the given Ciphersuite
4696
+ *
4697
+ * @param ciphersuite of the credential to check
4698
+ * @returns true end-to-end identity is enabled for the given ciphersuite
4677
4699
  */
4678
- async e2eiIsDegraded(conversationId) {
4679
- return await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").e2ei_is_degraded(conversationId));
4700
+ async e2eiIsEnabled(ciphersuite) {
4701
+ return await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").e2ei_is_enabled(ciphersuite));
4680
4702
  }
4681
4703
  /**
4682
4704
  * Returns the current version of {@link CoreCrypto}
@@ -4951,5 +4973,25 @@ class WireE2eIdentity {
4951
4973
  }
4952
4974
  }
4953
4975
  _WireE2eIdentity_e2ei = new WeakMap();
4976
+ /**
4977
+ * Indicates the state of a Conversation regarding end-to-end identity.
4978
+ * Note: this does not check pending state (pending commit, pending proposals) so it does not
4979
+ * consider members about to be added/removed
4980
+ */
4981
+ var E2eiConversationState;
4982
+ (function (E2eiConversationState) {
4983
+ /**
4984
+ * All clients have a valid E2EI certificate
4985
+ */
4986
+ E2eiConversationState[E2eiConversationState["Verified"] = 1] = "Verified";
4987
+ /**
4988
+ * Some clients are either still Basic or their certificate is expired
4989
+ */
4990
+ E2eiConversationState[E2eiConversationState["Degraded"] = 2] = "Degraded";
4991
+ /**
4992
+ * All clients are still Basic. If all client have expired certificates, Degraded is returned.
4993
+ */
4994
+ E2eiConversationState[E2eiConversationState["NotEnabled"] = 3] = "NotEnabled";
4995
+ })(E2eiConversationState || (E2eiConversationState = {}));
4954
4996
 
4955
- export { Ciphersuite, CoreCrypto, CoreCryptoError, CredentialType, ExternalProposalType, GroupInfoEncryptionType, ProposalType, RatchetTreeType, WireE2eIdentity, WirePolicy };
4997
+ export { Ciphersuite, CoreCrypto, CoreCryptoError, CredentialType, E2eiConversationState, ExternalProposalType, GroupInfoEncryptionType, ProposalType, RatchetTreeType, WireE2eIdentity, WirePolicy };