@wireapp/core-crypto 0.6.0-rc.7 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
Binary file
|
@@ -408,7 +408,7 @@ export interface CoreCryptoCallbacks {
|
|
408
408
|
* @param clientId - id of the client performing an operation requiring authorization
|
409
409
|
* @returns whether the user is authorized by the logic layer to perform the operation
|
410
410
|
*/
|
411
|
-
authorize: (conversationId: Uint8Array, clientId: Uint8Array) => boolean
|
411
|
+
authorize: (conversationId: Uint8Array, clientId: Uint8Array) => Promise<boolean>;
|
412
412
|
/**
|
413
413
|
* A mix between {@link authorize} and {@link clientIsExistingGroupUser}. We currently use this callback to verify
|
414
414
|
* external commits to join a group ; in such case, the client has to:
|
@@ -420,7 +420,7 @@ export interface CoreCryptoCallbacks {
|
|
420
420
|
* @param existingClients - all the clients currently within the MLS group
|
421
421
|
* @returns true if the external client is authorized to write to the conversation
|
422
422
|
*/
|
423
|
-
userAuthorize: (conversationId: Uint8Array, externalClientId: Uint8Array, existingClients: Uint8Array[]) => boolean
|
423
|
+
userAuthorize: (conversationId: Uint8Array, externalClientId: Uint8Array, existingClients: Uint8Array[]) => Promise<boolean>;
|
424
424
|
/**
|
425
425
|
* Callback to ensure that the given `clientId` belongs to one of the provided `existingClients`
|
426
426
|
* This basically allows to defer the client ID parsing logic to the caller - because CoreCrypto is oblivious to such things
|
@@ -429,7 +429,7 @@ export interface CoreCryptoCallbacks {
|
|
429
429
|
* @param clientId - id of a client
|
430
430
|
* @param existingClients - all the clients currently within the MLS group
|
431
431
|
*/
|
432
|
-
clientIsExistingGroupUser: (conversationId: Uint8Array, clientId: Uint8Array, existingClients: Uint8Array[]) => boolean
|
432
|
+
clientIsExistingGroupUser: (conversationId: Uint8Array, clientId: Uint8Array, existingClients: Uint8Array[]) => Promise<boolean>;
|
433
433
|
}
|
434
434
|
/**
|
435
435
|
* Wrapper for the WASM-compiled version of CoreCrypto
|
@@ -484,6 +484,22 @@ export declare class CoreCrypto {
|
|
484
484
|
* @param clientId - {@link CoreCryptoParams#clientId} but required
|
485
485
|
*/
|
486
486
|
mlsInit(clientId: ClientId): Promise<void>;
|
487
|
+
/**
|
488
|
+
* Generates a MLS KeyPair/CredentialBundle with a temporary, random client ID.
|
489
|
+
* This method is designed to be used in conjunction with {@link CoreCrypto.mlsInitWithClientID} and represents the first step in this process
|
490
|
+
*
|
491
|
+
* @returns This returns the TLS-serialized identity key (i.e. the signature keypair's public key)
|
492
|
+
*/
|
493
|
+
mlsGenerateKeypair(): Promise<Uint8Array>;
|
494
|
+
/**
|
495
|
+
* Updates the current temporary Client ID with the newly provided one. This is the second step in the externally-generated clients process
|
496
|
+
*
|
497
|
+
* Important: This is designed to be called after {@link CoreCrypto.mlsGenerateKeyPair}
|
498
|
+
*
|
499
|
+
* @param clientId - The newly-allocated client ID by the MLS Authentication Service
|
500
|
+
* @param signaturePublicKey - The public key you were given at the first step; This is for authentication purposes
|
501
|
+
*/
|
502
|
+
mlsInitWithClientId(clientId: ClientId, signaturePublicKey: Uint8Array): Promise<void>;
|
487
503
|
/** @hidden */
|
488
504
|
private constructor();
|
489
505
|
/**
|
@@ -503,7 +519,7 @@ export declare class CoreCrypto {
|
|
503
519
|
*
|
504
520
|
* @param callbacks - Any interface following the {@link CoreCryptoCallbacks} interface
|
505
521
|
*/
|
506
|
-
registerCallbacks(callbacks: CoreCryptoCallbacks): void
|
522
|
+
registerCallbacks(callbacks: CoreCryptoCallbacks, ctx?: any): Promise<void>;
|
507
523
|
/**
|
508
524
|
* Checks if the Client is member of a given conversation and if the MLS Group is loaded up
|
509
525
|
*
|
@@ -831,9 +847,19 @@ export declare class CoreCrypto {
|
|
831
847
|
/**
|
832
848
|
* Creates a new prekey with an automatically generated ID..
|
833
849
|
*
|
834
|
-
* @returns
|
850
|
+
* @returns A CBOR-serialized version of the PreKeyBundle corresponding to the newly generated and stored PreKey
|
835
851
|
*/
|
836
852
|
proteusNewPrekeyAuto(): Promise<Uint8Array>;
|
853
|
+
/**
|
854
|
+
* Proteus last resort prekey stuff
|
855
|
+
*
|
856
|
+
* @returns A CBOR-serialize version of the PreKeyBundle associated with the last resort PreKey (holding the last resort prekey id)
|
857
|
+
*/
|
858
|
+
proteusLastResortPrekey(): Promise<Uint8Array>;
|
859
|
+
/**
|
860
|
+
* @returns The last resort PreKey id
|
861
|
+
*/
|
862
|
+
static proteusLastResortPrekeyId(): number;
|
837
863
|
/**
|
838
864
|
* Proteus public key fingerprint
|
839
865
|
* It's basically the public key encoded as an hex string
|
@@ -876,12 +902,12 @@ export declare class CoreCrypto {
|
|
876
902
|
/**
|
877
903
|
* Creates an enrollment instance with private key material you can use in order to fetch
|
878
904
|
* a new x509 certificate from the acme server.
|
879
|
-
* Make sure to call
|
905
|
+
* Make sure to call {@link WireE2eIdentity.free} to dispose this instance and its associated
|
880
906
|
* keying material.
|
881
907
|
*
|
882
908
|
* @param ciphersuite - For generating signing key material. Only {@link Ciphersuite.MLS_128_DHKEMX25519_AES128GCM_SHA256_Ed25519} is supported currently
|
883
909
|
*/
|
884
|
-
newAcmeEnrollment(): Promise<WireE2eIdentity>;
|
910
|
+
newAcmeEnrollment(ciphersuite?: Ciphersuite): Promise<WireE2eIdentity>;
|
885
911
|
/**
|
886
912
|
* Returns the current version of {@link CoreCrypto}
|
887
913
|
*
|
@@ -896,6 +922,7 @@ export declare class WireE2eIdentity {
|
|
896
922
|
#private;
|
897
923
|
/** @hidden */
|
898
924
|
constructor(e2ei: unknown);
|
925
|
+
free(): void;
|
899
926
|
/**
|
900
927
|
* Parses the response from `GET /acme/{provisioner-name}/directory`.
|
901
928
|
* Use this {@link AcmeDirectory} in the next step to fetch the first nonce from the acme server. Use
|
@@ -923,15 +950,17 @@ export declare class WireE2eIdentity {
|
|
923
950
|
/**
|
924
951
|
* Creates a new acme order for the handle (userId + display name) and the clientId.
|
925
952
|
*
|
926
|
-
* @param
|
927
|
-
* @param
|
953
|
+
* @param displayName human readable name displayed in the application e.g. `Smith, Alice M (QA)`
|
954
|
+
* @param domain DNS name of owning backend e.g. `example.com`
|
955
|
+
* @param clientId client identifier with user b64Url encoded & clientId hex encoded e.g. `impp:wireapp=NDUyMGUyMmY2YjA3NGU3NjkyZjE1NjJjZTAwMmQ2NTQ/6add501bacd1d90e@example.com`
|
956
|
+
* @param handle user handle e.g. `impp:wireapp=alice.smith.qa@example.com`
|
928
957
|
* @param expiryDays generated x509 certificate expiry
|
929
958
|
* @param directory you got from {@link directoryResponse}
|
930
959
|
* @param account you got from {@link newAccountResponse}
|
931
960
|
* @param previousNonce `replay-nonce` response header from `POST /acme/{provisioner-name}/new-account`
|
932
961
|
* @see https://www.rfc-editor.org/rfc/rfc8555.html#section-7.4
|
933
962
|
*/
|
934
|
-
newOrderRequest(
|
963
|
+
newOrderRequest(displayName: string, domain: string, clientId: string, handle: string, expiryDays: number, directory: AcmeDirectory, account: AcmeAccount, previousNonce: string): JsonRawData;
|
935
964
|
/**
|
936
965
|
* Parses the response from `POST /acme/{provisioner-name}/new-order`.
|
937
966
|
*
|
@@ -978,14 +1007,25 @@ export declare class WireE2eIdentity {
|
|
978
1007
|
*/
|
979
1008
|
createDpopToken(accessTokenUrl: string, userId: string, clientId: bigint, domain: string, clientIdChallenge: AcmeChallenge, backendNonce: string, expiryDays: number): string;
|
980
1009
|
/**
|
981
|
-
* Creates a new challenge request.
|
1010
|
+
* Creates a new challenge request for Wire Dpop challenge.
|
1011
|
+
*
|
1012
|
+
* @param accessToken returned by wire-server from https://staging-nginz-https.zinfra.io/api/swagger-ui/#/default/post_clients__cid__access_token
|
1013
|
+
* @param dpopChallenge you found after {@link newAuthzResponse}
|
1014
|
+
* @param account you found after {@link newAccountResponse}
|
1015
|
+
* @param previousNonce `replay-nonce` response header from `POST /acme/{provisioner-name}/authz/{authz-id}`
|
1016
|
+
* @see https://www.rfc-editor.org/rfc/rfc8555.html#section-7.5.1
|
1017
|
+
*/
|
1018
|
+
newDpopChallengeRequest(accessToken: string, dpopChallenge: AcmeChallenge, account: AcmeAccount, previousNonce: string): JsonRawData;
|
1019
|
+
/**
|
1020
|
+
* Creates a new challenge request for Wire Oidc challenge.
|
982
1021
|
*
|
983
|
-
* @param
|
1022
|
+
* @param idToken you get back from Identity Provider
|
1023
|
+
* @param oidcChallenge you found after {@link newAuthzResponse}
|
984
1024
|
* @param account you found after {@link newAccountResponse}
|
985
1025
|
* @param previousNonce `replay-nonce` response header from `POST /acme/{provisioner-name}/authz/{authz-id}`
|
986
1026
|
* @see https://www.rfc-editor.org/rfc/rfc8555.html#section-7.5.1
|
987
1027
|
*/
|
988
|
-
|
1028
|
+
newOidcChallengeRequest(idToken: string, oidcChallenge: AcmeChallenge, account: AcmeAccount, previousNonce: string): JsonRawData;
|
989
1029
|
/**
|
990
1030
|
* Parses the response from `POST /acme/{provisioner-name}/challenge/{challenge-id}`.
|
991
1031
|
*
|
@@ -1012,13 +1052,12 @@ export declare class WireE2eIdentity {
|
|
1012
1052
|
/**
|
1013
1053
|
* Final step before fetching the certificate.
|
1014
1054
|
*
|
1015
|
-
* @param domains - domains you want to generate a certificate for e.g. `["wire.com"]`
|
1016
1055
|
* @param order - order you got from {@link checkOrderResponse}
|
1017
1056
|
* @param account - account you found after {@link newAccountResponse}
|
1018
1057
|
* @param previousNonce - `replay-nonce` response header from `POST /acme/{provisioner-name}/order/{order-id}`
|
1019
1058
|
* @see https://www.rfc-editor.org/rfc/rfc8555.html#section-7.4
|
1020
1059
|
*/
|
1021
|
-
finalizeRequest(
|
1060
|
+
finalizeRequest(order: AcmeOrder, account: AcmeAccount, previousNonce: string): JsonRawData;
|
1022
1061
|
/**
|
1023
1062
|
* Parses the response from `POST /acme/{provisioner-name}/order/{order-id}/finalize`.
|
1024
1063
|
*
|
@@ -34,14 +34,6 @@ const heap = new Array(128).fill(undefined);
|
|
34
34
|
heap.push(undefined, null, true, false);
|
35
35
|
function getObject(idx) { return heap[idx]; }
|
36
36
|
let heap_next = heap.length;
|
37
|
-
function addHeapObject(obj) {
|
38
|
-
if (heap_next === heap.length)
|
39
|
-
heap.push(heap.length + 1);
|
40
|
-
const idx = heap_next;
|
41
|
-
heap_next = heap[idx];
|
42
|
-
heap[idx] = obj;
|
43
|
-
return idx;
|
44
|
-
}
|
45
37
|
function dropObject(idx) {
|
46
38
|
if (idx < 132)
|
47
39
|
return;
|
@@ -53,6 +45,14 @@ function takeObject(idx) {
|
|
53
45
|
dropObject(idx);
|
54
46
|
return ret;
|
55
47
|
}
|
48
|
+
function addHeapObject(obj) {
|
49
|
+
if (heap_next === heap.length)
|
50
|
+
heap.push(heap.length + 1);
|
51
|
+
const idx = heap_next;
|
52
|
+
heap_next = heap[idx];
|
53
|
+
heap[idx] = obj;
|
54
|
+
return idx;
|
55
|
+
}
|
56
56
|
const cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
|
57
57
|
cachedTextDecoder.decode();
|
58
58
|
let cachedUint8Memory0 = null;
|
@@ -228,7 +228,7 @@ function makeMutClosure(arg0, arg1, dtor, f) {
|
|
228
228
|
function __wbg_adapter_52(arg0, arg1, arg2) {
|
229
229
|
try {
|
230
230
|
const retptr = wasm$1.__wbindgen_add_to_stack_pointer(-16);
|
231
|
-
wasm$1.
|
231
|
+
wasm$1._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h07d37b19e83c7ae3(retptr, arg0, arg1, addHeapObject(arg2));
|
232
232
|
var r0 = getInt32Memory0()[retptr / 4 + 0];
|
233
233
|
var r1 = getInt32Memory0()[retptr / 4 + 1];
|
234
234
|
if (r1) {
|
@@ -240,7 +240,7 @@ function __wbg_adapter_52(arg0, arg1, arg2) {
|
|
240
240
|
}
|
241
241
|
}
|
242
242
|
function __wbg_adapter_55(arg0, arg1, arg2) {
|
243
|
-
wasm$1.
|
243
|
+
wasm$1._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hde4447b48c9e13f3(arg0, arg1, addHeapObject(arg2));
|
244
244
|
}
|
245
245
|
function _assertClass(instance, klass) {
|
246
246
|
if (!(instance instanceof klass)) {
|
@@ -279,23 +279,6 @@ function getArrayJsValueFromWasm0(ptr, len) {
|
|
279
279
|
}
|
280
280
|
return result;
|
281
281
|
}
|
282
|
-
/**
|
283
|
-
* Returns the current version of CoreCrypto
|
284
|
-
* @returns {string}
|
285
|
-
*/
|
286
|
-
function version() {
|
287
|
-
try {
|
288
|
-
const retptr = wasm$1.__wbindgen_add_to_stack_pointer(-16);
|
289
|
-
wasm$1.version(retptr);
|
290
|
-
var r0 = getInt32Memory0()[retptr / 4 + 0];
|
291
|
-
var r1 = getInt32Memory0()[retptr / 4 + 1];
|
292
|
-
return getStringFromWasm0(r0, r1);
|
293
|
-
}
|
294
|
-
finally {
|
295
|
-
wasm$1.__wbindgen_add_to_stack_pointer(16);
|
296
|
-
wasm$1.__wbindgen_free(r0, r1);
|
297
|
-
}
|
298
|
-
}
|
299
282
|
function handleError(f, args) {
|
300
283
|
try {
|
301
284
|
return f.apply(this, args);
|
@@ -307,8 +290,8 @@ function handleError(f, args) {
|
|
307
290
|
function getArrayU8FromWasm0(ptr, len) {
|
308
291
|
return getUint8Memory0().subarray(ptr / 1, ptr / 1 + len);
|
309
292
|
}
|
310
|
-
function
|
311
|
-
wasm$1.
|
293
|
+
function __wbg_adapter_268(arg0, arg1, arg2, arg3) {
|
294
|
+
wasm$1.wasm_bindgen__convert__closures__invoke2_mut__h1934ea7100a9edf0(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
|
312
295
|
}
|
313
296
|
/**
|
314
297
|
* see [core_crypto::prelude::MlsWirePolicy]
|
@@ -659,6 +642,23 @@ let CoreCrypto$1 = class CoreCrypto {
|
|
659
642
|
wasm$1.__wbg_corecrypto_free(ptr);
|
660
643
|
}
|
661
644
|
/**
|
645
|
+
* Returns the current version of CoreCrypto
|
646
|
+
* @returns {string}
|
647
|
+
*/
|
648
|
+
static version() {
|
649
|
+
try {
|
650
|
+
const retptr = wasm$1.__wbindgen_add_to_stack_pointer(-16);
|
651
|
+
wasm$1.corecrypto_version(retptr);
|
652
|
+
var r0 = getInt32Memory0()[retptr / 4 + 0];
|
653
|
+
var r1 = getInt32Memory0()[retptr / 4 + 1];
|
654
|
+
return getStringFromWasm0(r0, r1);
|
655
|
+
}
|
656
|
+
finally {
|
657
|
+
wasm$1.__wbindgen_add_to_stack_pointer(16);
|
658
|
+
wasm$1.__wbindgen_free(r0, r1);
|
659
|
+
}
|
660
|
+
}
|
661
|
+
/**
|
662
662
|
* see [core_crypto::MlsCentral::try_new]
|
663
663
|
* @param {string} path
|
664
664
|
* @param {string} key
|
@@ -707,6 +707,32 @@ let CoreCrypto$1 = class CoreCrypto {
|
|
707
707
|
return takeObject(ret);
|
708
708
|
}
|
709
709
|
/**
|
710
|
+
* Returns [`WasmCryptoResult<Vec<u8>>`]
|
711
|
+
*
|
712
|
+
* See [core_crypto::MlsCentral::mls_generate_keypair]
|
713
|
+
* @returns {Promise<any>}
|
714
|
+
*/
|
715
|
+
mls_generate_keypair() {
|
716
|
+
const ret = wasm$1.corecrypto_mls_generate_keypair(this.ptr);
|
717
|
+
return takeObject(ret);
|
718
|
+
}
|
719
|
+
/**
|
720
|
+
* Returns [`WasmCryptoResult<()>`]
|
721
|
+
*
|
722
|
+
* See [core_crypto::MlsCentral::mls_init_with_client_id]
|
723
|
+
* @param {Uint8Array} client_id
|
724
|
+
* @param {Uint8Array} signature_public_key
|
725
|
+
* @returns {Promise<any>}
|
726
|
+
*/
|
727
|
+
mls_init_with_client_id(client_id, signature_public_key) {
|
728
|
+
const ptr0 = passArray8ToWasm0(client_id, wasm$1.__wbindgen_malloc);
|
729
|
+
const len0 = WASM_VECTOR_LEN;
|
730
|
+
const ptr1 = passArray8ToWasm0(signature_public_key, wasm$1.__wbindgen_malloc);
|
731
|
+
const len1 = WASM_VECTOR_LEN;
|
732
|
+
const ret = wasm$1.corecrypto_mls_init_with_client_id(this.ptr, ptr0, len0, ptr1, len1);
|
733
|
+
return takeObject(ret);
|
734
|
+
}
|
735
|
+
/**
|
710
736
|
* Returns: [`WasmCryptoResult<()>`]
|
711
737
|
*
|
712
738
|
* see [core_crypto::MlsCentral::close]
|
@@ -1227,7 +1253,7 @@ let CoreCrypto$1 = class CoreCrypto {
|
|
1227
1253
|
* see [core_crypto::proteus::ProteusCentral::encrypt]
|
1228
1254
|
* @param {string} session_id
|
1229
1255
|
* @param {Uint8Array} plaintext
|
1230
|
-
* @returns {Promise<
|
1256
|
+
* @returns {Promise<Promise<any>>}
|
1231
1257
|
*/
|
1232
1258
|
proteus_encrypt(session_id, plaintext) {
|
1233
1259
|
const ptr0 = passStringToWasm0(session_id, wasm$1.__wbindgen_malloc, wasm$1.__wbindgen_realloc);
|
@@ -1243,7 +1269,7 @@ let CoreCrypto$1 = class CoreCrypto {
|
|
1243
1269
|
* see [core_crypto::proteus::ProteusCentral::encrypt_batched]
|
1244
1270
|
* @param {(string)[]} sessions
|
1245
1271
|
* @param {Uint8Array} plaintext
|
1246
|
-
* @returns {Promise<
|
1272
|
+
* @returns {Promise<any>}
|
1247
1273
|
*/
|
1248
1274
|
proteus_encrypt_batched(sessions, plaintext) {
|
1249
1275
|
const ptr0 = passArrayJsValueToWasm0(sessions, wasm$1.__wbindgen_malloc);
|
@@ -1258,7 +1284,7 @@ let CoreCrypto$1 = class CoreCrypto {
|
|
1258
1284
|
*
|
1259
1285
|
* see [core_crypto::proteus::ProteusCentral::new_prekey]
|
1260
1286
|
* @param {number} prekey_id
|
1261
|
-
* @returns {Promise<
|
1287
|
+
* @returns {Promise<Promise<any>>}
|
1262
1288
|
*/
|
1263
1289
|
proteus_new_prekey(prekey_id) {
|
1264
1290
|
const ret = wasm$1.corecrypto_proteus_new_prekey(this.ptr, prekey_id);
|
@@ -1268,13 +1294,45 @@ let CoreCrypto$1 = class CoreCrypto {
|
|
1268
1294
|
* Returns: [`WasmCryptoResult<Uint8Array>`]
|
1269
1295
|
*
|
1270
1296
|
* see [core_crypto::proteus::ProteusCentral::new_prekey]
|
1271
|
-
* @returns {Promise<
|
1297
|
+
* @returns {Promise<Promise<any>>}
|
1272
1298
|
*/
|
1273
1299
|
proteus_new_prekey_auto() {
|
1274
1300
|
const ret = wasm$1.corecrypto_proteus_new_prekey_auto(this.ptr);
|
1275
1301
|
return takeObject(ret);
|
1276
1302
|
}
|
1277
1303
|
/**
|
1304
|
+
* Returns [`WasmCryptoResult<Uint8Array>`]
|
1305
|
+
*
|
1306
|
+
* see [core_crypto::proteus::ProteusCentral::last_resort_prekey]
|
1307
|
+
* @returns {Promise<any>}
|
1308
|
+
*/
|
1309
|
+
proteus_last_resort_prekey() {
|
1310
|
+
const ret = wasm$1.corecrypto_proteus_last_resort_prekey(this.ptr);
|
1311
|
+
return takeObject(ret);
|
1312
|
+
}
|
1313
|
+
/**
|
1314
|
+
* Returns: [`WasmCryptoResult<u16>`]
|
1315
|
+
*
|
1316
|
+
* see [core_crypto::proteus::ProteusCentral::last_resort_prekey_id]
|
1317
|
+
* @returns {number}
|
1318
|
+
*/
|
1319
|
+
static proteus_last_resort_prekey_id() {
|
1320
|
+
try {
|
1321
|
+
const retptr = wasm$1.__wbindgen_add_to_stack_pointer(-16);
|
1322
|
+
wasm$1.corecrypto_proteus_last_resort_prekey_id(retptr);
|
1323
|
+
var r0 = getInt32Memory0()[retptr / 4 + 0];
|
1324
|
+
var r1 = getInt32Memory0()[retptr / 4 + 1];
|
1325
|
+
var r2 = getInt32Memory0()[retptr / 4 + 2];
|
1326
|
+
if (r2) {
|
1327
|
+
throw takeObject(r1);
|
1328
|
+
}
|
1329
|
+
return r0;
|
1330
|
+
}
|
1331
|
+
finally {
|
1332
|
+
wasm$1.__wbindgen_add_to_stack_pointer(16);
|
1333
|
+
}
|
1334
|
+
}
|
1335
|
+
/**
|
1278
1336
|
* Returns: [`WasmCryptoResult<String>`]
|
1279
1337
|
*
|
1280
1338
|
* see [core_crypto::proteus::ProteusCentral::fingerprint]
|
@@ -1421,9 +1479,10 @@ class CoreCryptoWasmCallbacks {
|
|
1421
1479
|
* @param {Function} authorize
|
1422
1480
|
* @param {Function} user_authorize
|
1423
1481
|
* @param {Function} client_is_existing_group_user
|
1482
|
+
* @param {any} ctx
|
1424
1483
|
*/
|
1425
|
-
constructor(authorize, user_authorize, client_is_existing_group_user) {
|
1426
|
-
const ret = wasm$1.corecryptowasmcallbacks_new(addHeapObject(authorize), addHeapObject(user_authorize), addHeapObject(client_is_existing_group_user));
|
1484
|
+
constructor(authorize, user_authorize, client_is_existing_group_user, ctx) {
|
1485
|
+
const ret = wasm$1.corecryptowasmcallbacks_new(addHeapObject(authorize), addHeapObject(user_authorize), addHeapObject(client_is_existing_group_user), addHeapObject(ctx));
|
1427
1486
|
return CoreCryptoWasmCallbacks.__wrap(ret);
|
1428
1487
|
}
|
1429
1488
|
}
|
@@ -1605,24 +1664,30 @@ class FfiWireE2EIdentity {
|
|
1605
1664
|
}
|
1606
1665
|
/**
|
1607
1666
|
* See [core_crypto::e2e_identity::WireE2eIdentity::new_order_request]
|
1608
|
-
* @param {string}
|
1667
|
+
* @param {string} display_name
|
1668
|
+
* @param {string} domain
|
1609
1669
|
* @param {string} client_id
|
1670
|
+
* @param {string} handle
|
1610
1671
|
* @param {number} expiry_days
|
1611
1672
|
* @param {any} directory
|
1612
1673
|
* @param {Uint8Array} account
|
1613
1674
|
* @param {string} previous_nonce
|
1614
1675
|
* @returns {Uint8Array}
|
1615
1676
|
*/
|
1616
|
-
new_order_request(
|
1677
|
+
new_order_request(display_name, domain, client_id, handle, expiry_days, directory, account, previous_nonce) {
|
1617
1678
|
try {
|
1618
1679
|
const retptr = wasm$1.__wbindgen_add_to_stack_pointer(-16);
|
1619
|
-
const ptr0 = passStringToWasm0(
|
1680
|
+
const ptr0 = passStringToWasm0(display_name, wasm$1.__wbindgen_malloc, wasm$1.__wbindgen_realloc);
|
1620
1681
|
const len0 = WASM_VECTOR_LEN;
|
1621
|
-
const ptr1 = passStringToWasm0(
|
1682
|
+
const ptr1 = passStringToWasm0(domain, wasm$1.__wbindgen_malloc, wasm$1.__wbindgen_realloc);
|
1622
1683
|
const len1 = WASM_VECTOR_LEN;
|
1623
|
-
const ptr2 = passStringToWasm0(
|
1684
|
+
const ptr2 = passStringToWasm0(client_id, wasm$1.__wbindgen_malloc, wasm$1.__wbindgen_realloc);
|
1624
1685
|
const len2 = WASM_VECTOR_LEN;
|
1625
|
-
|
1686
|
+
const ptr3 = passStringToWasm0(handle, wasm$1.__wbindgen_malloc, wasm$1.__wbindgen_realloc);
|
1687
|
+
const len3 = WASM_VECTOR_LEN;
|
1688
|
+
const ptr4 = passStringToWasm0(previous_nonce, wasm$1.__wbindgen_malloc, wasm$1.__wbindgen_realloc);
|
1689
|
+
const len4 = WASM_VECTOR_LEN;
|
1690
|
+
wasm$1.ffiwiree2eidentity_new_order_request(retptr, this.ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, expiry_days, addHeapObject(directory), addHeapObject(account), ptr4, len4);
|
1626
1691
|
var r0 = getInt32Memory0()[retptr / 4 + 0];
|
1627
1692
|
var r1 = getInt32Memory0()[retptr / 4 + 1];
|
1628
1693
|
var r2 = getInt32Memory0()[retptr / 4 + 2];
|
@@ -1746,18 +1811,49 @@ class FfiWireE2EIdentity {
|
|
1746
1811
|
}
|
1747
1812
|
}
|
1748
1813
|
/**
|
1749
|
-
* See [core_crypto::e2e_identity::WireE2eIdentity::
|
1750
|
-
* @param {
|
1814
|
+
* See [core_crypto::e2e_identity::WireE2eIdentity::new_dpop_challenge_request]
|
1815
|
+
* @param {string} access_token
|
1816
|
+
* @param {any} dpop_challenge
|
1751
1817
|
* @param {Uint8Array} account
|
1752
1818
|
* @param {string} previous_nonce
|
1753
1819
|
* @returns {Uint8Array}
|
1754
1820
|
*/
|
1755
|
-
|
1821
|
+
new_dpop_challenge_request(access_token, dpop_challenge, account, previous_nonce) {
|
1756
1822
|
try {
|
1757
1823
|
const retptr = wasm$1.__wbindgen_add_to_stack_pointer(-16);
|
1758
|
-
const ptr0 = passStringToWasm0(
|
1824
|
+
const ptr0 = passStringToWasm0(access_token, wasm$1.__wbindgen_malloc, wasm$1.__wbindgen_realloc);
|
1759
1825
|
const len0 = WASM_VECTOR_LEN;
|
1760
|
-
|
1826
|
+
const ptr1 = passStringToWasm0(previous_nonce, wasm$1.__wbindgen_malloc, wasm$1.__wbindgen_realloc);
|
1827
|
+
const len1 = WASM_VECTOR_LEN;
|
1828
|
+
wasm$1.ffiwiree2eidentity_new_dpop_challenge_request(retptr, this.ptr, ptr0, len0, addHeapObject(dpop_challenge), addHeapObject(account), ptr1, len1);
|
1829
|
+
var r0 = getInt32Memory0()[retptr / 4 + 0];
|
1830
|
+
var r1 = getInt32Memory0()[retptr / 4 + 1];
|
1831
|
+
var r2 = getInt32Memory0()[retptr / 4 + 2];
|
1832
|
+
if (r2) {
|
1833
|
+
throw takeObject(r1);
|
1834
|
+
}
|
1835
|
+
return takeObject(r0);
|
1836
|
+
}
|
1837
|
+
finally {
|
1838
|
+
wasm$1.__wbindgen_add_to_stack_pointer(16);
|
1839
|
+
}
|
1840
|
+
}
|
1841
|
+
/**
|
1842
|
+
* See [core_crypto::e2e_identity::WireE2eIdentity::new_oidc_challenge_request]
|
1843
|
+
* @param {string} id_token
|
1844
|
+
* @param {any} oidc_challenge
|
1845
|
+
* @param {Uint8Array} account
|
1846
|
+
* @param {string} previous_nonce
|
1847
|
+
* @returns {Uint8Array}
|
1848
|
+
*/
|
1849
|
+
new_oidc_challenge_request(id_token, oidc_challenge, account, previous_nonce) {
|
1850
|
+
try {
|
1851
|
+
const retptr = wasm$1.__wbindgen_add_to_stack_pointer(-16);
|
1852
|
+
const ptr0 = passStringToWasm0(id_token, wasm$1.__wbindgen_malloc, wasm$1.__wbindgen_realloc);
|
1853
|
+
const len0 = WASM_VECTOR_LEN;
|
1854
|
+
const ptr1 = passStringToWasm0(previous_nonce, wasm$1.__wbindgen_malloc, wasm$1.__wbindgen_realloc);
|
1855
|
+
const len1 = WASM_VECTOR_LEN;
|
1856
|
+
wasm$1.ffiwiree2eidentity_new_oidc_challenge_request(retptr, this.ptr, ptr0, len0, addHeapObject(oidc_challenge), addHeapObject(account), ptr1, len1);
|
1761
1857
|
var r0 = getInt32Memory0()[retptr / 4 + 0];
|
1762
1858
|
var r1 = getInt32Memory0()[retptr / 4 + 1];
|
1763
1859
|
var r2 = getInt32Memory0()[retptr / 4 + 2];
|
@@ -1838,20 +1934,17 @@ class FfiWireE2EIdentity {
|
|
1838
1934
|
}
|
1839
1935
|
/**
|
1840
1936
|
* See [core_crypto::e2e_identity::WireE2eIdentity::finalize_request]
|
1841
|
-
* @param {(string)[]} domains
|
1842
1937
|
* @param {Uint8Array} order
|
1843
1938
|
* @param {Uint8Array} account
|
1844
1939
|
* @param {string} previous_nonce
|
1845
1940
|
* @returns {Uint8Array}
|
1846
1941
|
*/
|
1847
|
-
finalize_request(
|
1942
|
+
finalize_request(order, account, previous_nonce) {
|
1848
1943
|
try {
|
1849
1944
|
const retptr = wasm$1.__wbindgen_add_to_stack_pointer(-16);
|
1850
|
-
const ptr0 =
|
1945
|
+
const ptr0 = passStringToWasm0(previous_nonce, wasm$1.__wbindgen_malloc, wasm$1.__wbindgen_realloc);
|
1851
1946
|
const len0 = WASM_VECTOR_LEN;
|
1852
|
-
|
1853
|
-
const len1 = WASM_VECTOR_LEN;
|
1854
|
-
wasm$1.ffiwiree2eidentity_finalize_request(retptr, this.ptr, ptr0, len0, addHeapObject(order), addHeapObject(account), ptr1, len1);
|
1947
|
+
wasm$1.ffiwiree2eidentity_finalize_request(retptr, this.ptr, addHeapObject(order), addHeapObject(account), ptr0, len0);
|
1855
1948
|
var r0 = getInt32Memory0()[retptr / 4 + 0];
|
1856
1949
|
var r1 = getInt32Memory0()[retptr / 4 + 1];
|
1857
1950
|
var r2 = getInt32Memory0()[retptr / 4 + 2];
|
@@ -2049,16 +2142,16 @@ class NewAcmeAuthz {
|
|
2049
2142
|
}
|
2050
2143
|
/**
|
2051
2144
|
* @param {string} identifier
|
2052
|
-
* @param {AcmeChallenge | undefined}
|
2145
|
+
* @param {AcmeChallenge | undefined} wire_dpop_challenge
|
2053
2146
|
* @param {AcmeChallenge | undefined} wire_oidc_challenge
|
2054
2147
|
*/
|
2055
|
-
constructor(identifier,
|
2148
|
+
constructor(identifier, wire_dpop_challenge, wire_oidc_challenge) {
|
2056
2149
|
const ptr0 = passStringToWasm0(identifier, wasm$1.__wbindgen_malloc, wasm$1.__wbindgen_realloc);
|
2057
2150
|
const len0 = WASM_VECTOR_LEN;
|
2058
2151
|
let ptr1 = 0;
|
2059
|
-
if (!isLikeNone(
|
2060
|
-
_assertClass(
|
2061
|
-
ptr1 =
|
2152
|
+
if (!isLikeNone(wire_dpop_challenge)) {
|
2153
|
+
_assertClass(wire_dpop_challenge, AcmeChallenge);
|
2154
|
+
ptr1 = wire_dpop_challenge.__destroy_into_raw();
|
2062
2155
|
}
|
2063
2156
|
let ptr2 = 0;
|
2064
2157
|
if (!isLikeNone(wire_oidc_challenge)) {
|
@@ -2087,8 +2180,8 @@ class NewAcmeAuthz {
|
|
2087
2180
|
/**
|
2088
2181
|
* @returns {AcmeChallenge | undefined}
|
2089
2182
|
*/
|
2090
|
-
get
|
2091
|
-
const ret = wasm$1.
|
2183
|
+
get wire_dpop_challenge() {
|
2184
|
+
const ret = wasm$1.newacmeauthz_wire_dpop_challenge(this.ptr);
|
2092
2185
|
return ret === 0 ? undefined : AcmeChallenge.__wrap(ret);
|
2093
2186
|
}
|
2094
2187
|
/**
|
@@ -2244,6 +2337,27 @@ async function load(module, imports) {
|
|
2244
2337
|
function getImports() {
|
2245
2338
|
const imports = {};
|
2246
2339
|
imports.wbg = {};
|
2340
|
+
imports.wbg.__wbg_new_f9876326328f45ed = function () {
|
2341
|
+
const ret = new Object();
|
2342
|
+
return addHeapObject(ret);
|
2343
|
+
};
|
2344
|
+
imports.wbg.__wbg_new_b525de17f44a8943 = function () {
|
2345
|
+
const ret = new Array();
|
2346
|
+
return addHeapObject(ret);
|
2347
|
+
};
|
2348
|
+
imports.wbg.__wbg_set_17224bc548dd1d7b = function (arg0, arg1, arg2) {
|
2349
|
+
getObject(arg0)[arg1 >>> 0] = takeObject(arg2);
|
2350
|
+
};
|
2351
|
+
imports.wbg.__wbg_set_20cbc34131e76824 = function (arg0, arg1, arg2) {
|
2352
|
+
getObject(arg0)[takeObject(arg1)] = takeObject(arg2);
|
2353
|
+
};
|
2354
|
+
imports.wbg.__wbindgen_object_drop_ref = function (arg0) {
|
2355
|
+
takeObject(arg0);
|
2356
|
+
};
|
2357
|
+
imports.wbg.__wbindgen_number_new = function (arg0) {
|
2358
|
+
const ret = arg0;
|
2359
|
+
return addHeapObject(ret);
|
2360
|
+
};
|
2247
2361
|
imports.wbg.__wbindgen_object_clone_ref = function (arg0) {
|
2248
2362
|
const ret = getObject(arg0);
|
2249
2363
|
return addHeapObject(ret);
|
@@ -2253,9 +2367,6 @@ function getImports() {
|
|
2253
2367
|
const ret = typeof (val) === 'object' && val !== null;
|
2254
2368
|
return ret;
|
2255
2369
|
};
|
2256
|
-
imports.wbg.__wbindgen_object_drop_ref = function (arg0) {
|
2257
|
-
takeObject(arg0);
|
2258
|
-
};
|
2259
2370
|
imports.wbg.__wbg_getwithrefkey_15c62c2b8546208d = function (arg0, arg1) {
|
2260
2371
|
const ret = getObject(arg0)[getObject(arg1)];
|
2261
2372
|
return addHeapObject(ret);
|
@@ -2296,42 +2407,16 @@ function getImports() {
|
|
2296
2407
|
const ret = getObject(arg0).length;
|
2297
2408
|
return ret;
|
2298
2409
|
};
|
2410
|
+
imports.wbg.__wbg_new_537b7341ce90bb31 = function (arg0) {
|
2411
|
+
const ret = new Uint8Array(getObject(arg0));
|
2412
|
+
return addHeapObject(ret);
|
2413
|
+
};
|
2299
2414
|
imports.wbg.__wbg_call_9495de66fdbe016b = function () {
|
2300
2415
|
return handleError(function (arg0, arg1, arg2) {
|
2301
2416
|
const ret = getObject(arg0).call(getObject(arg1), getObject(arg2));
|
2302
2417
|
return addHeapObject(ret);
|
2303
2418
|
}, arguments);
|
2304
2419
|
};
|
2305
|
-
imports.wbg.__wbg_new_537b7341ce90bb31 = function (arg0) {
|
2306
|
-
const ret = new Uint8Array(getObject(arg0));
|
2307
|
-
return addHeapObject(ret);
|
2308
|
-
};
|
2309
|
-
imports.wbg.__wbindgen_bigint_from_u64 = function (arg0) {
|
2310
|
-
const ret = BigInt.asUintN(64, arg0);
|
2311
|
-
return addHeapObject(ret);
|
2312
|
-
};
|
2313
|
-
imports.wbg.__wbg_new_f9876326328f45ed = function () {
|
2314
|
-
const ret = new Object();
|
2315
|
-
return addHeapObject(ret);
|
2316
|
-
};
|
2317
|
-
imports.wbg.__wbg_new_b525de17f44a8943 = function () {
|
2318
|
-
const ret = new Array();
|
2319
|
-
return addHeapObject(ret);
|
2320
|
-
};
|
2321
|
-
imports.wbg.__wbg_set_17224bc548dd1d7b = function (arg0, arg1, arg2) {
|
2322
|
-
getObject(arg0)[arg1 >>> 0] = takeObject(arg2);
|
2323
|
-
};
|
2324
|
-
imports.wbg.__wbg_set_20cbc34131e76824 = function (arg0, arg1, arg2) {
|
2325
|
-
getObject(arg0)[takeObject(arg1)] = takeObject(arg2);
|
2326
|
-
};
|
2327
|
-
imports.wbg.__wbindgen_number_new = function (arg0) {
|
2328
|
-
const ret = arg0;
|
2329
|
-
return addHeapObject(ret);
|
2330
|
-
};
|
2331
|
-
imports.wbg.__wbg_ffiwiree2eidentity_new = function (arg0) {
|
2332
|
-
const ret = FfiWireE2EIdentity.__wrap(arg0);
|
2333
|
-
return addHeapObject(ret);
|
2334
|
-
};
|
2335
2420
|
imports.wbg.__wbg_new_9d3a9ce4282a18a8 = function (arg0, arg1) {
|
2336
2421
|
try {
|
2337
2422
|
var state0 = { a: arg0, b: arg1 };
|
@@ -2339,7 +2424,7 @@ function getImports() {
|
|
2339
2424
|
const a = state0.a;
|
2340
2425
|
state0.a = 0;
|
2341
2426
|
try {
|
2342
|
-
return
|
2427
|
+
return __wbg_adapter_268(a, state0.b, arg0, arg1);
|
2343
2428
|
}
|
2344
2429
|
finally {
|
2345
2430
|
state0.a = a;
|
@@ -2352,6 +2437,10 @@ function getImports() {
|
|
2352
2437
|
state0.a = state0.b = 0;
|
2353
2438
|
}
|
2354
2439
|
};
|
2440
|
+
imports.wbg.__wbg_ffiwiree2eidentity_new = function (arg0) {
|
2441
|
+
const ret = FfiWireE2EIdentity.__wrap(arg0);
|
2442
|
+
return addHeapObject(ret);
|
2443
|
+
};
|
2355
2444
|
imports.wbg.__wbg_push_49c286f04dd3bf59 = function (arg0, arg1) {
|
2356
2445
|
const ret = getObject(arg0).push(getObject(arg1));
|
2357
2446
|
return ret;
|
@@ -2364,6 +2453,10 @@ function getImports() {
|
|
2364
2453
|
const ret = getObject(arg0).set(getObject(arg1), getObject(arg2));
|
2365
2454
|
return addHeapObject(ret);
|
2366
2455
|
};
|
2456
|
+
imports.wbg.__wbindgen_bigint_from_u64 = function (arg0) {
|
2457
|
+
const ret = BigInt.asUintN(64, arg0);
|
2458
|
+
return addHeapObject(ret);
|
2459
|
+
};
|
2367
2460
|
imports.wbg.__wbg_setonsuccess_925a7718d3f62bc1 = function (arg0, arg1) {
|
2368
2461
|
getObject(arg0).onsuccess = getObject(arg1);
|
2369
2462
|
};
|
@@ -2448,8 +2541,8 @@ function getImports() {
|
|
2448
2541
|
return addHeapObject(ret);
|
2449
2542
|
}, arguments);
|
2450
2543
|
};
|
2451
|
-
imports.wbg.
|
2452
|
-
const ret =
|
2544
|
+
imports.wbg.__wbg_now_78244d2ced74c026 = function () {
|
2545
|
+
const ret = performance.now();
|
2453
2546
|
return ret;
|
2454
2547
|
};
|
2455
2548
|
imports.wbg.__wbg_reject_57029f54148d79c3 = function (arg0) {
|
@@ -2464,10 +2557,6 @@ function getImports() {
|
|
2464
2557
|
const ret = Date.now();
|
2465
2558
|
return ret;
|
2466
2559
|
};
|
2467
|
-
imports.wbg.__wbg_now_78244d2ced74c026 = function () {
|
2468
|
-
const ret = performance.now();
|
2469
|
-
return ret;
|
2470
|
-
};
|
2471
2560
|
imports.wbg.__wbg_new_abda76e883ba8a5f = function () {
|
2472
2561
|
const ret = new Error();
|
2473
2562
|
return addHeapObject(ret);
|
@@ -2642,10 +2731,6 @@ function getImports() {
|
|
2642
2731
|
const ret = new Uint8Array(arg0 >>> 0);
|
2643
2732
|
return addHeapObject(ret);
|
2644
2733
|
};
|
2645
|
-
imports.wbg.__wbg_charCodeAt_d78a90aced59e02f = function (arg0, arg1) {
|
2646
|
-
const ret = getObject(arg0).charCodeAt(arg1 >>> 0);
|
2647
|
-
return ret;
|
2648
|
-
};
|
2649
2734
|
imports.wbg.__wbg_next_88560ec06a094dea = function () {
|
2650
2735
|
return handleError(function (arg0) {
|
2651
2736
|
const ret = getObject(arg0).next();
|
@@ -2727,12 +2812,6 @@ function getImports() {
|
|
2727
2812
|
const ret = getObject(arg0).target;
|
2728
2813
|
return isLikeNone(ret) ? 0 : addHeapObject(ret);
|
2729
2814
|
};
|
2730
|
-
imports.wbg.__wbg_error_f64b8d41ed4d2fdc = function () {
|
2731
|
-
return handleError(function (arg0) {
|
2732
|
-
const ret = getObject(arg0).error;
|
2733
|
-
return isLikeNone(ret) ? 0 : addHeapObject(ret);
|
2734
|
-
}, arguments);
|
2735
|
-
};
|
2736
2815
|
imports.wbg.__wbg_result_3a1fef332bc47038 = function () {
|
2737
2816
|
return handleError(function (arg0) {
|
2738
2817
|
const ret = getObject(arg0).result;
|
@@ -2773,6 +2852,12 @@ function getImports() {
|
|
2773
2852
|
getObject(arg0).deleteObjectStore(getStringFromWasm0(arg1, arg2));
|
2774
2853
|
}, arguments);
|
2775
2854
|
};
|
2855
|
+
imports.wbg.__wbg_error_f64b8d41ed4d2fdc = function () {
|
2856
|
+
return handleError(function (arg0) {
|
2857
|
+
const ret = getObject(arg0).error;
|
2858
|
+
return isLikeNone(ret) ? 0 : addHeapObject(ret);
|
2859
|
+
}, arguments);
|
2860
|
+
};
|
2776
2861
|
imports.wbg.__wbindgen_is_falsy = function (arg0) {
|
2777
2862
|
const ret = !getObject(arg0);
|
2778
2863
|
return ret;
|
@@ -2818,29 +2903,6 @@ function getImports() {
|
|
2818
2903
|
const ret = getObject(arg0).toString();
|
2819
2904
|
return addHeapObject(ret);
|
2820
2905
|
};
|
2821
|
-
imports.wbg.__wbg_instanceof_Window_e266f02eee43b570 = function (arg0) {
|
2822
|
-
let result;
|
2823
|
-
try {
|
2824
|
-
result = getObject(arg0) instanceof Window;
|
2825
|
-
}
|
2826
|
-
catch {
|
2827
|
-
result = false;
|
2828
|
-
}
|
2829
|
-
const ret = result;
|
2830
|
-
return ret;
|
2831
|
-
};
|
2832
|
-
imports.wbg.__wbg_crypto_71b946c90b06fb5b = function () {
|
2833
|
-
return handleError(function (arg0) {
|
2834
|
-
const ret = getObject(arg0).crypto;
|
2835
|
-
return addHeapObject(ret);
|
2836
|
-
}, arguments);
|
2837
|
-
};
|
2838
|
-
imports.wbg.__wbg_getRandomValues_2a91ccd2d6c499b0 = function () {
|
2839
|
-
return handleError(function (arg0, arg1, arg2) {
|
2840
|
-
const ret = getObject(arg0).getRandomValues(getArrayU8FromWasm0(arg1, arg2));
|
2841
|
-
return addHeapObject(ret);
|
2842
|
-
}, arguments);
|
2843
|
-
};
|
2844
2906
|
imports.wbg.__wbg_instanceof_Uint8Array_01cebe79ca606cca = function (arg0) {
|
2845
2907
|
let result;
|
2846
2908
|
try {
|
@@ -2888,6 +2950,10 @@ function getImports() {
|
|
2888
2950
|
const ret = getObject(arg0).then(getObject(arg1));
|
2889
2951
|
return addHeapObject(ret);
|
2890
2952
|
};
|
2953
|
+
imports.wbg.__wbg_then_f753623316e2873a = function (arg0, arg1, arg2) {
|
2954
|
+
const ret = getObject(arg0).then(getObject(arg1), getObject(arg2));
|
2955
|
+
return addHeapObject(ret);
|
2956
|
+
};
|
2891
2957
|
imports.wbg.__wbg_resolve_fd40f858d9db1a04 = function (arg0) {
|
2892
2958
|
const ret = Promise.resolve(getObject(arg0));
|
2893
2959
|
return addHeapObject(ret);
|
@@ -2952,12 +3018,12 @@ function getImports() {
|
|
2952
3018
|
return addHeapObject(ret);
|
2953
3019
|
}, arguments);
|
2954
3020
|
};
|
2955
|
-
imports.wbg.
|
2956
|
-
const ret = makeMutClosure(arg0, arg1,
|
3021
|
+
imports.wbg.__wbindgen_closure_wrapper4410 = function (arg0, arg1, arg2) {
|
3022
|
+
const ret = makeMutClosure(arg0, arg1, 143, __wbg_adapter_52);
|
2957
3023
|
return addHeapObject(ret);
|
2958
3024
|
};
|
2959
|
-
imports.wbg.
|
2960
|
-
const ret = makeMutClosure(arg0, arg1,
|
3025
|
+
imports.wbg.__wbindgen_closure_wrapper4895 = function (arg0, arg1, arg2) {
|
3026
|
+
const ret = makeMutClosure(arg0, arg1, 143, __wbg_adapter_55);
|
2961
3027
|
return addHeapObject(ret);
|
2962
3028
|
};
|
2963
3029
|
return imports;
|
@@ -3011,14 +3077,13 @@ var exports = /*#__PURE__*/Object.freeze({
|
|
3011
3077
|
PublicGroupStateBundle: PublicGroupStateBundle,
|
3012
3078
|
WirePolicy: WirePolicy$1,
|
3013
3079
|
default: init,
|
3014
|
-
initSync: initSync
|
3015
|
-
version: version
|
3080
|
+
initSync: initSync
|
3016
3081
|
});
|
3017
3082
|
|
3018
3083
|
var wasm = async (opt = {}) => {
|
3019
3084
|
let {importHook, serverPath} = opt;
|
3020
3085
|
|
3021
|
-
let path = "assets/core_crypto_ffi-
|
3086
|
+
let path = "assets/core_crypto_ffi-49b28313.wasm";
|
3022
3087
|
|
3023
3088
|
if (serverPath != null) {
|
3024
3089
|
path = serverPath + /[^\/\\]*$/.exec(path)[0];
|
@@ -3034,7 +3099,7 @@ var wasm = async (opt = {}) => {
|
|
3034
3099
|
|
3035
3100
|
// Wire
|
3036
3101
|
// Copyright (C) 2022 Wire Swiss GmbH
|
3037
|
-
var _a, _CoreCrypto_module, _CoreCrypto_cc, _WireE2eIdentity_e2ei;
|
3102
|
+
var _a, _CoreCrypto_module, _CoreCrypto_cc, _CoreCrypto_assertModuleLoaded, _WireE2eIdentity_e2ei;
|
3038
3103
|
/**
|
3039
3104
|
* Error wrapper that takes care of extracting rich error details across the FFI (through JSON parsing)
|
3040
3105
|
*
|
@@ -3054,7 +3119,7 @@ class CoreCryptoError extends Error {
|
|
3054
3119
|
this.proteusErrorCode = richError.proteusErrorCode;
|
3055
3120
|
}
|
3056
3121
|
static fallback(msg, ...params) {
|
3057
|
-
console.warn(
|
3122
|
+
console.warn(`Cannot build CoreCryptoError, falling back to standard Error! ctx: ${msg}`);
|
3058
3123
|
// @ts-ignore
|
3059
3124
|
return new Error(msg, ...params);
|
3060
3125
|
}
|
@@ -3277,6 +3342,26 @@ class CoreCrypto {
|
|
3277
3342
|
async mlsInit(clientId) {
|
3278
3343
|
return await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").mls_init(clientId));
|
3279
3344
|
}
|
3345
|
+
/**
|
3346
|
+
* Generates a MLS KeyPair/CredentialBundle with a temporary, random client ID.
|
3347
|
+
* This method is designed to be used in conjunction with {@link CoreCrypto.mlsInitWithClientID} and represents the first step in this process
|
3348
|
+
*
|
3349
|
+
* @returns This returns the TLS-serialized identity key (i.e. the signature keypair's public key)
|
3350
|
+
*/
|
3351
|
+
async mlsGenerateKeypair() {
|
3352
|
+
return await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").mls_generate_keypair());
|
3353
|
+
}
|
3354
|
+
/**
|
3355
|
+
* Updates the current temporary Client ID with the newly provided one. This is the second step in the externally-generated clients process
|
3356
|
+
*
|
3357
|
+
* Important: This is designed to be called after {@link CoreCrypto.mlsGenerateKeyPair}
|
3358
|
+
*
|
3359
|
+
* @param clientId - The newly-allocated client ID by the MLS Authentication Service
|
3360
|
+
* @param signaturePublicKey - The public key you were given at the first step; This is for authentication purposes
|
3361
|
+
*/
|
3362
|
+
async mlsInitWithClientId(clientId, signaturePublicKey) {
|
3363
|
+
return await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").mls_init_with_client_id(clientId, signaturePublicKey));
|
3364
|
+
}
|
3280
3365
|
/** @hidden */
|
3281
3366
|
constructor(cc) {
|
3282
3367
|
/** @hidden */
|
@@ -3304,10 +3389,10 @@ class CoreCrypto {
|
|
3304
3389
|
*
|
3305
3390
|
* @param callbacks - Any interface following the {@link CoreCryptoCallbacks} interface
|
3306
3391
|
*/
|
3307
|
-
registerCallbacks(callbacks) {
|
3392
|
+
async registerCallbacks(callbacks, ctx = null) {
|
3308
3393
|
try {
|
3309
|
-
const wasmCallbacks = new (__classPrivateFieldGet(CoreCrypto, _a, "f", _CoreCrypto_module).CoreCryptoWasmCallbacks)(callbacks.authorize, callbacks.userAuthorize, callbacks.clientIsExistingGroupUser);
|
3310
|
-
__classPrivateFieldGet(this, _CoreCrypto_cc, "f").set_callbacks(wasmCallbacks);
|
3394
|
+
const wasmCallbacks = new (__classPrivateFieldGet(CoreCrypto, _a, "f", _CoreCrypto_module).CoreCryptoWasmCallbacks)(callbacks.authorize, callbacks.userAuthorize, callbacks.clientIsExistingGroupUser, ctx);
|
3395
|
+
await __classPrivateFieldGet(this, _CoreCrypto_cc, "f").set_callbacks(wasmCallbacks);
|
3311
3396
|
}
|
3312
3397
|
catch (e) {
|
3313
3398
|
throw CoreCryptoError.fromStdError(e);
|
@@ -3385,6 +3470,9 @@ class CoreCrypto {
|
|
3385
3470
|
* @returns a {@link DecryptedMessage}. Note that {@link DecryptedMessage#message} is `undefined` when the encrypted payload contains a system message such a proposal or commit
|
3386
3471
|
*/
|
3387
3472
|
async decryptMessage(conversationId, payload) {
|
3473
|
+
if (!payload?.length) {
|
3474
|
+
throw new Error("decryptMessage payload is empty or null");
|
3475
|
+
}
|
3388
3476
|
try {
|
3389
3477
|
const ffiDecryptedMessage = await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").decrypt_message(conversationId, payload));
|
3390
3478
|
const commitDelay = ffiDecryptedMessage.commit_delay ?
|
@@ -3865,11 +3953,26 @@ class CoreCrypto {
|
|
3865
3953
|
/**
|
3866
3954
|
* Creates a new prekey with an automatically generated ID..
|
3867
3955
|
*
|
3868
|
-
* @returns
|
3956
|
+
* @returns A CBOR-serialized version of the PreKeyBundle corresponding to the newly generated and stored PreKey
|
3869
3957
|
*/
|
3870
3958
|
async proteusNewPrekeyAuto() {
|
3871
3959
|
return await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").proteus_new_prekey_auto());
|
3872
3960
|
}
|
3961
|
+
/**
|
3962
|
+
* Proteus last resort prekey stuff
|
3963
|
+
*
|
3964
|
+
* @returns A CBOR-serialize version of the PreKeyBundle associated with the last resort PreKey (holding the last resort prekey id)
|
3965
|
+
*/
|
3966
|
+
async proteusLastResortPrekey() {
|
3967
|
+
return await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").proteus_last_resort_prekey());
|
3968
|
+
}
|
3969
|
+
/**
|
3970
|
+
* @returns The last resort PreKey id
|
3971
|
+
*/
|
3972
|
+
static proteusLastResortPrekeyId() {
|
3973
|
+
__classPrivateFieldGet(this, _a, "m", _CoreCrypto_assertModuleLoaded).call(this);
|
3974
|
+
return __classPrivateFieldGet(this, _a, "f", _CoreCrypto_module).CoreCrypto.proteus_last_resort_prekey_id();
|
3975
|
+
}
|
3873
3976
|
/**
|
3874
3977
|
* Proteus public key fingerprint
|
3875
3978
|
* It's basically the public key encoded as an hex string
|
@@ -3929,13 +4032,16 @@ class CoreCrypto {
|
|
3929
4032
|
/**
|
3930
4033
|
* Creates an enrollment instance with private key material you can use in order to fetch
|
3931
4034
|
* a new x509 certificate from the acme server.
|
3932
|
-
* Make sure to call
|
4035
|
+
* Make sure to call {@link WireE2eIdentity.free} to dispose this instance and its associated
|
3933
4036
|
* keying material.
|
3934
4037
|
*
|
3935
4038
|
* @param ciphersuite - For generating signing key material. Only {@link Ciphersuite.MLS_128_DHKEMX25519_AES128GCM_SHA256_Ed25519} is supported currently
|
3936
4039
|
*/
|
3937
|
-
async newAcmeEnrollment() {
|
3938
|
-
|
4040
|
+
async newAcmeEnrollment(ciphersuite = Ciphersuite.MLS_128_DHKEMX25519_AES128GCM_SHA256_Ed25519) {
|
4041
|
+
if (ciphersuite !== Ciphersuite.MLS_128_DHKEMX25519_AES128GCM_SHA256_Ed25519) {
|
4042
|
+
throw new Error("This ACME ciphersuite isn't supported. Only `Ciphersuite.MLS_128_DHKEMX25519_AES128GCM_SHA256_Ed25519` is as of now");
|
4043
|
+
}
|
4044
|
+
const e2ei = await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").new_acme_enrollment(ciphersuite));
|
3939
4045
|
return new WireE2eIdentity(e2ei);
|
3940
4046
|
}
|
3941
4047
|
/**
|
@@ -3944,13 +4050,15 @@ class CoreCrypto {
|
|
3944
4050
|
* @returns The `core-crypto-ffi` version as defined in its `Cargo.toml` file
|
3945
4051
|
*/
|
3946
4052
|
static version() {
|
3947
|
-
|
3948
|
-
|
3949
|
-
}
|
3950
|
-
return __classPrivateFieldGet(this, _a, "f", _CoreCrypto_module).version();
|
4053
|
+
__classPrivateFieldGet(this, _a, "m", _CoreCrypto_assertModuleLoaded).call(this);
|
4054
|
+
return __classPrivateFieldGet(this, _a, "f", _CoreCrypto_module).CoreCrypto.version();
|
3951
4055
|
}
|
3952
4056
|
}
|
3953
|
-
_a = CoreCrypto, _CoreCrypto_cc = new WeakMap()
|
4057
|
+
_a = CoreCrypto, _CoreCrypto_cc = new WeakMap(), _CoreCrypto_assertModuleLoaded = function _CoreCrypto_assertModuleLoaded() {
|
4058
|
+
if (!__classPrivateFieldGet(this, _a, "f", _CoreCrypto_module)) {
|
4059
|
+
throw new Error("Internal module hasn't been initialized. Please use `await CoreCrypto.init(params)` or `await CoreCrypto.deferredInit(params)` !");
|
4060
|
+
}
|
4061
|
+
};
|
3954
4062
|
/** @hidden */
|
3955
4063
|
_CoreCrypto_module = { value: void 0 };
|
3956
4064
|
class WireE2eIdentity {
|
@@ -3960,6 +4068,9 @@ class WireE2eIdentity {
|
|
3960
4068
|
_WireE2eIdentity_e2ei.set(this, void 0);
|
3961
4069
|
__classPrivateFieldSet(this, _WireE2eIdentity_e2ei, e2ei, "f");
|
3962
4070
|
}
|
4071
|
+
free() {
|
4072
|
+
__classPrivateFieldGet(this, _WireE2eIdentity_e2ei, "f").free();
|
4073
|
+
}
|
3963
4074
|
/**
|
3964
4075
|
* Parses the response from `GET /acme/{provisioner-name}/directory`.
|
3965
4076
|
* Use this {@link AcmeDirectory} in the next step to fetch the first nonce from the acme server. Use
|
@@ -4008,17 +4119,19 @@ class WireE2eIdentity {
|
|
4008
4119
|
/**
|
4009
4120
|
* Creates a new acme order for the handle (userId + display name) and the clientId.
|
4010
4121
|
*
|
4011
|
-
* @param
|
4012
|
-
* @param
|
4122
|
+
* @param displayName human readable name displayed in the application e.g. `Smith, Alice M (QA)`
|
4123
|
+
* @param domain DNS name of owning backend e.g. `example.com`
|
4124
|
+
* @param clientId client identifier with user b64Url encoded & clientId hex encoded e.g. `impp:wireapp=NDUyMGUyMmY2YjA3NGU3NjkyZjE1NjJjZTAwMmQ2NTQ/6add501bacd1d90e@example.com`
|
4125
|
+
* @param handle user handle e.g. `impp:wireapp=alice.smith.qa@example.com`
|
4013
4126
|
* @param expiryDays generated x509 certificate expiry
|
4014
4127
|
* @param directory you got from {@link directoryResponse}
|
4015
4128
|
* @param account you got from {@link newAccountResponse}
|
4016
4129
|
* @param previousNonce `replay-nonce` response header from `POST /acme/{provisioner-name}/new-account`
|
4017
4130
|
* @see https://www.rfc-editor.org/rfc/rfc8555.html#section-7.4
|
4018
4131
|
*/
|
4019
|
-
newOrderRequest(
|
4132
|
+
newOrderRequest(displayName, domain, clientId, handle, expiryDays, directory, account, previousNonce) {
|
4020
4133
|
try {
|
4021
|
-
return __classPrivateFieldGet(this, _WireE2eIdentity_e2ei, "f").new_order_request(
|
4134
|
+
return __classPrivateFieldGet(this, _WireE2eIdentity_e2ei, "f").new_order_request(displayName, domain, clientId, handle, expiryDays, directory, account, previousNonce);
|
4022
4135
|
}
|
4023
4136
|
catch (e) {
|
4024
4137
|
throw CoreCryptoError.fromStdError(e);
|
@@ -4098,16 +4211,34 @@ class WireE2eIdentity {
|
|
4098
4211
|
}
|
4099
4212
|
}
|
4100
4213
|
/**
|
4101
|
-
* Creates a new challenge request.
|
4214
|
+
* Creates a new challenge request for Wire Dpop challenge.
|
4215
|
+
*
|
4216
|
+
* @param accessToken returned by wire-server from https://staging-nginz-https.zinfra.io/api/swagger-ui/#/default/post_clients__cid__access_token
|
4217
|
+
* @param dpopChallenge you found after {@link newAuthzResponse}
|
4218
|
+
* @param account you found after {@link newAccountResponse}
|
4219
|
+
* @param previousNonce `replay-nonce` response header from `POST /acme/{provisioner-name}/authz/{authz-id}`
|
4220
|
+
* @see https://www.rfc-editor.org/rfc/rfc8555.html#section-7.5.1
|
4221
|
+
*/
|
4222
|
+
newDpopChallengeRequest(accessToken, dpopChallenge, account, previousNonce) {
|
4223
|
+
try {
|
4224
|
+
return __classPrivateFieldGet(this, _WireE2eIdentity_e2ei, "f").new_dpop_challenge_request(accessToken, dpopChallenge, account, previousNonce);
|
4225
|
+
}
|
4226
|
+
catch (e) {
|
4227
|
+
throw CoreCryptoError.fromStdError(e);
|
4228
|
+
}
|
4229
|
+
}
|
4230
|
+
/**
|
4231
|
+
* Creates a new challenge request for Wire Oidc challenge.
|
4102
4232
|
*
|
4103
|
-
* @param
|
4233
|
+
* @param idToken you get back from Identity Provider
|
4234
|
+
* @param oidcChallenge you found after {@link newAuthzResponse}
|
4104
4235
|
* @param account you found after {@link newAccountResponse}
|
4105
4236
|
* @param previousNonce `replay-nonce` response header from `POST /acme/{provisioner-name}/authz/{authz-id}`
|
4106
4237
|
* @see https://www.rfc-editor.org/rfc/rfc8555.html#section-7.5.1
|
4107
4238
|
*/
|
4108
|
-
|
4239
|
+
newOidcChallengeRequest(idToken, oidcChallenge, account, previousNonce) {
|
4109
4240
|
try {
|
4110
|
-
return __classPrivateFieldGet(this, _WireE2eIdentity_e2ei, "f").
|
4241
|
+
return __classPrivateFieldGet(this, _WireE2eIdentity_e2ei, "f").new_oidc_challenge_request(idToken, oidcChallenge, account, previousNonce);
|
4111
4242
|
}
|
4112
4243
|
catch (e) {
|
4113
4244
|
throw CoreCryptoError.fromStdError(e);
|
@@ -4160,15 +4291,14 @@ class WireE2eIdentity {
|
|
4160
4291
|
/**
|
4161
4292
|
* Final step before fetching the certificate.
|
4162
4293
|
*
|
4163
|
-
* @param domains - domains you want to generate a certificate for e.g. `["wire.com"]`
|
4164
4294
|
* @param order - order you got from {@link checkOrderResponse}
|
4165
4295
|
* @param account - account you found after {@link newAccountResponse}
|
4166
4296
|
* @param previousNonce - `replay-nonce` response header from `POST /acme/{provisioner-name}/order/{order-id}`
|
4167
4297
|
* @see https://www.rfc-editor.org/rfc/rfc8555.html#section-7.4
|
4168
4298
|
*/
|
4169
|
-
finalizeRequest(
|
4299
|
+
finalizeRequest(order, account, previousNonce) {
|
4170
4300
|
try {
|
4171
|
-
return __classPrivateFieldGet(this, _WireE2eIdentity_e2ei, "f").finalize_request(
|
4301
|
+
return __classPrivateFieldGet(this, _WireE2eIdentity_e2ei, "f").finalize_request(order, account, previousNonce);
|
4172
4302
|
}
|
4173
4303
|
catch (e) {
|
4174
4304
|
throw CoreCryptoError.fromStdError(e);
|
Binary file
|