@wireapp/core-crypto 1.0.0-rc.7 → 1.0.0-rc.8
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
|
@@ -386,6 +386,45 @@ export interface DecryptedMessage {
|
|
386
386
|
* Present for all messages
|
387
387
|
*/
|
388
388
|
identity?: WireIdentity;
|
389
|
+
/**
|
390
|
+
* Only set when the decrypted message is a commit.
|
391
|
+
* Contains buffered messages for next epoch which were received before the commit creating the epoch
|
392
|
+
* because the DS did not fan them out in order.
|
393
|
+
*/
|
394
|
+
bufferedMessages?: BufferedDecryptedMessage[];
|
395
|
+
}
|
396
|
+
/**
|
397
|
+
* Almost same as {@link DecryptedMessage} but avoids recursion
|
398
|
+
*/
|
399
|
+
export interface BufferedDecryptedMessage {
|
400
|
+
/**
|
401
|
+
* see {@link DecryptedMessage.message}
|
402
|
+
*/
|
403
|
+
message?: Uint8Array;
|
404
|
+
/**
|
405
|
+
* see {@link DecryptedMessage.proposals}
|
406
|
+
*/
|
407
|
+
proposals: ProposalBundle[];
|
408
|
+
/**
|
409
|
+
* see {@link DecryptedMessage.isActive}
|
410
|
+
*/
|
411
|
+
isActive: boolean;
|
412
|
+
/**
|
413
|
+
* see {@link DecryptedMessage.commitDelay}
|
414
|
+
*/
|
415
|
+
commitDelay?: number;
|
416
|
+
/**
|
417
|
+
* see {@link DecryptedMessage.senderClientId}
|
418
|
+
*/
|
419
|
+
senderClientId?: ClientId;
|
420
|
+
/**
|
421
|
+
* see {@link DecryptedMessage.hasEpochChanged}
|
422
|
+
*/
|
423
|
+
hasEpochChanged: boolean;
|
424
|
+
/**
|
425
|
+
* see {@link DecryptedMessage.identity}
|
426
|
+
*/
|
427
|
+
identity?: WireIdentity;
|
389
428
|
}
|
390
429
|
/**
|
391
430
|
* Represents the identity claims identifying a client. Those claims are verifiable by any member in the group
|
@@ -625,7 +664,7 @@ export declare class CoreCrypto {
|
|
625
664
|
/**
|
626
665
|
* Closes this {@link CoreCrypto} instance and deallocates all loaded resources
|
627
666
|
*
|
628
|
-
* **CAUTION**: This {@link CoreCrypto} instance won't be
|
667
|
+
* **CAUTION**: This {@link CoreCrypto} instance won't be usable after a call to this method, but there's no way to express this requirement in TypeScript, so you'll get errors instead!
|
629
668
|
*/
|
630
669
|
close(): Promise<void>;
|
631
670
|
/**
|
@@ -691,7 +730,12 @@ export declare class CoreCrypto {
|
|
691
730
|
*/
|
692
731
|
createConversation(conversationId: ConversationId, creatorCredentialType: CredentialType, configuration?: ConversationConfiguration): Promise<any>;
|
693
732
|
/**
|
694
|
-
* Decrypts a message for a given conversation
|
733
|
+
* Decrypts a message for a given conversation.
|
734
|
+
*
|
735
|
+
* Note: you should catch & ignore the following error reasons:
|
736
|
+
* * "We already decrypted this message once"
|
737
|
+
* * "You tried to join with an external commit but did not merge it yet. We will reapply this message for you when you merge your external commit"
|
738
|
+
* * "Incoming message is for a future epoch. We will buffer it until the commit for that epoch arrives"
|
695
739
|
*
|
696
740
|
* @param conversationId - The ID of the conversation
|
697
741
|
* @param payload - The encrypted message buffer
|
@@ -723,7 +767,7 @@ export declare class CoreCrypto {
|
|
723
767
|
*
|
724
768
|
* @returns A {@link CommitBundle}
|
725
769
|
*/
|
726
|
-
|
770
|
+
updateTrustAnchorsFromConversation(conversationId: ConversationId, removeDomainNames: string[], addTrustAnchors: PerDomainTrustAnchor[]): Promise<CommitBundle>;
|
727
771
|
/**
|
728
772
|
* Ingest a TLS-serialized MLS welcome message to join an existing MLS group
|
729
773
|
*
|
@@ -737,7 +781,10 @@ export declare class CoreCrypto {
|
|
737
781
|
*/
|
738
782
|
processWelcomeMessage(welcomeMessage: Uint8Array, configuration?: CustomConfiguration): Promise<ConversationId>;
|
739
783
|
/**
|
740
|
-
*
|
784
|
+
* Get the client's public signature key. To upload to the DS for further backend side validation
|
785
|
+
*
|
786
|
+
* @param ciphersuite - of the signature key to get
|
787
|
+
* @returns the client's public signature key
|
741
788
|
*/
|
742
789
|
clientPublicKey(ciphersuite: Ciphersuite): Promise<Uint8Array>;
|
743
790
|
/**
|
@@ -766,7 +813,7 @@ export declare class CoreCrypto {
|
|
766
813
|
/**
|
767
814
|
* Adds new clients to a conversation, assuming the current client has the right to add new clients to the conversation.
|
768
815
|
*
|
769
|
-
* **CAUTION**: {@link CoreCrypto.commitAccepted} **HAS TO** be called
|
816
|
+
* **CAUTION**: {@link CoreCrypto.commitAccepted} **HAS TO** be called afterward **ONLY IF** the Delivery Service responds
|
770
817
|
* '200 OK' to the {@link CommitBundle} upload. It will "merge" the commit locally i.e. increment the local group
|
771
818
|
* epoch, use new encryption secrets etc...
|
772
819
|
*
|
@@ -780,7 +827,7 @@ export declare class CoreCrypto {
|
|
780
827
|
* Removes the provided clients from a conversation; Assuming those clients exist and the current client is allowed
|
781
828
|
* to do so, otherwise this operation does nothing.
|
782
829
|
*
|
783
|
-
* **CAUTION**: {@link CoreCrypto.commitAccepted} **HAS TO** be called
|
830
|
+
* **CAUTION**: {@link CoreCrypto.commitAccepted} **HAS TO** be called afterward **ONLY IF** the Delivery Service responds
|
784
831
|
* '200 OK' to the {@link CommitBundle} upload. It will "merge" the commit locally i.e. increment the local group
|
785
832
|
* epoch, use new encryption secrets etc...
|
786
833
|
*
|
@@ -791,9 +838,9 @@ export declare class CoreCrypto {
|
|
791
838
|
*/
|
792
839
|
removeClientsFromConversation(conversationId: ConversationId, clientIds: ClientId[]): Promise<CommitBundle>;
|
793
840
|
/**
|
794
|
-
* Creates an update commit which forces every client to update their
|
841
|
+
* Creates an update commit which forces every client to update their LeafNode in the conversation
|
795
842
|
*
|
796
|
-
* **CAUTION**: {@link CoreCrypto.commitAccepted} **HAS TO** be called
|
843
|
+
* **CAUTION**: {@link CoreCrypto.commitAccepted} **HAS TO** be called afterward **ONLY IF** the Delivery Service responds
|
797
844
|
* '200 OK' to the {@link CommitBundle} upload. It will "merge" the commit locally i.e. increment the local group
|
798
845
|
* epoch, use new encryption secrets etc...
|
799
846
|
*
|
@@ -823,6 +870,9 @@ export declare class CoreCrypto {
|
|
823
870
|
* @returns A {@link ProposalBundle} containing the Proposal and its reference in order to roll it back if necessary
|
824
871
|
*/
|
825
872
|
newProposal(proposalType: ProposalType, args: ProposalArgs | AddProposalArgs | RemoveProposalArgs): Promise<ProposalBundle>;
|
873
|
+
/**
|
874
|
+
* Creates a new external Add proposal for self client to join a conversation.
|
875
|
+
*/
|
826
876
|
newExternalProposal(externalProposalType: ExternalProposalType, args: ExternalAddProposalArgs): Promise<Uint8Array>;
|
827
877
|
/**
|
828
878
|
* Allows to create an external commit to "apply" to join a group through its GroupInfo.
|
@@ -847,8 +897,9 @@ export declare class CoreCrypto {
|
|
847
897
|
* and deletes the temporary one. This step makes the group operational and ready to encrypt/decrypt message
|
848
898
|
*
|
849
899
|
* @param conversationId - The ID of the conversation
|
900
|
+
* @returns eventually decrypted buffered messages if any
|
850
901
|
*/
|
851
|
-
mergePendingGroupFromExternalCommit(conversationId: ConversationId): Promise<
|
902
|
+
mergePendingGroupFromExternalCommit(conversationId: ConversationId): Promise<BufferedDecryptedMessage[] | undefined>;
|
852
903
|
/**
|
853
904
|
* In case the external commit generated by {@link CoreCrypto.joinByExternalCommit} is rejected by the Delivery Service, and we
|
854
905
|
* want to abort this external commit once for all, we can wipe out the pending group from the keystore in order
|
@@ -858,26 +909,24 @@ export declare class CoreCrypto {
|
|
858
909
|
*/
|
859
910
|
clearPendingGroupFromExternalCommit(conversationId: ConversationId): Promise<void>;
|
860
911
|
/**
|
861
|
-
* Allows to mark the latest commit produced as "accepted" and be able to safely merge it
|
862
|
-
* into the local group state
|
912
|
+
* Allows to mark the latest commit produced as "accepted" and be able to safely merge it into the local group state
|
863
913
|
*
|
864
914
|
* @param conversationId - The group's ID
|
915
|
+
* @returns the messages from current epoch which had been buffered, if any
|
865
916
|
*/
|
866
|
-
commitAccepted(conversationId: ConversationId): Promise<
|
917
|
+
commitAccepted(conversationId: ConversationId): Promise<BufferedDecryptedMessage[] | undefined>;
|
867
918
|
/**
|
868
|
-
* Allows to remove a pending proposal (rollback). Use this when backend rejects the proposal you just sent e.g. if permissions
|
869
|
-
* have changed meanwhile.
|
919
|
+
* Allows to remove a pending proposal (rollback). Use this when backend rejects the proposal you just sent e.g. if permissions have changed meanwhile.
|
870
920
|
*
|
871
921
|
* **CAUTION**: only use this when you had an explicit response from the Delivery Service
|
872
|
-
* e.g. 403 or 409. Do not use otherwise e.g. 5xx responses, timeout etc
|
922
|
+
* e.g. 403 or 409. Do not use otherwise e.g. 5xx responses, timeout etc…
|
873
923
|
*
|
874
924
|
* @param conversationId - The group's ID
|
875
925
|
* @param proposalRef - A reference to the proposal to delete. You get one when using {@link CoreCrypto.newProposal}
|
876
926
|
*/
|
877
927
|
clearPendingProposal(conversationId: ConversationId, proposalRef: ProposalRef): Promise<void>;
|
878
928
|
/**
|
879
|
-
* Allows to remove a pending commit (rollback). Use this when backend rejects the commit you just sent e.g. if permissions
|
880
|
-
* have changed meanwhile.
|
929
|
+
* Allows to remove a pending commit (rollback). Use this when backend rejects the commit you just sent e.g. if permissions have changed meanwhile.
|
881
930
|
*
|
882
931
|
* **CAUTION**: only use this when you had an explicit response from the Delivery Service
|
883
932
|
* e.g. 403. Do not use otherwise e.g. 5xx responses, timeout etc..
|
@@ -921,7 +970,7 @@ export declare class CoreCrypto {
|
|
921
970
|
*/
|
922
971
|
reseedRng(seed: Uint8Array): Promise<void>;
|
923
972
|
/**
|
924
|
-
*
|
973
|
+
* Initializes the proteus client
|
925
974
|
*/
|
926
975
|
proteusInit(): Promise<void>;
|
927
976
|
/**
|
@@ -1054,47 +1103,49 @@ export declare class CoreCrypto {
|
|
1054
1103
|
* Creates an enrollment instance with private key material you can use in order to fetch
|
1055
1104
|
* a new x509 certificate from the acme server.
|
1056
1105
|
*
|
1057
|
-
* @param clientId client identifier with user b64Url encoded & clientId hex encoded e.g. `NDUyMGUyMmY2YjA3NGU3NjkyZjE1NjJjZTAwMmQ2NTQ:6add501bacd1d90e@example.com`
|
1058
|
-
* @param displayName human
|
1059
|
-
* @param handle user handle e.g. `alice.smith.qa@example.com`
|
1060
|
-
* @param expiryDays generated x509 certificate expiry
|
1106
|
+
* @param clientId - client identifier with user b64Url encoded & clientId hex encoded e.g. `NDUyMGUyMmY2YjA3NGU3NjkyZjE1NjJjZTAwMmQ2NTQ:6add501bacd1d90e@example.com`
|
1107
|
+
* @param displayName - human-readable name displayed in the application e.g. `Smith, Alice M (QA)`
|
1108
|
+
* @param handle - user handle e.g. `alice.smith.qa@example.com`
|
1109
|
+
* @param expiryDays - generated x509 certificate expiry
|
1061
1110
|
* @param ciphersuite - for generating signing key material
|
1062
|
-
* @returns The new {@link
|
1111
|
+
* @returns The new {@link E2eiEnrollment} enrollment instance to use with {@link CoreCrypto.e2eiMlsInitOnly}
|
1063
1112
|
*/
|
1064
|
-
e2eiNewEnrollment(clientId: string, displayName: string, handle: string, expiryDays: number, ciphersuite: Ciphersuite): Promise<
|
1113
|
+
e2eiNewEnrollment(clientId: string, displayName: string, handle: string, expiryDays: number, ciphersuite: Ciphersuite): Promise<E2eiEnrollment>;
|
1065
1114
|
/**
|
1066
1115
|
* Generates an E2EI enrollment instance for a "regular" client (with a Basic credential) willing to migrate to E2EI.
|
1067
1116
|
* Once the enrollment is finished, use the instance in {@link CoreCrypto.e2eiRotateAll} to do the rotation.
|
1068
1117
|
*
|
1069
|
-
* @param clientId client identifier with user b64Url encoded & clientId hex encoded e.g. `NDUyMGUyMmY2YjA3NGU3NjkyZjE1NjJjZTAwMmQ2NTQ:6add501bacd1d90e@example.com`
|
1070
|
-
* @param displayName human
|
1071
|
-
* @param handle user handle e.g. `alice.smith.qa@example.com`
|
1072
|
-
* @param expiryDays generated x509 certificate expiry
|
1118
|
+
* @param clientId - client identifier with user b64Url encoded & clientId hex encoded e.g. `NDUyMGUyMmY2YjA3NGU3NjkyZjE1NjJjZTAwMmQ2NTQ:6add501bacd1d90e@example.com`
|
1119
|
+
* @param displayName - human-readable name displayed in the application e.g. `Smith, Alice M (QA)`
|
1120
|
+
* @param handle - user handle e.g. `alice.smith.qa@example.com`
|
1121
|
+
* @param expiryDays - generated x509 certificate expiry
|
1073
1122
|
* @param ciphersuite - for generating signing key material
|
1074
|
-
* @returns The new {@link
|
1123
|
+
* @returns The new {@link E2eiEnrollment} enrollment instance to use with {@link CoreCrypto.e2eiRotateAll}
|
1075
1124
|
*/
|
1076
|
-
e2eiNewActivationEnrollment(clientId: string, displayName: string, handle: string, expiryDays: number, ciphersuite: Ciphersuite): Promise<
|
1125
|
+
e2eiNewActivationEnrollment(clientId: string, displayName: string, handle: string, expiryDays: number, ciphersuite: Ciphersuite): Promise<E2eiEnrollment>;
|
1077
1126
|
/**
|
1078
1127
|
* Generates an E2EI enrollment instance for a E2EI client (with a X509 certificate credential)
|
1079
1128
|
* having to change/rotate their credential, either because the former one is expired or it
|
1080
1129
|
* has been revoked. It lets you change the DisplayName or the handle
|
1081
1130
|
* if you need to. Once the enrollment is finished, use the instance in {@link CoreCrypto.e2eiRotateAll} to do the rotation.
|
1082
1131
|
*
|
1083
|
-
* @param clientId client identifier with user b64Url encoded & clientId hex encoded e.g. `NDUyMGUyMmY2YjA3NGU3NjkyZjE1NjJjZTAwMmQ2NTQ:6add501bacd1d90e@example.com`
|
1084
|
-
* @param expiryDays generated x509 certificate expiry
|
1132
|
+
* @param clientId - client identifier with user b64Url encoded & clientId hex encoded e.g. `NDUyMGUyMmY2YjA3NGU3NjkyZjE1NjJjZTAwMmQ2NTQ:6add501bacd1d90e@example.com`
|
1133
|
+
* @param expiryDays - generated x509 certificate expiry
|
1085
1134
|
* @param ciphersuite - for generating signing key material
|
1086
|
-
* @param displayName human
|
1087
|
-
* @param handle user handle e.g. `alice.smith.qa@example.com`
|
1088
|
-
* @returns The new {@link
|
1135
|
+
* @param displayName - human-readable name displayed in the application e.g. `Smith, Alice M (QA)`
|
1136
|
+
* @param handle - user handle e.g. `alice.smith.qa@example.com`
|
1137
|
+
* @returns The new {@link E2eiEnrollment} enrollment instance to use with {@link CoreCrypto.e2eiRotateAll}
|
1089
1138
|
*/
|
1090
|
-
e2eiNewRotateEnrollment(clientId: string, expiryDays: number, ciphersuite: Ciphersuite, displayName?: string, handle?: string): Promise<
|
1139
|
+
e2eiNewRotateEnrollment(clientId: string, expiryDays: number, ciphersuite: Ciphersuite, displayName?: string, handle?: string): Promise<E2eiEnrollment>;
|
1091
1140
|
/**
|
1092
|
-
* Use this method to initialize end-to-end identity when a client signs up and the grace period is already expired ;
|
1141
|
+
* Use this method to initialize end-to-end identity when a client signs up and the grace period is already expired ;
|
1142
|
+
* that means he cannot initialize with a Basic credential
|
1093
1143
|
*
|
1094
1144
|
* @param enrollment - the enrollment instance used to fetch the certificates
|
1095
1145
|
* @param certificateChain - the raw response from ACME server
|
1146
|
+
* @returns a MlsClient initialized with only a x509 credential
|
1096
1147
|
*/
|
1097
|
-
e2eiMlsInitOnly(enrollment:
|
1148
|
+
e2eiMlsInitOnly(enrollment: E2eiEnrollment, certificateChain: string): Promise<void>;
|
1098
1149
|
/**
|
1099
1150
|
* Creates a commit in all local conversations for changing the credential. Requires first
|
1100
1151
|
* having enrolled a new X509 certificate with either {@link CoreCrypto.e2eiNewActivationEnrollment}
|
@@ -1103,8 +1154,9 @@ export declare class CoreCrypto {
|
|
1103
1154
|
* @param enrollment - the enrollment instance used to fetch the certificates
|
1104
1155
|
* @param certificateChain - the raw response from ACME server
|
1105
1156
|
* @param newKeyPackageCount - number of KeyPackages with new identity to generate
|
1157
|
+
* @returns a {@link RotateBundle} with commits to fan-out to other group members, KeyPackages to upload and old ones to delete
|
1106
1158
|
*/
|
1107
|
-
e2eiRotateAll(enrollment:
|
1159
|
+
e2eiRotateAll(enrollment: E2eiEnrollment, certificateChain: string, newKeyPackageCount: number): Promise<RotateBundle>;
|
1108
1160
|
/**
|
1109
1161
|
* Allows persisting an active enrollment (for example while redirecting the user during OAuth) in order to resume
|
1110
1162
|
* it later with {@link e2eiEnrollmentStashPop}
|
@@ -1112,14 +1164,14 @@ export declare class CoreCrypto {
|
|
1112
1164
|
* @param enrollment the enrollment instance to persist
|
1113
1165
|
* @returns a handle to fetch the enrollment later with {@link e2eiEnrollmentStashPop}
|
1114
1166
|
*/
|
1115
|
-
e2eiEnrollmentStash(enrollment:
|
1167
|
+
e2eiEnrollmentStash(enrollment: E2eiEnrollment): Promise<Uint8Array>;
|
1116
1168
|
/**
|
1117
1169
|
* Fetches the persisted enrollment and deletes it from the keystore
|
1118
1170
|
*
|
1119
1171
|
* @param handle returned by {@link e2eiEnrollmentStash}
|
1120
1172
|
* @returns the persisted enrollment instance
|
1121
1173
|
*/
|
1122
|
-
e2eiEnrollmentStashPop(handle: Uint8Array): Promise<
|
1174
|
+
e2eiEnrollmentStashPop(handle: Uint8Array): Promise<E2eiEnrollment>;
|
1123
1175
|
/**
|
1124
1176
|
* Indicates when to mark a conversation as degraded i.e. when not all its members have a X509.
|
1125
1177
|
* Credential generated by Wire's end-to-end identity enrollment
|
@@ -1132,9 +1184,18 @@ export declare class CoreCrypto {
|
|
1132
1184
|
* Returns true when end-to-end-identity is enabled for the given Ciphersuite
|
1133
1185
|
*
|
1134
1186
|
* @param ciphersuite of the credential to check
|
1135
|
-
* @returns true end-to-end identity is enabled for the given ciphersuite
|
1187
|
+
* @returns true if end-to-end identity is enabled for the given ciphersuite
|
1136
1188
|
*/
|
1137
1189
|
e2eiIsEnabled(ciphersuite: Ciphersuite): Promise<boolean>;
|
1190
|
+
/**
|
1191
|
+
* From a given conversation, get the identity of the members supplied. Identity is only present for members with a
|
1192
|
+
* Certificate Credential (after turning on end-to-end identity).
|
1193
|
+
*
|
1194
|
+
* @param conversationId - identifier of the conversation
|
1195
|
+
* @param clientIds - identifiers of the user
|
1196
|
+
* @returns identities or if no member has a x509 certificate, it will return an empty List
|
1197
|
+
*/
|
1198
|
+
getUserIdentities(conversationId: ConversationId, clientIds: ClientId[]): Promise<WireIdentity[]>;
|
1138
1199
|
/**
|
1139
1200
|
* Returns the current version of {@link CoreCrypto}
|
1140
1201
|
*
|
@@ -1143,7 +1204,7 @@ export declare class CoreCrypto {
|
|
1143
1204
|
static version(): string;
|
1144
1205
|
}
|
1145
1206
|
type JsonRawData = Uint8Array;
|
1146
|
-
export declare class
|
1207
|
+
export declare class E2eiEnrollment {
|
1147
1208
|
#private;
|
1148
1209
|
/** @hidden */
|
1149
1210
|
constructor(e2ei: unknown);
|
@@ -1252,7 +1313,7 @@ export declare class WireE2eIdentity {
|
|
1252
1313
|
* Parses the response from `POST /acme/{provisioner-name}/order/{order-id}`.
|
1253
1314
|
*
|
1254
1315
|
* @param order HTTP response body
|
1255
|
-
* @return
|
1316
|
+
* @return finalize url to use with {@link finalizeRequest}
|
1256
1317
|
* @see https://www.rfc-editor.org/rfc/rfc8555.html#section-7.4
|
1257
1318
|
*/
|
1258
1319
|
checkOrderResponse(order: JsonRawData): string;
|
@@ -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.
|
237
|
+
wasm$1.wasm_bindgen__convert__closures__invoke1_mut__hdb6540dbb26cf63b(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.
|
242
|
+
wasm$1.wasm_bindgen__convert__closures__invoke1_mut__h5e436dc96f7334f7(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
|
317
|
-
wasm$1.
|
316
|
+
function __wbg_adapter_310(arg0, arg1, arg2, arg3) {
|
317
|
+
wasm$1.wasm_bindgen__convert__closures__invoke2_mut__h5286c52f12e3fed2(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
|
318
318
|
}
|
319
319
|
/**
|
320
320
|
* see [core_crypto::prelude::MlsWirePolicy]
|
@@ -554,6 +554,83 @@ class AcmeDirectory {
|
|
554
554
|
}
|
555
555
|
}
|
556
556
|
/**
|
557
|
+
* to avoid recursion
|
558
|
+
*/
|
559
|
+
class BufferedDecryptedMessage {
|
560
|
+
static __wrap(ptr) {
|
561
|
+
ptr = ptr >>> 0;
|
562
|
+
const obj = Object.create(BufferedDecryptedMessage.prototype);
|
563
|
+
obj.__wbg_ptr = ptr;
|
564
|
+
return obj;
|
565
|
+
}
|
566
|
+
__destroy_into_raw() {
|
567
|
+
const ptr = this.__wbg_ptr;
|
568
|
+
this.__wbg_ptr = 0;
|
569
|
+
return ptr;
|
570
|
+
}
|
571
|
+
free() {
|
572
|
+
const ptr = this.__destroy_into_raw();
|
573
|
+
wasm$1.__wbg_buffereddecryptedmessage_free(ptr);
|
574
|
+
}
|
575
|
+
/**
|
576
|
+
* @returns {any}
|
577
|
+
*/
|
578
|
+
get message() {
|
579
|
+
const ret = wasm$1.buffereddecryptedmessage_message(this.__wbg_ptr);
|
580
|
+
return takeObject(ret);
|
581
|
+
}
|
582
|
+
/**
|
583
|
+
* @returns {Array<any>}
|
584
|
+
*/
|
585
|
+
get proposals() {
|
586
|
+
const ret = wasm$1.buffereddecryptedmessage_proposals(this.__wbg_ptr);
|
587
|
+
return takeObject(ret);
|
588
|
+
}
|
589
|
+
/**
|
590
|
+
* @returns {boolean}
|
591
|
+
*/
|
592
|
+
get is_active() {
|
593
|
+
const ret = wasm$1.buffereddecryptedmessage_is_active(this.__wbg_ptr);
|
594
|
+
return ret !== 0;
|
595
|
+
}
|
596
|
+
/**
|
597
|
+
* @returns {number | undefined}
|
598
|
+
*/
|
599
|
+
get commit_delay() {
|
600
|
+
try {
|
601
|
+
const retptr = wasm$1.__wbindgen_add_to_stack_pointer(-16);
|
602
|
+
wasm$1.buffereddecryptedmessage_commit_delay(retptr, this.__wbg_ptr);
|
603
|
+
var r0 = getInt32Memory0()[retptr / 4 + 0];
|
604
|
+
var r1 = getInt32Memory0()[retptr / 4 + 1];
|
605
|
+
return r0 === 0 ? undefined : r1 >>> 0;
|
606
|
+
}
|
607
|
+
finally {
|
608
|
+
wasm$1.__wbindgen_add_to_stack_pointer(16);
|
609
|
+
}
|
610
|
+
}
|
611
|
+
/**
|
612
|
+
* @returns {any}
|
613
|
+
*/
|
614
|
+
get sender_client_id() {
|
615
|
+
const ret = wasm$1.buffereddecryptedmessage_sender_client_id(this.__wbg_ptr);
|
616
|
+
return takeObject(ret);
|
617
|
+
}
|
618
|
+
/**
|
619
|
+
* @returns {boolean}
|
620
|
+
*/
|
621
|
+
get has_epoch_changed() {
|
622
|
+
const ret = wasm$1.buffereddecryptedmessage_has_epoch_changed(this.__wbg_ptr);
|
623
|
+
return ret !== 0;
|
624
|
+
}
|
625
|
+
/**
|
626
|
+
* @returns {WireIdentity | undefined}
|
627
|
+
*/
|
628
|
+
get identity() {
|
629
|
+
const ret = wasm$1.buffereddecryptedmessage_identity(this.__wbg_ptr);
|
630
|
+
return ret === 0 ? undefined : WireIdentity.__wrap(ret);
|
631
|
+
}
|
632
|
+
}
|
633
|
+
/**
|
557
634
|
*/
|
558
635
|
class CommitBundle {
|
559
636
|
static __wrap(ptr) {
|
@@ -691,7 +768,7 @@ let CoreCrypto$1 = class CoreCrypto {
|
|
691
768
|
wasm$1.__wbg_corecrypto_free(ptr);
|
692
769
|
}
|
693
770
|
/**
|
694
|
-
* Returns: [`WasmCryptoResult<
|
771
|
+
* Returns: [`WasmCryptoResult<E2eiEnrollment>`]
|
695
772
|
*
|
696
773
|
* see [core_crypto::mls::MlsCentral::e2ei_new_enrollment]
|
697
774
|
* @param {string} client_id
|
@@ -712,7 +789,7 @@ let CoreCrypto$1 = class CoreCrypto {
|
|
712
789
|
return takeObject(ret);
|
713
790
|
}
|
714
791
|
/**
|
715
|
-
* Returns: [`WasmCryptoResult<
|
792
|
+
* Returns: [`WasmCryptoResult<E2eiEnrollment>`]
|
716
793
|
*
|
717
794
|
* see [core_crypto::mls::MlsCentral::e2ei_new_activation_enrollment]
|
718
795
|
* @param {string} client_id
|
@@ -733,7 +810,7 @@ let CoreCrypto$1 = class CoreCrypto {
|
|
733
810
|
return takeObject(ret);
|
734
811
|
}
|
735
812
|
/**
|
736
|
-
* Returns: [`WasmCryptoResult<
|
813
|
+
* Returns: [`WasmCryptoResult<E2eiEnrollment>`]
|
737
814
|
*
|
738
815
|
* see [core_crypto::mls::MlsCentral::e2ei_new_rotate_enrollment]
|
739
816
|
* @param {string} client_id
|
@@ -829,6 +906,22 @@ let CoreCrypto$1 = class CoreCrypto {
|
|
829
906
|
return takeObject(ret);
|
830
907
|
}
|
831
908
|
/**
|
909
|
+
* Returns [`WasmCryptoResult<Vec<WireIdentity>>`]
|
910
|
+
*
|
911
|
+
* see [core_crypto::mls::MlsCentral::get_user_identities]
|
912
|
+
* @param {Uint8Array} conversation_id
|
913
|
+
* @param {(Uint8Array)[]} client_ids
|
914
|
+
* @returns {Promise<any>}
|
915
|
+
*/
|
916
|
+
get_user_identities(conversation_id, client_ids) {
|
917
|
+
const ptr0 = passArray8ToWasm0(conversation_id, wasm$1.__wbindgen_malloc);
|
918
|
+
const len0 = WASM_VECTOR_LEN;
|
919
|
+
const ptr1 = passArrayJsValueToWasm0(client_ids, wasm$1.__wbindgen_malloc);
|
920
|
+
const len1 = WASM_VECTOR_LEN;
|
921
|
+
const ret = wasm$1.corecrypto_get_user_identities(this.__wbg_ptr, ptr0, len0, ptr1, len1);
|
922
|
+
return takeObject(ret);
|
923
|
+
}
|
924
|
+
/**
|
832
925
|
* Returns the current version of CoreCrypto
|
833
926
|
* @returns {string}
|
834
927
|
*/
|
@@ -1766,14 +1859,14 @@ class DecryptedMessage {
|
|
1766
1859
|
* @returns {any}
|
1767
1860
|
*/
|
1768
1861
|
get message() {
|
1769
|
-
const ret = wasm$1.
|
1862
|
+
const ret = wasm$1.buffereddecryptedmessage_message(this.__wbg_ptr);
|
1770
1863
|
return takeObject(ret);
|
1771
1864
|
}
|
1772
1865
|
/**
|
1773
1866
|
* @returns {Array<any>}
|
1774
1867
|
*/
|
1775
1868
|
get proposals() {
|
1776
|
-
const ret = wasm$1.
|
1869
|
+
const ret = wasm$1.buffereddecryptedmessage_proposals(this.__wbg_ptr);
|
1777
1870
|
return takeObject(ret);
|
1778
1871
|
}
|
1779
1872
|
/**
|
@@ -1789,7 +1882,7 @@ class DecryptedMessage {
|
|
1789
1882
|
get commit_delay() {
|
1790
1883
|
try {
|
1791
1884
|
const retptr = wasm$1.__wbindgen_add_to_stack_pointer(-16);
|
1792
|
-
wasm$1.
|
1885
|
+
wasm$1.buffereddecryptedmessage_commit_delay(retptr, this.__wbg_ptr);
|
1793
1886
|
var r0 = getInt32Memory0()[retptr / 4 + 0];
|
1794
1887
|
var r1 = getInt32Memory0()[retptr / 4 + 1];
|
1795
1888
|
return r0 === 0 ? undefined : r1 >>> 0;
|
@@ -1802,7 +1895,7 @@ class DecryptedMessage {
|
|
1802
1895
|
* @returns {any}
|
1803
1896
|
*/
|
1804
1897
|
get sender_client_id() {
|
1805
|
-
const ret = wasm$1.
|
1898
|
+
const ret = wasm$1.buffereddecryptedmessage_sender_client_id(this.__wbg_ptr);
|
1806
1899
|
return takeObject(ret);
|
1807
1900
|
}
|
1808
1901
|
/**
|
@@ -1816,9 +1909,16 @@ class DecryptedMessage {
|
|
1816
1909
|
* @returns {WireIdentity | undefined}
|
1817
1910
|
*/
|
1818
1911
|
get identity() {
|
1819
|
-
const ret = wasm$1.
|
1912
|
+
const ret = wasm$1.buffereddecryptedmessage_identity(this.__wbg_ptr);
|
1820
1913
|
return ret === 0 ? undefined : WireIdentity.__wrap(ret);
|
1821
1914
|
}
|
1915
|
+
/**
|
1916
|
+
* @returns {Array<any> | undefined}
|
1917
|
+
*/
|
1918
|
+
get buffered_messages() {
|
1919
|
+
const ret = wasm$1.decryptedmessage_buffered_messages(this.__wbg_ptr);
|
1920
|
+
return takeObject(ret);
|
1921
|
+
}
|
1822
1922
|
}
|
1823
1923
|
/**
|
1824
1924
|
*/
|
@@ -2869,18 +2969,14 @@ function __wbg_get_imports() {
|
|
2869
2969
|
const ret = getObject(arg0).length;
|
2870
2970
|
return ret;
|
2871
2971
|
};
|
2872
|
-
imports.wbg.__wbg_new_8125e318e6245eed = function (arg0) {
|
2873
|
-
const ret = new Uint8Array(getObject(arg0));
|
2874
|
-
return addHeapObject(ret);
|
2875
|
-
};
|
2876
2972
|
imports.wbg.__wbg_call_01734de55d61e11d = function () {
|
2877
2973
|
return handleError(function (arg0, arg1, arg2) {
|
2878
2974
|
const ret = getObject(arg0).call(getObject(arg1), getObject(arg2));
|
2879
2975
|
return addHeapObject(ret);
|
2880
2976
|
}, arguments);
|
2881
2977
|
};
|
2882
|
-
imports.wbg.
|
2883
|
-
const ret = new
|
2978
|
+
imports.wbg.__wbg_new_8125e318e6245eed = function (arg0) {
|
2979
|
+
const ret = new Uint8Array(getObject(arg0));
|
2884
2980
|
return addHeapObject(ret);
|
2885
2981
|
};
|
2886
2982
|
imports.wbg.__wbg_new_898a68150f225f2e = function () {
|
@@ -2890,26 +2986,33 @@ function __wbg_get_imports() {
|
|
2890
2986
|
imports.wbg.__wbg_set_502d29070ea18557 = function (arg0, arg1, arg2) {
|
2891
2987
|
getObject(arg0)[arg1 >>> 0] = takeObject(arg2);
|
2892
2988
|
};
|
2989
|
+
imports.wbg.__wbg_ffiwiree2eidentity_new = function (arg0) {
|
2990
|
+
const ret = FfiWireE2EIdentity.__wrap(arg0);
|
2991
|
+
return addHeapObject(ret);
|
2992
|
+
};
|
2993
|
+
imports.wbg.__wbg_push_ca1c26067ef907ac = function (arg0, arg1) {
|
2994
|
+
const ret = getObject(arg0).push(getObject(arg1));
|
2995
|
+
return ret;
|
2996
|
+
};
|
2893
2997
|
imports.wbg.__wbindgen_bigint_from_u64 = function (arg0) {
|
2894
2998
|
const ret = BigInt.asUintN(64, arg0);
|
2895
2999
|
return addHeapObject(ret);
|
2896
3000
|
};
|
2897
|
-
imports.wbg.
|
2898
|
-
const ret =
|
3001
|
+
imports.wbg.__wbg_new_b51585de1b234aff = function () {
|
3002
|
+
const ret = new Object();
|
2899
3003
|
return addHeapObject(ret);
|
2900
3004
|
};
|
2901
|
-
imports.wbg.
|
2902
|
-
|
3005
|
+
imports.wbg.__wbg_set_841ac57cff3d672b = function (arg0, arg1, arg2) {
|
3006
|
+
getObject(arg0)[takeObject(arg1)] = takeObject(arg2);
|
3007
|
+
};
|
3008
|
+
imports.wbg.__wbindgen_number_new = function (arg0) {
|
3009
|
+
const ret = arg0;
|
2903
3010
|
return addHeapObject(ret);
|
2904
3011
|
};
|
2905
3012
|
imports.wbg.__wbg_proteusautoprekeybundle_new = function (arg0) {
|
2906
3013
|
const ret = ProteusAutoPrekeyBundle.__wrap(arg0);
|
2907
3014
|
return addHeapObject(ret);
|
2908
3015
|
};
|
2909
|
-
imports.wbg.__wbg_push_ca1c26067ef907ac = function (arg0, arg1) {
|
2910
|
-
const ret = getObject(arg0).push(getObject(arg1));
|
2911
|
-
return ret;
|
2912
|
-
};
|
2913
3016
|
imports.wbg.__wbg_new_56693dbed0c32988 = function () {
|
2914
3017
|
const ret = new Map();
|
2915
3018
|
return addHeapObject(ret);
|
@@ -2922,18 +3025,18 @@ function __wbg_get_imports() {
|
|
2922
3025
|
const ret = new Error(getStringFromWasm0(arg0, arg1));
|
2923
3026
|
return addHeapObject(ret);
|
2924
3027
|
};
|
2925
|
-
imports.wbg.__wbg_openCursor_555d508ba71b21cc = function () {
|
2926
|
-
return handleError(function (arg0, arg1) {
|
2927
|
-
const ret = getObject(arg0).openCursor(getObject(arg1));
|
2928
|
-
return addHeapObject(ret);
|
2929
|
-
}, arguments);
|
2930
|
-
};
|
2931
3028
|
imports.wbg.__wbg_openCursor_4d6f62b69b34be26 = function () {
|
2932
3029
|
return handleError(function (arg0) {
|
2933
3030
|
const ret = getObject(arg0).openCursor();
|
2934
3031
|
return addHeapObject(ret);
|
2935
3032
|
}, arguments);
|
2936
3033
|
};
|
3034
|
+
imports.wbg.__wbg_openCursor_555d508ba71b21cc = function () {
|
3035
|
+
return handleError(function (arg0, arg1) {
|
3036
|
+
const ret = getObject(arg0).openCursor(getObject(arg1));
|
3037
|
+
return addHeapObject(ret);
|
3038
|
+
}, arguments);
|
3039
|
+
};
|
2937
3040
|
imports.wbg.__wbg_setonsuccess_f518a37d8228a576 = function (arg0, arg1) {
|
2938
3041
|
getObject(arg0).onsuccess = getObject(arg1);
|
2939
3042
|
};
|
@@ -2990,9 +3093,6 @@ function __wbg_get_imports() {
|
|
2990
3093
|
const ret = CoreCrypto$1.__wrap(arg0);
|
2991
3094
|
return addHeapObject(ret);
|
2992
3095
|
};
|
2993
|
-
imports.wbg.__wbg_set_841ac57cff3d672b = function (arg0, arg1, arg2) {
|
2994
|
-
getObject(arg0)[takeObject(arg1)] = takeObject(arg2);
|
2995
|
-
};
|
2996
3096
|
imports.wbg.__wbg_instanceof_Promise_0e98a5bf082e090f = function (arg0) {
|
2997
3097
|
let result;
|
2998
3098
|
try {
|
@@ -3044,7 +3144,7 @@ function __wbg_get_imports() {
|
|
3044
3144
|
const a = state0.a;
|
3045
3145
|
state0.a = 0;
|
3046
3146
|
try {
|
3047
|
-
return
|
3147
|
+
return __wbg_adapter_310(a, state0.b, arg0, arg1);
|
3048
3148
|
}
|
3049
3149
|
finally {
|
3050
3150
|
state0.a = a;
|
@@ -3069,6 +3169,10 @@ function __wbg_get_imports() {
|
|
3069
3169
|
const ret = ProposalBundle.__wrap(arg0);
|
3070
3170
|
return addHeapObject(ret);
|
3071
3171
|
};
|
3172
|
+
imports.wbg.__wbg_buffereddecryptedmessage_new = function (arg0) {
|
3173
|
+
const ret = BufferedDecryptedMessage.__wrap(arg0);
|
3174
|
+
return addHeapObject(ret);
|
3175
|
+
};
|
3072
3176
|
imports.wbg.__wbg_commitbundle_new = function (arg0) {
|
3073
3177
|
const ret = CommitBundle.__wrap(arg0);
|
3074
3178
|
return addHeapObject(ret);
|
@@ -3142,18 +3246,18 @@ function __wbg_get_imports() {
|
|
3142
3246
|
const ret = Date.now();
|
3143
3247
|
return ret;
|
3144
3248
|
};
|
3145
|
-
imports.wbg.__wbg_put_fb32824d87feec5c = function () {
|
3146
|
-
return handleError(function (arg0, arg1, arg2) {
|
3147
|
-
const ret = getObject(arg0).put(getObject(arg1), getObject(arg2));
|
3148
|
-
return addHeapObject(ret);
|
3149
|
-
}, arguments);
|
3150
|
-
};
|
3151
3249
|
imports.wbg.__wbg_put_d6937bc51f51a398 = function () {
|
3152
3250
|
return handleError(function (arg0, arg1) {
|
3153
3251
|
const ret = getObject(arg0).put(getObject(arg1));
|
3154
3252
|
return addHeapObject(ret);
|
3155
3253
|
}, arguments);
|
3156
3254
|
};
|
3255
|
+
imports.wbg.__wbg_put_fb32824d87feec5c = function () {
|
3256
|
+
return handleError(function (arg0, arg1, arg2) {
|
3257
|
+
const ret = getObject(arg0).put(getObject(arg1), getObject(arg2));
|
3258
|
+
return addHeapObject(ret);
|
3259
|
+
}, arguments);
|
3260
|
+
};
|
3157
3261
|
imports.wbg.__wbg_delete_ca1cfc48f1f7981c = function () {
|
3158
3262
|
return handleError(function (arg0, arg1) {
|
3159
3263
|
const ret = getObject(arg0).delete(getObject(arg1));
|
@@ -3493,12 +3597,12 @@ function __wbg_get_imports() {
|
|
3493
3597
|
return addHeapObject(ret);
|
3494
3598
|
}, arguments);
|
3495
3599
|
};
|
3496
|
-
imports.wbg.
|
3497
|
-
const ret = makeMutClosure(arg0, arg1,
|
3600
|
+
imports.wbg.__wbindgen_closure_wrapper1725 = function (arg0, arg1, arg2) {
|
3601
|
+
const ret = makeMutClosure(arg0, arg1, 149, __wbg_adapter_52);
|
3498
3602
|
return addHeapObject(ret);
|
3499
3603
|
};
|
3500
|
-
imports.wbg.
|
3501
|
-
const ret = makeMutClosure(arg0, arg1,
|
3604
|
+
imports.wbg.__wbindgen_closure_wrapper4854 = function (arg0, arg1, arg2) {
|
3605
|
+
const ret = makeMutClosure(arg0, arg1, 149, __wbg_adapter_55);
|
3502
3606
|
return addHeapObject(ret);
|
3503
3607
|
};
|
3504
3608
|
return imports;
|
@@ -3539,6 +3643,7 @@ var exports = /*#__PURE__*/Object.freeze({
|
|
3539
3643
|
__proto__: null,
|
3540
3644
|
AcmeChallenge: AcmeChallenge,
|
3541
3645
|
AcmeDirectory: AcmeDirectory,
|
3646
|
+
BufferedDecryptedMessage: BufferedDecryptedMessage,
|
3542
3647
|
Ciphersuite: Ciphersuite$1,
|
3543
3648
|
CommitBundle: CommitBundle,
|
3544
3649
|
ConversationConfiguration: ConversationConfiguration,
|
@@ -3564,26 +3669,35 @@ var exports = /*#__PURE__*/Object.freeze({
|
|
3564
3669
|
initSync: initSync
|
3565
3670
|
});
|
3566
3671
|
|
3567
|
-
|
3568
|
-
let {importHook, serverPath} = opt;
|
3672
|
+
const wasm_path = "assets/core_crypto_ffi-ded089fb.wasm";
|
3569
3673
|
|
3570
|
-
|
3674
|
+
|
3675
|
+
var wasm = async (opt = {}) => {
|
3676
|
+
let {importHook, serverPath, initializeHook} = opt;
|
3677
|
+
|
3678
|
+
let final_path = wasm_path;
|
3571
3679
|
|
3572
3680
|
if (serverPath != null) {
|
3573
|
-
|
3681
|
+
final_path = serverPath + /[^\/\\]*$/.exec(final_path)[0];
|
3574
3682
|
}
|
3575
3683
|
|
3576
3684
|
if (importHook != null) {
|
3577
|
-
|
3685
|
+
final_path = importHook(final_path);
|
3686
|
+
}
|
3687
|
+
|
3688
|
+
if (initializeHook != null) {
|
3689
|
+
await initializeHook(__wbg_init, final_path);
|
3690
|
+
|
3691
|
+
} else {
|
3692
|
+
await __wbg_init(final_path);
|
3578
3693
|
}
|
3579
3694
|
|
3580
|
-
await __wbg_init(path);
|
3581
3695
|
return exports;
|
3582
3696
|
};
|
3583
3697
|
|
3584
3698
|
// Wire
|
3585
3699
|
// Copyright (C) 2022 Wire Swiss GmbH
|
3586
|
-
var _a, _CoreCrypto_module, _CoreCrypto_cc, _CoreCrypto_assertModuleLoaded,
|
3700
|
+
var _a, _CoreCrypto_module, _CoreCrypto_cc, _CoreCrypto_assertModuleLoaded, _E2eiEnrollment_enrollment;
|
3587
3701
|
/**
|
3588
3702
|
* Error wrapper that takes care of extracting rich error details across the FFI (through JSON parsing)
|
3589
3703
|
*
|
@@ -3891,7 +4005,7 @@ class CoreCrypto {
|
|
3891
4005
|
/**
|
3892
4006
|
* Closes this {@link CoreCrypto} instance and deallocates all loaded resources
|
3893
4007
|
*
|
3894
|
-
* **CAUTION**: This {@link CoreCrypto} instance won't be
|
4008
|
+
* **CAUTION**: This {@link CoreCrypto} instance won't be usable after a call to this method, but there's no way to express this requirement in TypeScript, so you'll get errors instead!
|
3895
4009
|
*/
|
3896
4010
|
async close() {
|
3897
4011
|
await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").close());
|
@@ -3985,7 +4099,12 @@ class CoreCrypto {
|
|
3985
4099
|
}
|
3986
4100
|
}
|
3987
4101
|
/**
|
3988
|
-
* Decrypts a message for a given conversation
|
4102
|
+
* Decrypts a message for a given conversation.
|
4103
|
+
*
|
4104
|
+
* Note: you should catch & ignore the following error reasons:
|
4105
|
+
* * "We already decrypted this message once"
|
4106
|
+
* * "You tried to join with an external commit but did not merge it yet. We will reapply this message for you when you merge your external commit"
|
4107
|
+
* * "Incoming message is for a future epoch. We will buffer it until the commit for that epoch arrives"
|
3989
4108
|
*
|
3990
4109
|
* @param conversationId - The ID of the conversation
|
3991
4110
|
* @param payload - The encrypted message buffer
|
@@ -4010,6 +4129,16 @@ class CoreCrypto {
|
|
4010
4129
|
senderClientId: ffiDecryptedMessage.sender_client_id,
|
4011
4130
|
commitDelay,
|
4012
4131
|
hasEpochChanged: ffiDecryptedMessage.has_epoch_changed,
|
4132
|
+
bufferedMessages: ffiDecryptedMessage.buffered_messages?.map(m => {
|
4133
|
+
return {
|
4134
|
+
message: m.message,
|
4135
|
+
proposals: m.proposals,
|
4136
|
+
isActive: m.is_active,
|
4137
|
+
senderClientId: m.sender_client_id,
|
4138
|
+
commitDelay: m.commit_delay,
|
4139
|
+
hasEpochChanged: m.has_epoch_changed,
|
4140
|
+
};
|
4141
|
+
}),
|
4013
4142
|
};
|
4014
4143
|
return ret;
|
4015
4144
|
}
|
@@ -4043,7 +4172,7 @@ class CoreCrypto {
|
|
4043
4172
|
*
|
4044
4173
|
* @returns A {@link CommitBundle}
|
4045
4174
|
*/
|
4046
|
-
async
|
4175
|
+
async updateTrustAnchorsFromConversation(conversationId, removeDomainNames, addTrustAnchors) {
|
4047
4176
|
try {
|
4048
4177
|
const ffiRet = await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").update_trust_anchors_from_conversation(conversationId, removeDomainNames, addTrustAnchors));
|
4049
4178
|
const gi = ffiRet.group_info;
|
@@ -4084,7 +4213,10 @@ class CoreCrypto {
|
|
4084
4213
|
}
|
4085
4214
|
}
|
4086
4215
|
/**
|
4087
|
-
*
|
4216
|
+
* Get the client's public signature key. To upload to the DS for further backend side validation
|
4217
|
+
*
|
4218
|
+
* @param ciphersuite - of the signature key to get
|
4219
|
+
* @returns the client's public signature key
|
4088
4220
|
*/
|
4089
4221
|
async clientPublicKey(ciphersuite) {
|
4090
4222
|
return await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").client_public_key(ciphersuite));
|
@@ -4121,7 +4253,7 @@ class CoreCrypto {
|
|
4121
4253
|
/**
|
4122
4254
|
* Adds new clients to a conversation, assuming the current client has the right to add new clients to the conversation.
|
4123
4255
|
*
|
4124
|
-
* **CAUTION**: {@link CoreCrypto.commitAccepted} **HAS TO** be called
|
4256
|
+
* **CAUTION**: {@link CoreCrypto.commitAccepted} **HAS TO** be called afterward **ONLY IF** the Delivery Service responds
|
4125
4257
|
* '200 OK' to the {@link CommitBundle} upload. It will "merge" the commit locally i.e. increment the local group
|
4126
4258
|
* epoch, use new encryption secrets etc...
|
4127
4259
|
*
|
@@ -4155,7 +4287,7 @@ class CoreCrypto {
|
|
4155
4287
|
* Removes the provided clients from a conversation; Assuming those clients exist and the current client is allowed
|
4156
4288
|
* to do so, otherwise this operation does nothing.
|
4157
4289
|
*
|
4158
|
-
* **CAUTION**: {@link CoreCrypto.commitAccepted} **HAS TO** be called
|
4290
|
+
* **CAUTION**: {@link CoreCrypto.commitAccepted} **HAS TO** be called afterward **ONLY IF** the Delivery Service responds
|
4159
4291
|
* '200 OK' to the {@link CommitBundle} upload. It will "merge" the commit locally i.e. increment the local group
|
4160
4292
|
* epoch, use new encryption secrets etc...
|
4161
4293
|
*
|
@@ -4184,9 +4316,9 @@ class CoreCrypto {
|
|
4184
4316
|
}
|
4185
4317
|
}
|
4186
4318
|
/**
|
4187
|
-
* Creates an update commit which forces every client to update their
|
4319
|
+
* Creates an update commit which forces every client to update their LeafNode in the conversation
|
4188
4320
|
*
|
4189
|
-
* **CAUTION**: {@link CoreCrypto.commitAccepted} **HAS TO** be called
|
4321
|
+
* **CAUTION**: {@link CoreCrypto.commitAccepted} **HAS TO** be called afterward **ONLY IF** the Delivery Service responds
|
4190
4322
|
* '200 OK' to the {@link CommitBundle} upload. It will "merge" the commit locally i.e. increment the local group
|
4191
4323
|
* epoch, use new encryption secrets etc...
|
4192
4324
|
*
|
@@ -4274,6 +4406,9 @@ class CoreCrypto {
|
|
4274
4406
|
throw new Error("Invalid proposal type!");
|
4275
4407
|
}
|
4276
4408
|
}
|
4409
|
+
/**
|
4410
|
+
* Creates a new external Add proposal for self client to join a conversation.
|
4411
|
+
*/
|
4277
4412
|
async newExternalProposal(externalProposalType, args) {
|
4278
4413
|
switch (externalProposalType) {
|
4279
4414
|
case ExternalProposalType.Add: {
|
@@ -4327,6 +4462,7 @@ class CoreCrypto {
|
|
4327
4462
|
* and deletes the temporary one. This step makes the group operational and ready to encrypt/decrypt message
|
4328
4463
|
*
|
4329
4464
|
* @param conversationId - The ID of the conversation
|
4465
|
+
* @returns eventually decrypted buffered messages if any
|
4330
4466
|
*/
|
4331
4467
|
async mergePendingGroupFromExternalCommit(conversationId) {
|
4332
4468
|
return await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").merge_pending_group_from_external_commit(conversationId));
|
@@ -4342,20 +4478,19 @@ class CoreCrypto {
|
|
4342
4478
|
return await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").clear_pending_group_from_external_commit(conversationId));
|
4343
4479
|
}
|
4344
4480
|
/**
|
4345
|
-
* Allows to mark the latest commit produced as "accepted" and be able to safely merge it
|
4346
|
-
* into the local group state
|
4481
|
+
* Allows to mark the latest commit produced as "accepted" and be able to safely merge it into the local group state
|
4347
4482
|
*
|
4348
4483
|
* @param conversationId - The group's ID
|
4484
|
+
* @returns the messages from current epoch which had been buffered, if any
|
4349
4485
|
*/
|
4350
4486
|
async commitAccepted(conversationId) {
|
4351
4487
|
return await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").commit_accepted(conversationId));
|
4352
4488
|
}
|
4353
4489
|
/**
|
4354
|
-
* Allows to remove a pending proposal (rollback). Use this when backend rejects the proposal you just sent e.g. if permissions
|
4355
|
-
* have changed meanwhile.
|
4490
|
+
* Allows to remove a pending proposal (rollback). Use this when backend rejects the proposal you just sent e.g. if permissions have changed meanwhile.
|
4356
4491
|
*
|
4357
4492
|
* **CAUTION**: only use this when you had an explicit response from the Delivery Service
|
4358
|
-
* e.g. 403 or 409. Do not use otherwise e.g. 5xx responses, timeout etc
|
4493
|
+
* e.g. 403 or 409. Do not use otherwise e.g. 5xx responses, timeout etc…
|
4359
4494
|
*
|
4360
4495
|
* @param conversationId - The group's ID
|
4361
4496
|
* @param proposalRef - A reference to the proposal to delete. You get one when using {@link CoreCrypto.newProposal}
|
@@ -4364,8 +4499,7 @@ class CoreCrypto {
|
|
4364
4499
|
return await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").clear_pending_proposal(conversationId, proposalRef));
|
4365
4500
|
}
|
4366
4501
|
/**
|
4367
|
-
* Allows to remove a pending commit (rollback). Use this when backend rejects the commit you just sent e.g. if permissions
|
4368
|
-
* have changed meanwhile.
|
4502
|
+
* Allows to remove a pending commit (rollback). Use this when backend rejects the commit you just sent e.g. if permissions have changed meanwhile.
|
4369
4503
|
*
|
4370
4504
|
* **CAUTION**: only use this when you had an explicit response from the Delivery Service
|
4371
4505
|
* e.g. 403. Do not use otherwise e.g. 5xx responses, timeout etc..
|
@@ -4422,7 +4556,7 @@ class CoreCrypto {
|
|
4422
4556
|
return await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").reseed_rng(seed));
|
4423
4557
|
}
|
4424
4558
|
/**
|
4425
|
-
*
|
4559
|
+
* Initializes the proteus client
|
4426
4560
|
*/
|
4427
4561
|
async proteusInit() {
|
4428
4562
|
return await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").proteus_init());
|
@@ -4599,31 +4733,31 @@ class CoreCrypto {
|
|
4599
4733
|
* Creates an enrollment instance with private key material you can use in order to fetch
|
4600
4734
|
* a new x509 certificate from the acme server.
|
4601
4735
|
*
|
4602
|
-
* @param clientId client identifier with user b64Url encoded & clientId hex encoded e.g. `NDUyMGUyMmY2YjA3NGU3NjkyZjE1NjJjZTAwMmQ2NTQ:6add501bacd1d90e@example.com`
|
4603
|
-
* @param displayName human
|
4604
|
-
* @param handle user handle e.g. `alice.smith.qa@example.com`
|
4605
|
-
* @param expiryDays generated x509 certificate expiry
|
4736
|
+
* @param clientId - client identifier with user b64Url encoded & clientId hex encoded e.g. `NDUyMGUyMmY2YjA3NGU3NjkyZjE1NjJjZTAwMmQ2NTQ:6add501bacd1d90e@example.com`
|
4737
|
+
* @param displayName - human-readable name displayed in the application e.g. `Smith, Alice M (QA)`
|
4738
|
+
* @param handle - user handle e.g. `alice.smith.qa@example.com`
|
4739
|
+
* @param expiryDays - generated x509 certificate expiry
|
4606
4740
|
* @param ciphersuite - for generating signing key material
|
4607
|
-
* @returns The new {@link
|
4741
|
+
* @returns The new {@link E2eiEnrollment} enrollment instance to use with {@link CoreCrypto.e2eiMlsInitOnly}
|
4608
4742
|
*/
|
4609
4743
|
async e2eiNewEnrollment(clientId, displayName, handle, expiryDays, ciphersuite) {
|
4610
4744
|
const e2ei = await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").e2ei_new_enrollment(clientId, displayName, handle, expiryDays, ciphersuite));
|
4611
|
-
return new
|
4745
|
+
return new E2eiEnrollment(e2ei);
|
4612
4746
|
}
|
4613
4747
|
/**
|
4614
4748
|
* Generates an E2EI enrollment instance for a "regular" client (with a Basic credential) willing to migrate to E2EI.
|
4615
4749
|
* Once the enrollment is finished, use the instance in {@link CoreCrypto.e2eiRotateAll} to do the rotation.
|
4616
4750
|
*
|
4617
|
-
* @param clientId client identifier with user b64Url encoded & clientId hex encoded e.g. `NDUyMGUyMmY2YjA3NGU3NjkyZjE1NjJjZTAwMmQ2NTQ:6add501bacd1d90e@example.com`
|
4618
|
-
* @param displayName human
|
4619
|
-
* @param handle user handle e.g. `alice.smith.qa@example.com`
|
4620
|
-
* @param expiryDays generated x509 certificate expiry
|
4751
|
+
* @param clientId - client identifier with user b64Url encoded & clientId hex encoded e.g. `NDUyMGUyMmY2YjA3NGU3NjkyZjE1NjJjZTAwMmQ2NTQ:6add501bacd1d90e@example.com`
|
4752
|
+
* @param displayName - human-readable name displayed in the application e.g. `Smith, Alice M (QA)`
|
4753
|
+
* @param handle - user handle e.g. `alice.smith.qa@example.com`
|
4754
|
+
* @param expiryDays - generated x509 certificate expiry
|
4621
4755
|
* @param ciphersuite - for generating signing key material
|
4622
|
-
* @returns The new {@link
|
4756
|
+
* @returns The new {@link E2eiEnrollment} enrollment instance to use with {@link CoreCrypto.e2eiRotateAll}
|
4623
4757
|
*/
|
4624
4758
|
async e2eiNewActivationEnrollment(clientId, displayName, handle, expiryDays, ciphersuite) {
|
4625
4759
|
const e2ei = await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").e2ei_new_activation_enrollment(clientId, displayName, handle, expiryDays, ciphersuite));
|
4626
|
-
return new
|
4760
|
+
return new E2eiEnrollment(e2ei);
|
4627
4761
|
}
|
4628
4762
|
/**
|
4629
4763
|
* Generates an E2EI enrollment instance for a E2EI client (with a X509 certificate credential)
|
@@ -4631,22 +4765,24 @@ class CoreCrypto {
|
|
4631
4765
|
* has been revoked. It lets you change the DisplayName or the handle
|
4632
4766
|
* if you need to. Once the enrollment is finished, use the instance in {@link CoreCrypto.e2eiRotateAll} to do the rotation.
|
4633
4767
|
*
|
4634
|
-
* @param clientId client identifier with user b64Url encoded & clientId hex encoded e.g. `NDUyMGUyMmY2YjA3NGU3NjkyZjE1NjJjZTAwMmQ2NTQ:6add501bacd1d90e@example.com`
|
4635
|
-
* @param expiryDays generated x509 certificate expiry
|
4768
|
+
* @param clientId - client identifier with user b64Url encoded & clientId hex encoded e.g. `NDUyMGUyMmY2YjA3NGU3NjkyZjE1NjJjZTAwMmQ2NTQ:6add501bacd1d90e@example.com`
|
4769
|
+
* @param expiryDays - generated x509 certificate expiry
|
4636
4770
|
* @param ciphersuite - for generating signing key material
|
4637
|
-
* @param displayName human
|
4638
|
-
* @param handle user handle e.g. `alice.smith.qa@example.com`
|
4639
|
-
* @returns The new {@link
|
4771
|
+
* @param displayName - human-readable name displayed in the application e.g. `Smith, Alice M (QA)`
|
4772
|
+
* @param handle - user handle e.g. `alice.smith.qa@example.com`
|
4773
|
+
* @returns The new {@link E2eiEnrollment} enrollment instance to use with {@link CoreCrypto.e2eiRotateAll}
|
4640
4774
|
*/
|
4641
4775
|
async e2eiNewRotateEnrollment(clientId, expiryDays, ciphersuite, displayName, handle) {
|
4642
4776
|
const e2ei = await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").e2ei_new_rotate_enrollment(clientId, displayName, handle, expiryDays, ciphersuite));
|
4643
|
-
return new
|
4777
|
+
return new E2eiEnrollment(e2ei);
|
4644
4778
|
}
|
4645
4779
|
/**
|
4646
|
-
* Use this method to initialize end-to-end identity when a client signs up and the grace period is already expired ;
|
4780
|
+
* Use this method to initialize end-to-end identity when a client signs up and the grace period is already expired ;
|
4781
|
+
* that means he cannot initialize with a Basic credential
|
4647
4782
|
*
|
4648
4783
|
* @param enrollment - the enrollment instance used to fetch the certificates
|
4649
4784
|
* @param certificateChain - the raw response from ACME server
|
4785
|
+
* @returns a MlsClient initialized with only a x509 credential
|
4650
4786
|
*/
|
4651
4787
|
async e2eiMlsInitOnly(enrollment, certificateChain) {
|
4652
4788
|
return await __classPrivateFieldGet(this, _CoreCrypto_cc, "f").e2ei_mls_init_only(enrollment.inner(), certificateChain);
|
@@ -4659,6 +4795,7 @@ class CoreCrypto {
|
|
4659
4795
|
* @param enrollment - the enrollment instance used to fetch the certificates
|
4660
4796
|
* @param certificateChain - the raw response from ACME server
|
4661
4797
|
* @param newKeyPackageCount - number of KeyPackages with new identity to generate
|
4798
|
+
* @returns a {@link RotateBundle} with commits to fan-out to other group members, KeyPackages to upload and old ones to delete
|
4662
4799
|
*/
|
4663
4800
|
async e2eiRotateAll(enrollment, certificateChain, newKeyPackageCount) {
|
4664
4801
|
const ffiRet = await __classPrivateFieldGet(this, _CoreCrypto_cc, "f").e2ei_rotate_all(enrollment.inner(), certificateChain, newKeyPackageCount);
|
@@ -4687,7 +4824,7 @@ class CoreCrypto {
|
|
4687
4824
|
*/
|
4688
4825
|
async e2eiEnrollmentStashPop(handle) {
|
4689
4826
|
const e2ei = await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").e2ei_enrollment_stash_pop(handle));
|
4690
|
-
return new
|
4827
|
+
return new E2eiEnrollment(e2ei);
|
4691
4828
|
}
|
4692
4829
|
/**
|
4693
4830
|
* Indicates when to mark a conversation as degraded i.e. when not all its members have a X509.
|
@@ -4705,11 +4842,22 @@ class CoreCrypto {
|
|
4705
4842
|
* Returns true when end-to-end-identity is enabled for the given Ciphersuite
|
4706
4843
|
*
|
4707
4844
|
* @param ciphersuite of the credential to check
|
4708
|
-
* @returns true end-to-end identity is enabled for the given ciphersuite
|
4845
|
+
* @returns true if end-to-end identity is enabled for the given ciphersuite
|
4709
4846
|
*/
|
4710
4847
|
async e2eiIsEnabled(ciphersuite) {
|
4711
4848
|
return await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").e2ei_is_enabled(ciphersuite));
|
4712
4849
|
}
|
4850
|
+
/**
|
4851
|
+
* From a given conversation, get the identity of the members supplied. Identity is only present for members with a
|
4852
|
+
* Certificate Credential (after turning on end-to-end identity).
|
4853
|
+
*
|
4854
|
+
* @param conversationId - identifier of the conversation
|
4855
|
+
* @param clientIds - identifiers of the user
|
4856
|
+
* @returns identities or if no member has a x509 certificate, it will return an empty List
|
4857
|
+
*/
|
4858
|
+
async getUserIdentities(conversationId, clientIds) {
|
4859
|
+
return await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").get_user_identities(conversationId, clientIds));
|
4860
|
+
}
|
4713
4861
|
/**
|
4714
4862
|
* Returns the current version of {@link CoreCrypto}
|
4715
4863
|
*
|
@@ -4727,21 +4875,21 @@ _a = CoreCrypto, _CoreCrypto_cc = new WeakMap(), _CoreCrypto_assertModuleLoaded
|
|
4727
4875
|
};
|
4728
4876
|
/** @hidden */
|
4729
4877
|
_CoreCrypto_module = { value: void 0 };
|
4730
|
-
class
|
4878
|
+
class E2eiEnrollment {
|
4731
4879
|
/** @hidden */
|
4732
4880
|
constructor(e2ei) {
|
4733
4881
|
/** @hidden */
|
4734
|
-
|
4735
|
-
__classPrivateFieldSet(this,
|
4882
|
+
_E2eiEnrollment_enrollment.set(this, void 0);
|
4883
|
+
__classPrivateFieldSet(this, _E2eiEnrollment_enrollment, e2ei, "f");
|
4736
4884
|
}
|
4737
4885
|
free() {
|
4738
|
-
__classPrivateFieldGet(this,
|
4886
|
+
__classPrivateFieldGet(this, _E2eiEnrollment_enrollment, "f").free();
|
4739
4887
|
}
|
4740
4888
|
/**
|
4741
4889
|
* Should only be used internally
|
4742
4890
|
*/
|
4743
4891
|
inner() {
|
4744
|
-
return __classPrivateFieldGet(this,
|
4892
|
+
return __classPrivateFieldGet(this, _E2eiEnrollment_enrollment, "f");
|
4745
4893
|
}
|
4746
4894
|
/**
|
4747
4895
|
* Parses the response from `GET /acme/{provisioner-name}/directory`.
|
@@ -4753,7 +4901,7 @@ class WireE2eIdentity {
|
|
4753
4901
|
*/
|
4754
4902
|
directoryResponse(directory) {
|
4755
4903
|
try {
|
4756
|
-
return __classPrivateFieldGet(this,
|
4904
|
+
return __classPrivateFieldGet(this, _E2eiEnrollment_enrollment, "f").directory_response(directory);
|
4757
4905
|
}
|
4758
4906
|
catch (e) {
|
4759
4907
|
throw CoreCryptoError.fromStdError(e);
|
@@ -4768,7 +4916,7 @@ class WireE2eIdentity {
|
|
4768
4916
|
*/
|
4769
4917
|
newAccountRequest(previousNonce) {
|
4770
4918
|
try {
|
4771
|
-
return __classPrivateFieldGet(this,
|
4919
|
+
return __classPrivateFieldGet(this, _E2eiEnrollment_enrollment, "f").new_account_request(previousNonce);
|
4772
4920
|
}
|
4773
4921
|
catch (e) {
|
4774
4922
|
throw CoreCryptoError.fromStdError(e);
|
@@ -4781,7 +4929,7 @@ class WireE2eIdentity {
|
|
4781
4929
|
*/
|
4782
4930
|
newAccountResponse(account) {
|
4783
4931
|
try {
|
4784
|
-
return __classPrivateFieldGet(this,
|
4932
|
+
return __classPrivateFieldGet(this, _E2eiEnrollment_enrollment, "f").new_account_response(account);
|
4785
4933
|
}
|
4786
4934
|
catch (e) {
|
4787
4935
|
throw CoreCryptoError.fromStdError(e);
|
@@ -4795,7 +4943,7 @@ class WireE2eIdentity {
|
|
4795
4943
|
*/
|
4796
4944
|
newOrderRequest(previousNonce) {
|
4797
4945
|
try {
|
4798
|
-
return __classPrivateFieldGet(this,
|
4946
|
+
return __classPrivateFieldGet(this, _E2eiEnrollment_enrollment, "f").new_order_request(previousNonce);
|
4799
4947
|
}
|
4800
4948
|
catch (e) {
|
4801
4949
|
throw CoreCryptoError.fromStdError(e);
|
@@ -4809,7 +4957,7 @@ class WireE2eIdentity {
|
|
4809
4957
|
*/
|
4810
4958
|
newOrderResponse(order) {
|
4811
4959
|
try {
|
4812
|
-
return __classPrivateFieldGet(this,
|
4960
|
+
return __classPrivateFieldGet(this, _E2eiEnrollment_enrollment, "f").new_order_response(order);
|
4813
4961
|
}
|
4814
4962
|
catch (e) {
|
4815
4963
|
throw CoreCryptoError.fromStdError(e);
|
@@ -4825,7 +4973,7 @@ class WireE2eIdentity {
|
|
4825
4973
|
*/
|
4826
4974
|
newAuthzRequest(url, previousNonce) {
|
4827
4975
|
try {
|
4828
|
-
return __classPrivateFieldGet(this,
|
4976
|
+
return __classPrivateFieldGet(this, _E2eiEnrollment_enrollment, "f").new_authz_request(url, previousNonce);
|
4829
4977
|
}
|
4830
4978
|
catch (e) {
|
4831
4979
|
throw CoreCryptoError.fromStdError(e);
|
@@ -4839,7 +4987,7 @@ class WireE2eIdentity {
|
|
4839
4987
|
*/
|
4840
4988
|
newAuthzResponse(authz) {
|
4841
4989
|
try {
|
4842
|
-
return __classPrivateFieldGet(this,
|
4990
|
+
return __classPrivateFieldGet(this, _E2eiEnrollment_enrollment, "f").new_authz_response(authz);
|
4843
4991
|
}
|
4844
4992
|
catch (e) {
|
4845
4993
|
throw CoreCryptoError.fromStdError(e);
|
@@ -4858,7 +5006,7 @@ class WireE2eIdentity {
|
|
4858
5006
|
*/
|
4859
5007
|
createDpopToken(expirySecs, backendNonce) {
|
4860
5008
|
try {
|
4861
|
-
return __classPrivateFieldGet(this,
|
5009
|
+
return __classPrivateFieldGet(this, _E2eiEnrollment_enrollment, "f").create_dpop_token(expirySecs, backendNonce);
|
4862
5010
|
}
|
4863
5011
|
catch (e) {
|
4864
5012
|
throw CoreCryptoError.fromStdError(e);
|
@@ -4873,7 +5021,7 @@ class WireE2eIdentity {
|
|
4873
5021
|
*/
|
4874
5022
|
newDpopChallengeRequest(accessToken, previousNonce) {
|
4875
5023
|
try {
|
4876
|
-
return __classPrivateFieldGet(this,
|
5024
|
+
return __classPrivateFieldGet(this, _E2eiEnrollment_enrollment, "f").new_dpop_challenge_request(accessToken, previousNonce);
|
4877
5025
|
}
|
4878
5026
|
catch (e) {
|
4879
5027
|
throw CoreCryptoError.fromStdError(e);
|
@@ -4888,7 +5036,7 @@ class WireE2eIdentity {
|
|
4888
5036
|
*/
|
4889
5037
|
newOidcChallengeRequest(idToken, previousNonce) {
|
4890
5038
|
try {
|
4891
|
-
return __classPrivateFieldGet(this,
|
5039
|
+
return __classPrivateFieldGet(this, _E2eiEnrollment_enrollment, "f").new_oidc_challenge_request(idToken, previousNonce);
|
4892
5040
|
}
|
4893
5041
|
catch (e) {
|
4894
5042
|
throw CoreCryptoError.fromStdError(e);
|
@@ -4902,7 +5050,7 @@ class WireE2eIdentity {
|
|
4902
5050
|
*/
|
4903
5051
|
newChallengeResponse(challenge) {
|
4904
5052
|
try {
|
4905
|
-
return __classPrivateFieldGet(this,
|
5053
|
+
return __classPrivateFieldGet(this, _E2eiEnrollment_enrollment, "f").new_challenge_response(challenge);
|
4906
5054
|
}
|
4907
5055
|
catch (e) {
|
4908
5056
|
throw CoreCryptoError.fromStdError(e);
|
@@ -4917,7 +5065,7 @@ class WireE2eIdentity {
|
|
4917
5065
|
*/
|
4918
5066
|
checkOrderRequest(orderUrl, previousNonce) {
|
4919
5067
|
try {
|
4920
|
-
return __classPrivateFieldGet(this,
|
5068
|
+
return __classPrivateFieldGet(this, _E2eiEnrollment_enrollment, "f").check_order_request(orderUrl, previousNonce);
|
4921
5069
|
}
|
4922
5070
|
catch (e) {
|
4923
5071
|
throw CoreCryptoError.fromStdError(e);
|
@@ -4927,12 +5075,12 @@ class WireE2eIdentity {
|
|
4927
5075
|
* Parses the response from `POST /acme/{provisioner-name}/order/{order-id}`.
|
4928
5076
|
*
|
4929
5077
|
* @param order HTTP response body
|
4930
|
-
* @return
|
5078
|
+
* @return finalize url to use with {@link finalizeRequest}
|
4931
5079
|
* @see https://www.rfc-editor.org/rfc/rfc8555.html#section-7.4
|
4932
5080
|
*/
|
4933
5081
|
checkOrderResponse(order) {
|
4934
5082
|
try {
|
4935
|
-
return __classPrivateFieldGet(this,
|
5083
|
+
return __classPrivateFieldGet(this, _E2eiEnrollment_enrollment, "f").check_order_response(order);
|
4936
5084
|
}
|
4937
5085
|
catch (e) {
|
4938
5086
|
throw CoreCryptoError.fromStdError(e);
|
@@ -4946,7 +5094,7 @@ class WireE2eIdentity {
|
|
4946
5094
|
*/
|
4947
5095
|
finalizeRequest(previousNonce) {
|
4948
5096
|
try {
|
4949
|
-
return __classPrivateFieldGet(this,
|
5097
|
+
return __classPrivateFieldGet(this, _E2eiEnrollment_enrollment, "f").finalize_request(previousNonce);
|
4950
5098
|
}
|
4951
5099
|
catch (e) {
|
4952
5100
|
throw CoreCryptoError.fromStdError(e);
|
@@ -4961,7 +5109,7 @@ class WireE2eIdentity {
|
|
4961
5109
|
*/
|
4962
5110
|
finalizeResponse(finalize) {
|
4963
5111
|
try {
|
4964
|
-
return __classPrivateFieldGet(this,
|
5112
|
+
return __classPrivateFieldGet(this, _E2eiEnrollment_enrollment, "f").finalize_response(finalize);
|
4965
5113
|
}
|
4966
5114
|
catch (e) {
|
4967
5115
|
throw CoreCryptoError.fromStdError(e);
|
@@ -4975,14 +5123,14 @@ class WireE2eIdentity {
|
|
4975
5123
|
*/
|
4976
5124
|
certificateRequest(previousNonce) {
|
4977
5125
|
try {
|
4978
|
-
return __classPrivateFieldGet(this,
|
5126
|
+
return __classPrivateFieldGet(this, _E2eiEnrollment_enrollment, "f").certificate_request(previousNonce);
|
4979
5127
|
}
|
4980
5128
|
catch (e) {
|
4981
5129
|
throw CoreCryptoError.fromStdError(e);
|
4982
5130
|
}
|
4983
5131
|
}
|
4984
5132
|
}
|
4985
|
-
|
5133
|
+
_E2eiEnrollment_enrollment = new WeakMap();
|
4986
5134
|
/**
|
4987
5135
|
* Indicates the state of a Conversation regarding end-to-end identity.
|
4988
5136
|
* Note: this does not check pending state (pending commit, pending proposals) so it does not
|
@@ -5004,4 +5152,4 @@ var E2eiConversationState;
|
|
5004
5152
|
E2eiConversationState[E2eiConversationState["NotEnabled"] = 3] = "NotEnabled";
|
5005
5153
|
})(E2eiConversationState || (E2eiConversationState = {}));
|
5006
5154
|
|
5007
|
-
export { Ciphersuite, CoreCrypto, CoreCryptoError, CredentialType, E2eiConversationState, ExternalProposalType, GroupInfoEncryptionType, ProposalType, RatchetTreeType,
|
5155
|
+
export { Ciphersuite, CoreCrypto, CoreCryptoError, CredentialType, E2eiConversationState, E2eiEnrollment, ExternalProposalType, GroupInfoEncryptionType, ProposalType, RatchetTreeType, WirePolicy };
|
Binary file
|