@unwanted/matrix-sdk-mini 34.12.0-2 → 34.12.0-3
Sign up to get free protection for your applications and to get access to all the features.
- package/git-revision.txt +1 -1
- package/lib/@types/global.d.js +0 -2
- package/lib/@types/global.d.js.map +1 -1
- package/lib/browser-index.d.ts.map +1 -1
- package/lib/browser-index.js +0 -11
- package/lib/browser-index.js.map +1 -1
- package/lib/client.d.ts +2 -1176
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +346 -2717
- package/lib/client.js.map +1 -1
- package/lib/embedded.d.ts +0 -22
- package/lib/embedded.d.ts.map +1 -1
- package/lib/embedded.js +24 -166
- package/lib/embedded.js.map +1 -1
- package/lib/event-mapper.d.ts.map +1 -1
- package/lib/event-mapper.js +0 -4
- package/lib/event-mapper.js.map +1 -1
- package/lib/matrix.d.ts +0 -19
- package/lib/matrix.d.ts.map +1 -1
- package/lib/matrix.js +1 -26
- package/lib/matrix.js.map +1 -1
- package/lib/models/MSC3089Branch.d.ts.map +1 -1
- package/lib/models/MSC3089Branch.js +0 -3
- package/lib/models/MSC3089Branch.js.map +1 -1
- package/lib/models/event.d.ts +0 -94
- package/lib/models/event.d.ts.map +1 -1
- package/lib/models/event.js +0 -274
- package/lib/models/event.js.map +1 -1
- package/lib/models/poll.d.ts.map +1 -1
- package/lib/models/poll.js +1 -5
- package/lib/models/poll.js.map +1 -1
- package/lib/models/relations-container.d.ts.map +1 -1
- package/lib/models/relations-container.js +1 -7
- package/lib/models/relations-container.js.map +1 -1
- package/lib/models/relations.d.ts +0 -1
- package/lib/models/relations.d.ts.map +1 -1
- package/lib/models/relations.js +0 -8
- package/lib/models/relations.js.map +1 -1
- package/lib/models/room-state.d.ts.map +1 -1
- package/lib/models/room-state.js +10 -26
- package/lib/models/room-state.js.map +1 -1
- package/lib/models/room.d.ts +0 -18
- package/lib/models/room.d.ts.map +1 -1
- package/lib/models/room.js +94 -148
- package/lib/models/room.js.map +1 -1
- package/lib/models/thread.d.ts.map +1 -1
- package/lib/models/thread.js +0 -1
- package/lib/models/thread.js.map +1 -1
- package/lib/sliding-sync-sdk.d.ts +2 -3
- package/lib/sliding-sync-sdk.d.ts.map +1 -1
- package/lib/sliding-sync-sdk.js +41 -90
- package/lib/sliding-sync-sdk.js.map +1 -1
- package/lib/sync.d.ts +0 -12
- package/lib/sync.d.ts.map +1 -1
- package/lib/sync.js +1 -73
- package/lib/sync.js.map +1 -1
- package/lib/testing.d.ts +0 -48
- package/lib/testing.d.ts.map +1 -1
- package/lib/testing.js +0 -105
- package/lib/testing.js.map +1 -1
- package/package.json +1 -3
- package/src/@types/global.d.ts +0 -3
- package/src/browser-index.ts +0 -11
- package/src/client.ts +57 -2732
- package/src/embedded.ts +3 -130
- package/src/event-mapper.ts +0 -4
- package/src/matrix.ts +0 -28
- package/src/models/MSC3089Branch.ts +0 -3
- package/src/models/event.ts +0 -289
- package/src/models/poll.ts +0 -6
- package/src/models/relations-container.ts +1 -8
- package/src/models/relations.ts +0 -8
- package/src/models/room-state.ts +2 -8
- package/src/models/room.ts +0 -62
- package/src/models/thread.ts +0 -1
- package/src/sliding-sync-sdk.ts +2 -72
- package/src/sync.ts +1 -98
- package/src/testing.ts +0 -108
- package/lib/@types/crypto.d.ts +0 -47
- package/lib/@types/crypto.d.ts.map +0 -1
- package/lib/@types/crypto.js +0 -1
- package/lib/@types/crypto.js.map +0 -1
- package/lib/@types/matrix-sdk-crypto-wasm.d.js +0 -1
- package/lib/@types/matrix-sdk-crypto-wasm.d.js.map +0 -1
- package/lib/common-crypto/CryptoBackend.d.ts +0 -240
- package/lib/common-crypto/CryptoBackend.d.ts.map +0 -1
- package/lib/common-crypto/CryptoBackend.js +0 -73
- package/lib/common-crypto/CryptoBackend.js.map +0 -1
- package/lib/common-crypto/key-passphrase.d.ts +0 -14
- package/lib/common-crypto/key-passphrase.d.ts.map +0 -1
- package/lib/common-crypto/key-passphrase.js +0 -33
- package/lib/common-crypto/key-passphrase.js.map +0 -1
- package/lib/crypto/CrossSigning.d.ts +0 -184
- package/lib/crypto/CrossSigning.d.ts.map +0 -1
- package/lib/crypto/CrossSigning.js +0 -718
- package/lib/crypto/CrossSigning.js.map +0 -1
- package/lib/crypto/DeviceList.d.ts +0 -216
- package/lib/crypto/DeviceList.d.ts.map +0 -1
- package/lib/crypto/DeviceList.js +0 -892
- package/lib/crypto/DeviceList.js.map +0 -1
- package/lib/crypto/EncryptionSetup.d.ts +0 -152
- package/lib/crypto/EncryptionSetup.d.ts.map +0 -1
- package/lib/crypto/EncryptionSetup.js +0 -356
- package/lib/crypto/EncryptionSetup.js.map +0 -1
- package/lib/crypto/OlmDevice.d.ts +0 -457
- package/lib/crypto/OlmDevice.d.ts.map +0 -1
- package/lib/crypto/OlmDevice.js +0 -1241
- package/lib/crypto/OlmDevice.js.map +0 -1
- package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts +0 -109
- package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts.map +0 -1
- package/lib/crypto/OutgoingRoomKeyRequestManager.js +0 -415
- package/lib/crypto/OutgoingRoomKeyRequestManager.js.map +0 -1
- package/lib/crypto/RoomList.d.ts +0 -26
- package/lib/crypto/RoomList.d.ts.map +0 -1
- package/lib/crypto/RoomList.js +0 -71
- package/lib/crypto/RoomList.js.map +0 -1
- package/lib/crypto/SecretSharing.d.ts +0 -24
- package/lib/crypto/SecretSharing.d.ts.map +0 -1
- package/lib/crypto/SecretSharing.js +0 -194
- package/lib/crypto/SecretSharing.js.map +0 -1
- package/lib/crypto/SecretStorage.d.ts +0 -55
- package/lib/crypto/SecretStorage.d.ts.map +0 -1
- package/lib/crypto/SecretStorage.js +0 -118
- package/lib/crypto/SecretStorage.js.map +0 -1
- package/lib/crypto/aes.d.ts +0 -6
- package/lib/crypto/aes.d.ts.map +0 -1
- package/lib/crypto/aes.js +0 -24
- package/lib/crypto/aes.js.map +0 -1
- package/lib/crypto/algorithms/base.d.ts +0 -156
- package/lib/crypto/algorithms/base.d.ts.map +0 -1
- package/lib/crypto/algorithms/base.js +0 -187
- package/lib/crypto/algorithms/base.js.map +0 -1
- package/lib/crypto/algorithms/index.d.ts +0 -4
- package/lib/crypto/algorithms/index.d.ts.map +0 -1
- package/lib/crypto/algorithms/index.js +0 -20
- package/lib/crypto/algorithms/index.js.map +0 -1
- package/lib/crypto/algorithms/megolm.d.ts +0 -385
- package/lib/crypto/algorithms/megolm.d.ts.map +0 -1
- package/lib/crypto/algorithms/megolm.js +0 -1822
- package/lib/crypto/algorithms/megolm.js.map +0 -1
- package/lib/crypto/algorithms/olm.d.ts +0 -5
- package/lib/crypto/algorithms/olm.d.ts.map +0 -1
- package/lib/crypto/algorithms/olm.js +0 -299
- package/lib/crypto/algorithms/olm.js.map +0 -1
- package/lib/crypto/api.d.ts +0 -32
- package/lib/crypto/api.d.ts.map +0 -1
- package/lib/crypto/api.js +0 -22
- package/lib/crypto/api.js.map +0 -1
- package/lib/crypto/backup.d.ts +0 -227
- package/lib/crypto/backup.d.ts.map +0 -1
- package/lib/crypto/backup.js +0 -824
- package/lib/crypto/backup.js.map +0 -1
- package/lib/crypto/crypto.d.ts +0 -3
- package/lib/crypto/crypto.d.ts.map +0 -1
- package/lib/crypto/crypto.js +0 -19
- package/lib/crypto/crypto.js.map +0 -1
- package/lib/crypto/dehydration.d.ts +0 -34
- package/lib/crypto/dehydration.d.ts.map +0 -1
- package/lib/crypto/dehydration.js +0 -252
- package/lib/crypto/dehydration.js.map +0 -1
- package/lib/crypto/device-converter.d.ts +0 -9
- package/lib/crypto/device-converter.d.ts.map +0 -1
- package/lib/crypto/device-converter.js +0 -42
- package/lib/crypto/device-converter.js.map +0 -1
- package/lib/crypto/deviceinfo.d.ts +0 -99
- package/lib/crypto/deviceinfo.d.ts.map +0 -1
- package/lib/crypto/deviceinfo.js +0 -148
- package/lib/crypto/deviceinfo.js.map +0 -1
- package/lib/crypto/index.d.ts +0 -1209
- package/lib/crypto/index.d.ts.map +0 -1
- package/lib/crypto/index.js +0 -4097
- package/lib/crypto/index.js.map +0 -1
- package/lib/crypto/key_passphrase.d.ts +0 -14
- package/lib/crypto/key_passphrase.d.ts.map +0 -1
- package/lib/crypto/key_passphrase.js +0 -44
- package/lib/crypto/key_passphrase.js.map +0 -1
- package/lib/crypto/keybackup.d.ts +0 -18
- package/lib/crypto/keybackup.d.ts.map +0 -1
- package/lib/crypto/keybackup.js +0 -1
- package/lib/crypto/keybackup.js.map +0 -1
- package/lib/crypto/olmlib.d.ts +0 -129
- package/lib/crypto/olmlib.d.ts.map +0 -1
- package/lib/crypto/olmlib.js +0 -492
- package/lib/crypto/olmlib.js.map +0 -1
- package/lib/crypto/recoverykey.d.ts +0 -2
- package/lib/crypto/recoverykey.d.ts.map +0 -1
- package/lib/crypto/recoverykey.js +0 -19
- package/lib/crypto/recoverykey.js.map +0 -1
- package/lib/crypto/store/base.d.ts +0 -252
- package/lib/crypto/store/base.d.ts.map +0 -1
- package/lib/crypto/store/base.js +0 -64
- package/lib/crypto/store/base.js.map +0 -1
- package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts +0 -187
- package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts.map +0 -1
- package/lib/crypto/store/indexeddb-crypto-store-backend.js +0 -1145
- package/lib/crypto/store/indexeddb-crypto-store-backend.js.map +0 -1
- package/lib/crypto/store/indexeddb-crypto-store.d.ts +0 -432
- package/lib/crypto/store/indexeddb-crypto-store.d.ts.map +0 -1
- package/lib/crypto/store/indexeddb-crypto-store.js +0 -728
- package/lib/crypto/store/indexeddb-crypto-store.js.map +0 -1
- package/lib/crypto/store/localStorage-crypto-store.d.ts +0 -119
- package/lib/crypto/store/localStorage-crypto-store.d.ts.map +0 -1
- package/lib/crypto/store/localStorage-crypto-store.js +0 -531
- package/lib/crypto/store/localStorage-crypto-store.js.map +0 -1
- package/lib/crypto/store/memory-crypto-store.d.ts +0 -215
- package/lib/crypto/store/memory-crypto-store.d.ts.map +0 -1
- package/lib/crypto/store/memory-crypto-store.js +0 -622
- package/lib/crypto/store/memory-crypto-store.js.map +0 -1
- package/lib/crypto/verification/Base.d.ts +0 -105
- package/lib/crypto/verification/Base.d.ts.map +0 -1
- package/lib/crypto/verification/Base.js +0 -372
- package/lib/crypto/verification/Base.js.map +0 -1
- package/lib/crypto/verification/Error.d.ts +0 -35
- package/lib/crypto/verification/Error.d.ts.map +0 -1
- package/lib/crypto/verification/Error.js +0 -86
- package/lib/crypto/verification/Error.js.map +0 -1
- package/lib/crypto/verification/IllegalMethod.d.ts +0 -15
- package/lib/crypto/verification/IllegalMethod.d.ts.map +0 -1
- package/lib/crypto/verification/IllegalMethod.js +0 -43
- package/lib/crypto/verification/IllegalMethod.js.map +0 -1
- package/lib/crypto/verification/QRCode.d.ts +0 -51
- package/lib/crypto/verification/QRCode.d.ts.map +0 -1
- package/lib/crypto/verification/QRCode.js +0 -277
- package/lib/crypto/verification/QRCode.js.map +0 -1
- package/lib/crypto/verification/SAS.d.ts +0 -27
- package/lib/crypto/verification/SAS.d.ts.map +0 -1
- package/lib/crypto/verification/SAS.js +0 -485
- package/lib/crypto/verification/SAS.js.map +0 -1
- package/lib/crypto/verification/SASDecimal.d.ts +0 -8
- package/lib/crypto/verification/SASDecimal.d.ts.map +0 -1
- package/lib/crypto/verification/SASDecimal.js +0 -34
- package/lib/crypto/verification/SASDecimal.js.map +0 -1
- package/lib/crypto/verification/request/Channel.d.ts +0 -18
- package/lib/crypto/verification/request/Channel.d.ts.map +0 -1
- package/lib/crypto/verification/request/Channel.js +0 -1
- package/lib/crypto/verification/request/Channel.js.map +0 -1
- package/lib/crypto/verification/request/InRoomChannel.d.ts +0 -113
- package/lib/crypto/verification/request/InRoomChannel.d.ts.map +0 -1
- package/lib/crypto/verification/request/InRoomChannel.js +0 -351
- package/lib/crypto/verification/request/InRoomChannel.js.map +0 -1
- package/lib/crypto/verification/request/ToDeviceChannel.d.ts +0 -105
- package/lib/crypto/verification/request/ToDeviceChannel.d.ts.map +0 -1
- package/lib/crypto/verification/request/ToDeviceChannel.js +0 -328
- package/lib/crypto/verification/request/ToDeviceChannel.js.map +0 -1
- package/lib/crypto/verification/request/VerificationRequest.d.ts +0 -227
- package/lib/crypto/verification/request/VerificationRequest.d.ts.map +0 -1
- package/lib/crypto/verification/request/VerificationRequest.js +0 -937
- package/lib/crypto/verification/request/VerificationRequest.js.map +0 -1
- package/lib/crypto-api/CryptoEvent.d.ts +0 -69
- package/lib/crypto-api/CryptoEvent.d.ts.map +0 -1
- package/lib/crypto-api/CryptoEvent.js +0 -33
- package/lib/crypto-api/CryptoEvent.js.map +0 -1
- package/lib/crypto-api/CryptoEventHandlerMap.d.ts +0 -16
- package/lib/crypto-api/CryptoEventHandlerMap.d.ts.map +0 -1
- package/lib/crypto-api/CryptoEventHandlerMap.js +0 -22
- package/lib/crypto-api/CryptoEventHandlerMap.js.map +0 -1
- package/lib/crypto-api/index.d.ts +0 -978
- package/lib/crypto-api/index.d.ts.map +0 -1
- package/lib/crypto-api/index.js +0 -304
- package/lib/crypto-api/index.js.map +0 -1
- package/lib/crypto-api/key-passphrase.d.ts +0 -11
- package/lib/crypto-api/key-passphrase.d.ts.map +0 -1
- package/lib/crypto-api/key-passphrase.js +0 -51
- package/lib/crypto-api/key-passphrase.js.map +0 -1
- package/lib/crypto-api/keybackup.d.ts +0 -88
- package/lib/crypto-api/keybackup.d.ts.map +0 -1
- package/lib/crypto-api/keybackup.js +0 -1
- package/lib/crypto-api/keybackup.js.map +0 -1
- package/lib/crypto-api/recovery-key.d.ts +0 -11
- package/lib/crypto-api/recovery-key.d.ts.map +0 -1
- package/lib/crypto-api/recovery-key.js +0 -65
- package/lib/crypto-api/recovery-key.js.map +0 -1
- package/lib/crypto-api/verification.d.ts +0 -344
- package/lib/crypto-api/verification.d.ts.map +0 -1
- package/lib/crypto-api/verification.js +0 -91
- package/lib/crypto-api/verification.js.map +0 -1
- package/lib/rendezvous/MSC4108SignInWithQR.d.ts +0 -112
- package/lib/rendezvous/MSC4108SignInWithQR.d.ts.map +0 -1
- package/lib/rendezvous/MSC4108SignInWithQR.js +0 -392
- package/lib/rendezvous/MSC4108SignInWithQR.js.map +0 -1
- package/lib/rendezvous/RendezvousChannel.d.ts +0 -27
- package/lib/rendezvous/RendezvousChannel.d.ts.map +0 -1
- package/lib/rendezvous/RendezvousChannel.js +0 -1
- package/lib/rendezvous/RendezvousChannel.js.map +0 -1
- package/lib/rendezvous/RendezvousCode.d.ts +0 -9
- package/lib/rendezvous/RendezvousCode.d.ts.map +0 -1
- package/lib/rendezvous/RendezvousCode.js +0 -1
- package/lib/rendezvous/RendezvousCode.js.map +0 -1
- package/lib/rendezvous/RendezvousError.d.ts +0 -6
- package/lib/rendezvous/RendezvousError.d.ts.map +0 -1
- package/lib/rendezvous/RendezvousError.js +0 -23
- package/lib/rendezvous/RendezvousError.js.map +0 -1
- package/lib/rendezvous/RendezvousFailureReason.d.ts +0 -31
- package/lib/rendezvous/RendezvousFailureReason.d.ts.map +0 -1
- package/lib/rendezvous/RendezvousFailureReason.js +0 -38
- package/lib/rendezvous/RendezvousFailureReason.js.map +0 -1
- package/lib/rendezvous/RendezvousIntent.d.ts +0 -5
- package/lib/rendezvous/RendezvousIntent.d.ts.map +0 -1
- package/lib/rendezvous/RendezvousIntent.js +0 -22
- package/lib/rendezvous/RendezvousIntent.js.map +0 -1
- package/lib/rendezvous/RendezvousTransport.d.ts +0 -36
- package/lib/rendezvous/RendezvousTransport.d.ts.map +0 -1
- package/lib/rendezvous/RendezvousTransport.js +0 -1
- package/lib/rendezvous/RendezvousTransport.js.map +0 -1
- package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts +0 -58
- package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts.map +0 -1
- package/lib/rendezvous/channels/MSC4108SecureChannel.js +0 -246
- package/lib/rendezvous/channels/MSC4108SecureChannel.js.map +0 -1
- package/lib/rendezvous/channels/index.d.ts +0 -2
- package/lib/rendezvous/channels/index.d.ts.map +0 -1
- package/lib/rendezvous/channels/index.js +0 -18
- package/lib/rendezvous/channels/index.js.map +0 -1
- package/lib/rendezvous/index.d.ts +0 -10
- package/lib/rendezvous/index.d.ts.map +0 -1
- package/lib/rendezvous/index.js +0 -23
- package/lib/rendezvous/index.js.map +0 -1
- package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts +0 -61
- package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts.map +0 -1
- package/lib/rendezvous/transports/MSC4108RendezvousSession.js +0 -253
- package/lib/rendezvous/transports/MSC4108RendezvousSession.js.map +0 -1
- package/lib/rendezvous/transports/index.d.ts +0 -2
- package/lib/rendezvous/transports/index.d.ts.map +0 -1
- package/lib/rendezvous/transports/index.js +0 -18
- package/lib/rendezvous/transports/index.js.map +0 -1
- package/lib/rust-crypto/CrossSigningIdentity.d.ts +0 -33
- package/lib/rust-crypto/CrossSigningIdentity.d.ts.map +0 -1
- package/lib/rust-crypto/CrossSigningIdentity.js +0 -157
- package/lib/rust-crypto/CrossSigningIdentity.js.map +0 -1
- package/lib/rust-crypto/DehydratedDeviceManager.d.ts +0 -98
- package/lib/rust-crypto/DehydratedDeviceManager.d.ts.map +0 -1
- package/lib/rust-crypto/DehydratedDeviceManager.js +0 -285
- package/lib/rust-crypto/DehydratedDeviceManager.js.map +0 -1
- package/lib/rust-crypto/KeyClaimManager.d.ts +0 -33
- package/lib/rust-crypto/KeyClaimManager.d.ts.map +0 -1
- package/lib/rust-crypto/KeyClaimManager.js +0 -82
- package/lib/rust-crypto/KeyClaimManager.js.map +0 -1
- package/lib/rust-crypto/OutgoingRequestProcessor.d.ts +0 -43
- package/lib/rust-crypto/OutgoingRequestProcessor.d.ts.map +0 -1
- package/lib/rust-crypto/OutgoingRequestProcessor.js +0 -195
- package/lib/rust-crypto/OutgoingRequestProcessor.js.map +0 -1
- package/lib/rust-crypto/OutgoingRequestsManager.d.ts +0 -47
- package/lib/rust-crypto/OutgoingRequestsManager.d.ts.map +0 -1
- package/lib/rust-crypto/OutgoingRequestsManager.js +0 -148
- package/lib/rust-crypto/OutgoingRequestsManager.js.map +0 -1
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts +0 -120
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts.map +0 -1
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.js +0 -467
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.js.map +0 -1
- package/lib/rust-crypto/RoomEncryptor.d.ts +0 -98
- package/lib/rust-crypto/RoomEncryptor.d.ts.map +0 -1
- package/lib/rust-crypto/RoomEncryptor.js +0 -299
- package/lib/rust-crypto/RoomEncryptor.js.map +0 -1
- package/lib/rust-crypto/backup.d.ts +0 -254
- package/lib/rust-crypto/backup.d.ts.map +0 -1
- package/lib/rust-crypto/backup.js +0 -837
- package/lib/rust-crypto/backup.js.map +0 -1
- package/lib/rust-crypto/constants.d.ts +0 -3
- package/lib/rust-crypto/constants.d.ts.map +0 -1
- package/lib/rust-crypto/constants.js +0 -19
- package/lib/rust-crypto/constants.js.map +0 -1
- package/lib/rust-crypto/device-converter.d.ts +0 -28
- package/lib/rust-crypto/device-converter.d.ts.map +0 -1
- package/lib/rust-crypto/device-converter.js +0 -123
- package/lib/rust-crypto/device-converter.js.map +0 -1
- package/lib/rust-crypto/index.d.ts +0 -61
- package/lib/rust-crypto/index.d.ts.map +0 -1
- package/lib/rust-crypto/index.js +0 -152
- package/lib/rust-crypto/index.js.map +0 -1
- package/lib/rust-crypto/libolm_migration.d.ts +0 -81
- package/lib/rust-crypto/libolm_migration.d.ts.map +0 -1
- package/lib/rust-crypto/libolm_migration.js +0 -459
- package/lib/rust-crypto/libolm_migration.js.map +0 -1
- package/lib/rust-crypto/rust-crypto.d.ts +0 -556
- package/lib/rust-crypto/rust-crypto.d.ts.map +0 -1
- package/lib/rust-crypto/rust-crypto.js +0 -2016
- package/lib/rust-crypto/rust-crypto.js.map +0 -1
- package/lib/rust-crypto/secret-storage.d.ts +0 -22
- package/lib/rust-crypto/secret-storage.d.ts.map +0 -1
- package/lib/rust-crypto/secret-storage.js +0 -63
- package/lib/rust-crypto/secret-storage.js.map +0 -1
- package/lib/rust-crypto/verification.d.ts +0 -319
- package/lib/rust-crypto/verification.d.ts.map +0 -1
- package/lib/rust-crypto/verification.js +0 -816
- package/lib/rust-crypto/verification.js.map +0 -1
- package/lib/secret-storage.d.ts +0 -370
- package/lib/secret-storage.d.ts.map +0 -1
- package/lib/secret-storage.js +0 -466
- package/lib/secret-storage.js.map +0 -1
- package/src/@types/crypto.ts +0 -73
- package/src/@types/matrix-sdk-crypto-wasm.d.ts +0 -44
- package/src/common-crypto/CryptoBackend.ts +0 -302
- package/src/common-crypto/README.md +0 -4
- package/src/common-crypto/key-passphrase.ts +0 -43
- package/src/crypto/CrossSigning.ts +0 -773
- package/src/crypto/DeviceList.ts +0 -989
- package/src/crypto/EncryptionSetup.ts +0 -351
- package/src/crypto/OlmDevice.ts +0 -1500
- package/src/crypto/OutgoingRoomKeyRequestManager.ts +0 -485
- package/src/crypto/RoomList.ts +0 -70
- package/src/crypto/SecretSharing.ts +0 -240
- package/src/crypto/SecretStorage.ts +0 -136
- package/src/crypto/aes.ts +0 -23
- package/src/crypto/algorithms/base.ts +0 -236
- package/src/crypto/algorithms/index.ts +0 -20
- package/src/crypto/algorithms/megolm.ts +0 -2216
- package/src/crypto/algorithms/olm.ts +0 -381
- package/src/crypto/api.ts +0 -70
- package/src/crypto/backup.ts +0 -922
- package/src/crypto/crypto.ts +0 -18
- package/src/crypto/dehydration.ts +0 -272
- package/src/crypto/device-converter.ts +0 -45
- package/src/crypto/deviceinfo.ts +0 -158
- package/src/crypto/index.ts +0 -4414
- package/src/crypto/key_passphrase.ts +0 -42
- package/src/crypto/keybackup.ts +0 -47
- package/src/crypto/olmlib.ts +0 -539
- package/src/crypto/recoverykey.ts +0 -18
- package/src/crypto/store/base.ts +0 -348
- package/src/crypto/store/indexeddb-crypto-store-backend.ts +0 -1250
- package/src/crypto/store/indexeddb-crypto-store.ts +0 -845
- package/src/crypto/store/localStorage-crypto-store.ts +0 -579
- package/src/crypto/store/memory-crypto-store.ts +0 -680
- package/src/crypto/verification/Base.ts +0 -409
- package/src/crypto/verification/Error.ts +0 -76
- package/src/crypto/verification/IllegalMethod.ts +0 -50
- package/src/crypto/verification/QRCode.ts +0 -310
- package/src/crypto/verification/SAS.ts +0 -494
- package/src/crypto/verification/SASDecimal.ts +0 -37
- package/src/crypto/verification/request/Channel.ts +0 -34
- package/src/crypto/verification/request/InRoomChannel.ts +0 -371
- package/src/crypto/verification/request/ToDeviceChannel.ts +0 -354
- package/src/crypto/verification/request/VerificationRequest.ts +0 -976
- package/src/crypto-api/CryptoEvent.ts +0 -93
- package/src/crypto-api/CryptoEventHandlerMap.ts +0 -32
- package/src/crypto-api/index.ts +0 -1175
- package/src/crypto-api/key-passphrase.ts +0 -58
- package/src/crypto-api/keybackup.ts +0 -115
- package/src/crypto-api/recovery-key.ts +0 -69
- package/src/crypto-api/verification.ts +0 -408
- package/src/rendezvous/MSC4108SignInWithQR.ts +0 -444
- package/src/rendezvous/RendezvousChannel.ts +0 -48
- package/src/rendezvous/RendezvousCode.ts +0 -25
- package/src/rendezvous/RendezvousError.ts +0 -26
- package/src/rendezvous/RendezvousFailureReason.ts +0 -49
- package/src/rendezvous/RendezvousIntent.ts +0 -20
- package/src/rendezvous/RendezvousTransport.ts +0 -58
- package/src/rendezvous/channels/MSC4108SecureChannel.ts +0 -270
- package/src/rendezvous/channels/index.ts +0 -17
- package/src/rendezvous/index.ts +0 -25
- package/src/rendezvous/transports/MSC4108RendezvousSession.ts +0 -270
- package/src/rendezvous/transports/index.ts +0 -17
- package/src/rust-crypto/CrossSigningIdentity.ts +0 -183
- package/src/rust-crypto/DehydratedDeviceManager.ts +0 -306
- package/src/rust-crypto/KeyClaimManager.ts +0 -86
- package/src/rust-crypto/OutgoingRequestProcessor.ts +0 -236
- package/src/rust-crypto/OutgoingRequestsManager.ts +0 -143
- package/src/rust-crypto/PerSessionKeyBackupDownloader.ts +0 -501
- package/src/rust-crypto/RoomEncryptor.ts +0 -352
- package/src/rust-crypto/backup.ts +0 -881
- package/src/rust-crypto/constants.ts +0 -18
- package/src/rust-crypto/device-converter.ts +0 -128
- package/src/rust-crypto/index.ts +0 -237
- package/src/rust-crypto/libolm_migration.ts +0 -530
- package/src/rust-crypto/rust-crypto.ts +0 -2205
- package/src/rust-crypto/secret-storage.ts +0 -60
- package/src/rust-crypto/verification.ts +0 -830
- package/src/secret-storage.ts +0 -693
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../src/@types/crypto.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,MAAM,wBAAwB,GAAG;IACnC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAGF,YAAY,EAAE,qBAAqB,IAAI,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAEzG,UAAU,UAAU;IAChB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAID,kEAAkE;AAClE,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IAClD,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,+BAA+B,EAAE,MAAM,EAAE,CAAC;IAC1C,oCAAoC;IACpC,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAID;;;GAGG;AACH,MAAM,WAAW,WAAW;IACxB,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,UAAU,CAAC,EAAE,WAAW,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,WAAW,CAAC;CAC5B"}
|
package/lib/@types/crypto.js
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
export {};
|
package/lib/@types/crypto.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"crypto.js","names":[],"sources":["../../src/@types/crypto.ts"],"sourcesContent":["/*\nCopyright 2022-2023 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport type { ISignatures } from \"./signed.ts\";\n\nexport type OlmGroupSessionExtraData = {\n untrusted?: boolean;\n sharedHistory?: boolean;\n};\n\n// Backwards compatible re-export\nexport type { EventDecryptionResult as IEventDecryptionResult } from \"../common-crypto/CryptoBackend.ts\";\n\ninterface Extensible {\n [key: string]: any;\n}\n\n/* eslint-disable camelcase */\n\n/** The result of a call to {@link MatrixClient.exportRoomKeys} */\nexport interface IMegolmSessionData extends Extensible {\n /** Sender's Curve25519 device key */\n sender_key: string;\n /** Devices which forwarded this session to us (normally empty). */\n forwarding_curve25519_key_chain: string[];\n /** Other keys the sender claims. */\n sender_claimed_keys: Record<string, string>;\n /** Room this session is used in */\n room_id: string;\n /** Unique id for the session */\n session_id: string;\n /** Base64'ed key data */\n session_key: string;\n algorithm?: string;\n untrusted?: boolean;\n}\n\n/* eslint-enable camelcase */\n\n/** the type of the `device_keys` parameter on `/_matrix/client/v3/keys/upload`\n *\n * @see https://spec.matrix.org/v1.5/client-server-api/#post_matrixclientv3keysupload\n */\nexport interface IDeviceKeys {\n algorithms: Array<string>;\n device_id: string; // eslint-disable-line camelcase\n user_id: string; // eslint-disable-line camelcase\n keys: Record<string, string>;\n signatures?: ISignatures;\n}\n\n/** the type of the `one_time_keys` and `fallback_keys` parameters on `/_matrix/client/v3/keys/upload`\n *\n * @see https://spec.matrix.org/v1.5/client-server-api/#post_matrixclientv3keysupload\n */\nexport interface IOneTimeKey {\n key: string;\n fallback?: boolean;\n signatures?: ISignatures;\n}\n"],"mappings":"","ignoreList":[]}
|
@@ -1 +0,0 @@
|
|
1
|
-
export {};
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"matrix-sdk-crypto-wasm.d.js","names":[],"sources":["../../src/@types/matrix-sdk-crypto-wasm.d.ts"],"sourcesContent":["/*\nCopyright 2024 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport type * as RustSdkCryptoJs from \"@matrix-org/matrix-sdk-crypto-wasm\";\n\ndeclare module \"@matrix-org/matrix-sdk-crypto-wasm\" {\n interface OlmMachine {\n importSecretsBundle(bundle: RustSdkCryptoJs.SecretsBundle): Promise<void>;\n exportSecretsBundle(): Promise<RustSdkCryptoJs.SecretsBundle>;\n }\n\n interface SecretsBundle {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n to_json(): Promise<{\n cross_signing: {\n master_key: string;\n self_signing_key: string;\n user_signing_key: string;\n };\n backup?: {\n algorithm: string;\n key: string;\n backup_version: string;\n };\n }>;\n }\n\n interface Device {\n requestVerification(methods?: any[]): [RustSdkCryptoJs.VerificationRequest, RustSdkCryptoJs.ToDeviceRequest];\n }\n}\n"],"mappings":"","ignoreList":[]}
|
@@ -1,240 +0,0 @@
|
|
1
|
-
import type { IDeviceLists, IToDeviceEvent } from "../sync-accumulator.ts";
|
2
|
-
import { IClearEvent, MatrixEvent } from "../models/event.ts";
|
3
|
-
import { Room } from "../models/room.ts";
|
4
|
-
import { CryptoApi, DecryptionFailureCode, ImportRoomKeysOpts } from "../crypto-api/index.ts";
|
5
|
-
import { CrossSigningInfo, UserTrustLevel } from "../crypto/CrossSigning.ts";
|
6
|
-
import { IEncryptedEventInfo } from "../crypto/api.ts";
|
7
|
-
import { KeyBackupInfo, KeyBackupSession } from "../crypto-api/keybackup.ts";
|
8
|
-
import { IMegolmSessionData } from "../@types/crypto.ts";
|
9
|
-
/**
|
10
|
-
* Common interface for the crypto implementations
|
11
|
-
*
|
12
|
-
* @internal
|
13
|
-
*/
|
14
|
-
export interface CryptoBackend extends SyncCryptoCallbacks, CryptoApi {
|
15
|
-
/**
|
16
|
-
* Whether sendMessage in a room with unknown and unverified devices
|
17
|
-
* should throw an error and not send the message. This has 'Global' for
|
18
|
-
* symmetry with setGlobalBlacklistUnverifiedDevices but there is currently
|
19
|
-
* no room-level equivalent for this setting.
|
20
|
-
*
|
21
|
-
* @remarks This has no effect in Rust Crypto; it exists only for the sake of
|
22
|
-
* the accessors in MatrixClient.
|
23
|
-
*/
|
24
|
-
globalErrorOnUnknownDevices: boolean;
|
25
|
-
/**
|
26
|
-
* Shut down any background processes related to crypto
|
27
|
-
*/
|
28
|
-
stop(): void;
|
29
|
-
/**
|
30
|
-
* Get the verification level for a given user
|
31
|
-
*
|
32
|
-
* @param userId - user to be checked
|
33
|
-
*
|
34
|
-
* @deprecated Superceded by {@link CryptoApi#getUserVerificationStatus}.
|
35
|
-
*/
|
36
|
-
checkUserTrust(userId: string): UserTrustLevel;
|
37
|
-
/**
|
38
|
-
* Encrypt an event according to the configuration of the room.
|
39
|
-
*
|
40
|
-
* @param event - event to be sent
|
41
|
-
*
|
42
|
-
* @param room - destination room.
|
43
|
-
*
|
44
|
-
* @returns Promise which resolves when the event has been
|
45
|
-
* encrypted, or null if nothing was needed
|
46
|
-
*/
|
47
|
-
encryptEvent(event: MatrixEvent, room: Room): Promise<void>;
|
48
|
-
/**
|
49
|
-
* Decrypt a received event
|
50
|
-
*
|
51
|
-
* @returns a promise which resolves once we have finished decrypting.
|
52
|
-
* Rejects with an error if there is a problem decrypting the event.
|
53
|
-
*/
|
54
|
-
decryptEvent(event: MatrixEvent): Promise<EventDecryptionResult>;
|
55
|
-
/**
|
56
|
-
* Get information about the encryption of an event
|
57
|
-
*
|
58
|
-
* @param event - event to be checked
|
59
|
-
*/
|
60
|
-
getEventEncryptionInfo(event: MatrixEvent): IEncryptedEventInfo;
|
61
|
-
/**
|
62
|
-
* Get the cross signing information for a given user.
|
63
|
-
*
|
64
|
-
* The cross-signing API is currently UNSTABLE and may change without notice.
|
65
|
-
*
|
66
|
-
* @param userId - the user ID to get the cross-signing info for.
|
67
|
-
*
|
68
|
-
* @returns the cross signing information for the user.
|
69
|
-
* @deprecated Prefer {@link CryptoApi#userHasCrossSigningKeys}
|
70
|
-
*/
|
71
|
-
getStoredCrossSigningForUser(userId: string): CrossSigningInfo | null;
|
72
|
-
/**
|
73
|
-
* Check the cross signing trust of the current user
|
74
|
-
*
|
75
|
-
* @param opts - Options object.
|
76
|
-
*
|
77
|
-
* @deprecated Unneeded for the new crypto
|
78
|
-
*/
|
79
|
-
checkOwnCrossSigningTrust(opts?: CheckOwnCrossSigningTrustOpts): Promise<void>;
|
80
|
-
/**
|
81
|
-
* Get a backup decryptor capable of decrypting megolm session data encrypted with the given backup information.
|
82
|
-
* @param backupInfo - The backup information
|
83
|
-
* @param privKey - The private decryption key.
|
84
|
-
*/
|
85
|
-
getBackupDecryptor(backupInfo: KeyBackupInfo, privKey: ArrayLike<number>): Promise<BackupDecryptor>;
|
86
|
-
/**
|
87
|
-
* Import a list of room keys restored from backup
|
88
|
-
*
|
89
|
-
* @param keys - a list of session export objects
|
90
|
-
* @param backupVersion - the version of the backup these keys came from.
|
91
|
-
* @param opts - options object
|
92
|
-
* @returns a promise which resolves once the keys have been imported
|
93
|
-
*/
|
94
|
-
importBackedUpRoomKeys(keys: IMegolmSessionData[], backupVersion: string, opts?: ImportRoomKeysOpts): Promise<void>;
|
95
|
-
}
|
96
|
-
/** The methods which crypto implementations should expose to the Sync api
|
97
|
-
*
|
98
|
-
* @internal
|
99
|
-
*/
|
100
|
-
export interface SyncCryptoCallbacks {
|
101
|
-
/**
|
102
|
-
* Called by the /sync loop whenever there are incoming to-device messages.
|
103
|
-
*
|
104
|
-
* The implementation may preprocess the received messages (eg, decrypt them) and return an
|
105
|
-
* updated list of messages for dispatch to the rest of the system.
|
106
|
-
*
|
107
|
-
* Note that, unlike {@link ClientEvent.ToDeviceEvent} events, this is called on the raw to-device
|
108
|
-
* messages, rather than the results of any decryption attempts.
|
109
|
-
*
|
110
|
-
* @param events - the received to-device messages
|
111
|
-
* @returns A list of preprocessed to-device messages.
|
112
|
-
*/
|
113
|
-
preprocessToDeviceMessages(events: IToDeviceEvent[]): Promise<IToDeviceEvent[]>;
|
114
|
-
/**
|
115
|
-
* Called by the /sync loop when one time key counts and unused fallback key details are received.
|
116
|
-
*
|
117
|
-
* @param oneTimeKeysCounts - the received one time key counts
|
118
|
-
* @param unusedFallbackKeys - the received unused fallback keys
|
119
|
-
*/
|
120
|
-
processKeyCounts(oneTimeKeysCounts?: Record<string, number>, unusedFallbackKeys?: string[]): Promise<void>;
|
121
|
-
/**
|
122
|
-
* Handle the notification from /sync that device lists have
|
123
|
-
* been changed.
|
124
|
-
*
|
125
|
-
* @param deviceLists - device_lists field from /sync
|
126
|
-
*/
|
127
|
-
processDeviceLists(deviceLists: IDeviceLists): Promise<void>;
|
128
|
-
/**
|
129
|
-
* Called by the /sync loop whenever an m.room.encryption event is received.
|
130
|
-
*
|
131
|
-
* This is called before RoomStateEvents are emitted for any of the events in the /sync
|
132
|
-
* response (even if the other events technically happened first). This works around a problem
|
133
|
-
* if the client uses a RoomStateEvent (typically a membership event) as a trigger to send a message
|
134
|
-
* in a new room (or one where encryption has been newly enabled): that would otherwise leave the
|
135
|
-
* crypto layer confused because it expects crypto to be set up, but it has not yet been.
|
136
|
-
*
|
137
|
-
* @param room - in which the event was received
|
138
|
-
* @param event - encryption event to be processed
|
139
|
-
*/
|
140
|
-
onCryptoEvent(room: Room, event: MatrixEvent): Promise<void>;
|
141
|
-
/**
|
142
|
-
* Called by the /sync loop after each /sync response is processed.
|
143
|
-
*
|
144
|
-
* Used to complete batch processing, or to initiate background processes
|
145
|
-
*
|
146
|
-
* @param syncState - information about the completed sync.
|
147
|
-
*/
|
148
|
-
onSyncCompleted(syncState: OnSyncCompletedData): void;
|
149
|
-
}
|
150
|
-
/**
|
151
|
-
* @internal
|
152
|
-
*/
|
153
|
-
export interface OnSyncCompletedData {
|
154
|
-
/**
|
155
|
-
* The 'next_batch' result from /sync, which will become the 'since' token for the next call to /sync.
|
156
|
-
*/
|
157
|
-
nextSyncToken?: string;
|
158
|
-
/**
|
159
|
-
* True if we are working our way through a backlog of events after connecting.
|
160
|
-
*/
|
161
|
-
catchingUp?: boolean;
|
162
|
-
}
|
163
|
-
/**
|
164
|
-
* Options object for {@link CryptoBackend#checkOwnCrossSigningTrust}.
|
165
|
-
*/
|
166
|
-
export interface CheckOwnCrossSigningTrustOpts {
|
167
|
-
allowPrivateKeyRequests?: boolean;
|
168
|
-
}
|
169
|
-
/**
|
170
|
-
* The result of a (successful) call to {@link CryptoBackend.decryptEvent}
|
171
|
-
*/
|
172
|
-
export interface EventDecryptionResult {
|
173
|
-
/**
|
174
|
-
* The plaintext payload for the event (typically containing <tt>type</tt> and <tt>content</tt> fields).
|
175
|
-
*/
|
176
|
-
clearEvent: IClearEvent;
|
177
|
-
/**
|
178
|
-
* List of curve25519 keys involved in telling us about the senderCurve25519Key and claimedEd25519Key.
|
179
|
-
* See {@link MatrixEvent#getForwardingCurve25519KeyChain}.
|
180
|
-
*/
|
181
|
-
forwardingCurve25519KeyChain?: string[];
|
182
|
-
/**
|
183
|
-
* Key owned by the sender of this event. See {@link MatrixEvent#getSenderKey}.
|
184
|
-
*/
|
185
|
-
senderCurve25519Key?: string;
|
186
|
-
/**
|
187
|
-
* ed25519 key claimed by the sender of this event. See {@link MatrixEvent#getClaimedEd25519Key}.
|
188
|
-
*/
|
189
|
-
claimedEd25519Key?: string;
|
190
|
-
/**
|
191
|
-
* Whether the keys for this event have been received via an unauthenticated source (eg via key forwards, or
|
192
|
-
* restored from backup)
|
193
|
-
*/
|
194
|
-
untrusted?: boolean;
|
195
|
-
}
|
196
|
-
/**
|
197
|
-
* Responsible for decrypting megolm session data retrieved from a remote backup.
|
198
|
-
* The result of {@link CryptoBackend#getBackupDecryptor}.
|
199
|
-
*/
|
200
|
-
export interface BackupDecryptor {
|
201
|
-
/**
|
202
|
-
* Whether keys retrieved from this backup can be trusted.
|
203
|
-
*
|
204
|
-
* Depending on the backup algorithm, keys retrieved from the backup can be trusted or not.
|
205
|
-
* If false, keys retrieved from the backup must be considered unsafe (authenticity cannot be guaranteed).
|
206
|
-
* It could be by design (deniability) or for some technical reason (eg asymmetric encryption).
|
207
|
-
*/
|
208
|
-
readonly sourceTrusted: boolean;
|
209
|
-
/**
|
210
|
-
*
|
211
|
-
* Decrypt megolm session data retrieved from backup.
|
212
|
-
*
|
213
|
-
* @param ciphertexts - a Record of sessionId to session data.
|
214
|
-
*
|
215
|
-
* @returns An array of decrypted `IMegolmSessionData`
|
216
|
-
*/
|
217
|
-
decryptSessions(ciphertexts: Record<string, KeyBackupSession>): Promise<IMegolmSessionData[]>;
|
218
|
-
/**
|
219
|
-
* Free any resources held by this decryptor.
|
220
|
-
*
|
221
|
-
* Should be called once the decryptor is no longer needed.
|
222
|
-
*/
|
223
|
-
free(): void;
|
224
|
-
}
|
225
|
-
/**
|
226
|
-
* Exception thrown when decryption fails
|
227
|
-
*
|
228
|
-
* @param code - Reason code for the failure.
|
229
|
-
*
|
230
|
-
* @param msg - user-visible message describing the problem
|
231
|
-
*
|
232
|
-
* @param details - key/value pairs reported in the logs but not shown
|
233
|
-
* to the user.
|
234
|
-
*/
|
235
|
-
export declare class DecryptionError extends Error {
|
236
|
-
readonly code: DecryptionFailureCode;
|
237
|
-
readonly detailedString: string;
|
238
|
-
constructor(code: DecryptionFailureCode, msg: string, details?: Record<string, string | Error>);
|
239
|
-
}
|
240
|
-
//# sourceMappingURL=CryptoBackend.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"CryptoBackend.d.ts","sourceRoot":"","sources":["../../src/common-crypto/CryptoBackend.ts"],"names":[],"mappings":"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"}
|
@@ -1,73 +0,0 @@
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
2
|
-
/*
|
3
|
-
Copyright 2022 The Matrix.org Foundation C.I.C.
|
4
|
-
|
5
|
-
Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
-
you may not use this file except in compliance with the License.
|
7
|
-
You may obtain a copy of the License at
|
8
|
-
|
9
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
10
|
-
|
11
|
-
Unless required by applicable law or agreed to in writing, software
|
12
|
-
distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
-
See the License for the specific language governing permissions and
|
15
|
-
limitations under the License.
|
16
|
-
*/
|
17
|
-
|
18
|
-
/**
|
19
|
-
* Common interface for the crypto implementations
|
20
|
-
*
|
21
|
-
* @internal
|
22
|
-
*/
|
23
|
-
|
24
|
-
/** The methods which crypto implementations should expose to the Sync api
|
25
|
-
*
|
26
|
-
* @internal
|
27
|
-
*/
|
28
|
-
|
29
|
-
/**
|
30
|
-
* @internal
|
31
|
-
*/
|
32
|
-
|
33
|
-
/**
|
34
|
-
* Options object for {@link CryptoBackend#checkOwnCrossSigningTrust}.
|
35
|
-
*/
|
36
|
-
|
37
|
-
/**
|
38
|
-
* The result of a (successful) call to {@link CryptoBackend.decryptEvent}
|
39
|
-
*/
|
40
|
-
|
41
|
-
/**
|
42
|
-
* Responsible for decrypting megolm session data retrieved from a remote backup.
|
43
|
-
* The result of {@link CryptoBackend#getBackupDecryptor}.
|
44
|
-
*/
|
45
|
-
|
46
|
-
/**
|
47
|
-
* Exception thrown when decryption fails
|
48
|
-
*
|
49
|
-
* @param code - Reason code for the failure.
|
50
|
-
*
|
51
|
-
* @param msg - user-visible message describing the problem
|
52
|
-
*
|
53
|
-
* @param details - key/value pairs reported in the logs but not shown
|
54
|
-
* to the user.
|
55
|
-
*/
|
56
|
-
export class DecryptionError extends Error {
|
57
|
-
constructor(code, msg, details) {
|
58
|
-
super(msg);
|
59
|
-
this.code = code;
|
60
|
-
_defineProperty(this, "detailedString", void 0);
|
61
|
-
this.name = "DecryptionError";
|
62
|
-
this.detailedString = detailedStringForDecryptionError(this, details);
|
63
|
-
}
|
64
|
-
}
|
65
|
-
function detailedStringForDecryptionError(err, details) {
|
66
|
-
var result = err.name + "[msg: " + err.message;
|
67
|
-
if (details) {
|
68
|
-
result += ", " + Object.keys(details).map(k => k + ": " + details[k]).join(", ");
|
69
|
-
}
|
70
|
-
result += "]";
|
71
|
-
return result;
|
72
|
-
}
|
73
|
-
//# sourceMappingURL=CryptoBackend.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"CryptoBackend.js","names":["DecryptionError","Error","constructor","code","msg","details","_defineProperty","name","detailedString","detailedStringForDecryptionError","err","result","message","Object","keys","map","k","join"],"sources":["../../src/common-crypto/CryptoBackend.ts"],"sourcesContent":["/*\nCopyright 2022 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport type { IDeviceLists, IToDeviceEvent } from \"../sync-accumulator.ts\";\nimport { IClearEvent, MatrixEvent } from \"../models/event.ts\";\nimport { Room } from \"../models/room.ts\";\nimport { CryptoApi, DecryptionFailureCode, ImportRoomKeysOpts } from \"../crypto-api/index.ts\";\nimport { CrossSigningInfo, UserTrustLevel } from \"../crypto/CrossSigning.ts\";\nimport { IEncryptedEventInfo } from \"../crypto/api.ts\";\nimport { KeyBackupInfo, KeyBackupSession } from \"../crypto-api/keybackup.ts\";\nimport { IMegolmSessionData } from \"../@types/crypto.ts\";\n\n/**\n * Common interface for the crypto implementations\n *\n * @internal\n */\nexport interface CryptoBackend extends SyncCryptoCallbacks, CryptoApi {\n /**\n * Whether sendMessage in a room with unknown and unverified devices\n * should throw an error and not send the message. This has 'Global' for\n * symmetry with setGlobalBlacklistUnverifiedDevices but there is currently\n * no room-level equivalent for this setting.\n *\n * @remarks This has no effect in Rust Crypto; it exists only for the sake of\n * the accessors in MatrixClient.\n */\n globalErrorOnUnknownDevices: boolean;\n\n /**\n * Shut down any background processes related to crypto\n */\n stop(): void;\n\n /**\n * Get the verification level for a given user\n *\n * @param userId - user to be checked\n *\n * @deprecated Superceded by {@link CryptoApi#getUserVerificationStatus}.\n */\n checkUserTrust(userId: string): UserTrustLevel;\n\n /**\n * Encrypt an event according to the configuration of the room.\n *\n * @param event - event to be sent\n *\n * @param room - destination room.\n *\n * @returns Promise which resolves when the event has been\n * encrypted, or null if nothing was needed\n */\n encryptEvent(event: MatrixEvent, room: Room): Promise<void>;\n\n /**\n * Decrypt a received event\n *\n * @returns a promise which resolves once we have finished decrypting.\n * Rejects with an error if there is a problem decrypting the event.\n */\n decryptEvent(event: MatrixEvent): Promise<EventDecryptionResult>;\n\n /**\n * Get information about the encryption of an event\n *\n * @param event - event to be checked\n */\n getEventEncryptionInfo(event: MatrixEvent): IEncryptedEventInfo;\n\n /**\n * Get the cross signing information for a given user.\n *\n * The cross-signing API is currently UNSTABLE and may change without notice.\n *\n * @param userId - the user ID to get the cross-signing info for.\n *\n * @returns the cross signing information for the user.\n * @deprecated Prefer {@link CryptoApi#userHasCrossSigningKeys}\n */\n getStoredCrossSigningForUser(userId: string): CrossSigningInfo | null;\n\n /**\n * Check the cross signing trust of the current user\n *\n * @param opts - Options object.\n *\n * @deprecated Unneeded for the new crypto\n */\n checkOwnCrossSigningTrust(opts?: CheckOwnCrossSigningTrustOpts): Promise<void>;\n\n /**\n * Get a backup decryptor capable of decrypting megolm session data encrypted with the given backup information.\n * @param backupInfo - The backup information\n * @param privKey - The private decryption key.\n */\n getBackupDecryptor(backupInfo: KeyBackupInfo, privKey: ArrayLike<number>): Promise<BackupDecryptor>;\n\n /**\n * Import a list of room keys restored from backup\n *\n * @param keys - a list of session export objects\n * @param backupVersion - the version of the backup these keys came from.\n * @param opts - options object\n * @returns a promise which resolves once the keys have been imported\n */\n importBackedUpRoomKeys(keys: IMegolmSessionData[], backupVersion: string, opts?: ImportRoomKeysOpts): Promise<void>;\n}\n\n/** The methods which crypto implementations should expose to the Sync api\n *\n * @internal\n */\nexport interface SyncCryptoCallbacks {\n /**\n * Called by the /sync loop whenever there are incoming to-device messages.\n *\n * The implementation may preprocess the received messages (eg, decrypt them) and return an\n * updated list of messages for dispatch to the rest of the system.\n *\n * Note that, unlike {@link ClientEvent.ToDeviceEvent} events, this is called on the raw to-device\n * messages, rather than the results of any decryption attempts.\n *\n * @param events - the received to-device messages\n * @returns A list of preprocessed to-device messages.\n */\n preprocessToDeviceMessages(events: IToDeviceEvent[]): Promise<IToDeviceEvent[]>;\n\n /**\n * Called by the /sync loop when one time key counts and unused fallback key details are received.\n *\n * @param oneTimeKeysCounts - the received one time key counts\n * @param unusedFallbackKeys - the received unused fallback keys\n */\n processKeyCounts(oneTimeKeysCounts?: Record<string, number>, unusedFallbackKeys?: string[]): Promise<void>;\n\n /**\n * Handle the notification from /sync that device lists have\n * been changed.\n *\n * @param deviceLists - device_lists field from /sync\n */\n processDeviceLists(deviceLists: IDeviceLists): Promise<void>;\n\n /**\n * Called by the /sync loop whenever an m.room.encryption event is received.\n *\n * This is called before RoomStateEvents are emitted for any of the events in the /sync\n * response (even if the other events technically happened first). This works around a problem\n * if the client uses a RoomStateEvent (typically a membership event) as a trigger to send a message\n * in a new room (or one where encryption has been newly enabled): that would otherwise leave the\n * crypto layer confused because it expects crypto to be set up, but it has not yet been.\n *\n * @param room - in which the event was received\n * @param event - encryption event to be processed\n */\n onCryptoEvent(room: Room, event: MatrixEvent): Promise<void>;\n\n /**\n * Called by the /sync loop after each /sync response is processed.\n *\n * Used to complete batch processing, or to initiate background processes\n *\n * @param syncState - information about the completed sync.\n */\n onSyncCompleted(syncState: OnSyncCompletedData): void;\n}\n\n/**\n * @internal\n */\nexport interface OnSyncCompletedData {\n /**\n * The 'next_batch' result from /sync, which will become the 'since' token for the next call to /sync.\n */\n nextSyncToken?: string;\n\n /**\n * True if we are working our way through a backlog of events after connecting.\n */\n catchingUp?: boolean;\n}\n\n/**\n * Options object for {@link CryptoBackend#checkOwnCrossSigningTrust}.\n */\nexport interface CheckOwnCrossSigningTrustOpts {\n allowPrivateKeyRequests?: boolean;\n}\n\n/**\n * The result of a (successful) call to {@link CryptoBackend.decryptEvent}\n */\nexport interface EventDecryptionResult {\n /**\n * The plaintext payload for the event (typically containing <tt>type</tt> and <tt>content</tt> fields).\n */\n clearEvent: IClearEvent;\n /**\n * List of curve25519 keys involved in telling us about the senderCurve25519Key and claimedEd25519Key.\n * See {@link MatrixEvent#getForwardingCurve25519KeyChain}.\n */\n forwardingCurve25519KeyChain?: string[];\n /**\n * Key owned by the sender of this event. See {@link MatrixEvent#getSenderKey}.\n */\n senderCurve25519Key?: string;\n /**\n * ed25519 key claimed by the sender of this event. See {@link MatrixEvent#getClaimedEd25519Key}.\n */\n claimedEd25519Key?: string;\n /**\n * Whether the keys for this event have been received via an unauthenticated source (eg via key forwards, or\n * restored from backup)\n */\n untrusted?: boolean;\n}\n\n/**\n * Responsible for decrypting megolm session data retrieved from a remote backup.\n * The result of {@link CryptoBackend#getBackupDecryptor}.\n */\nexport interface BackupDecryptor {\n /**\n * Whether keys retrieved from this backup can be trusted.\n *\n * Depending on the backup algorithm, keys retrieved from the backup can be trusted or not.\n * If false, keys retrieved from the backup must be considered unsafe (authenticity cannot be guaranteed).\n * It could be by design (deniability) or for some technical reason (eg asymmetric encryption).\n */\n readonly sourceTrusted: boolean;\n\n /**\n *\n * Decrypt megolm session data retrieved from backup.\n *\n * @param ciphertexts - a Record of sessionId to session data.\n *\n * @returns An array of decrypted `IMegolmSessionData`\n */\n decryptSessions(ciphertexts: Record<string, KeyBackupSession>): Promise<IMegolmSessionData[]>;\n\n /**\n * Free any resources held by this decryptor.\n *\n * Should be called once the decryptor is no longer needed.\n */\n free(): void;\n}\n\n/**\n * Exception thrown when decryption fails\n *\n * @param code - Reason code for the failure.\n *\n * @param msg - user-visible message describing the problem\n *\n * @param details - key/value pairs reported in the logs but not shown\n * to the user.\n */\nexport class DecryptionError extends Error {\n public readonly detailedString: string;\n\n public constructor(\n public readonly code: DecryptionFailureCode,\n msg: string,\n details?: Record<string, string | Error>,\n ) {\n super(msg);\n this.name = \"DecryptionError\";\n this.detailedString = detailedStringForDecryptionError(this, details);\n }\n}\n\nfunction detailedStringForDecryptionError(err: DecryptionError, details?: Record<string, string | Error>): string {\n let result = err.name + \"[msg: \" + err.message;\n\n if (details) {\n result +=\n \", \" +\n Object.keys(details)\n .map((k) => k + \": \" + details[k])\n .join(\", \");\n }\n\n result += \"]\";\n\n return result;\n}\n"],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAWA;AACA;AACA;AACA;AACA;;AA6FA;AACA;AACA;AACA;;AAwDA;AACA;AACA;;AAaA;AACA;AACA;;AAKA;AACA;AACA;;AA0BA;AACA;AACA;AACA;;AA6BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,eAAe,SAASC,KAAK,CAAC;EAGhCC,WAAWA,CACEC,IAA2B,EAC3CC,GAAW,EACXC,OAAwC,EAC1C;IACE,KAAK,CAACD,GAAG,CAAC;IAAC,KAJKD,IAA2B,GAA3BA,IAA2B;IAAAG,eAAA;IAK3C,IAAI,CAACC,IAAI,GAAG,iBAAiB;IAC7B,IAAI,CAACC,cAAc,GAAGC,gCAAgC,CAAC,IAAI,EAAEJ,OAAO,CAAC;EACzE;AACJ;AAEA,SAASI,gCAAgCA,CAACC,GAAoB,EAAEL,OAAwC,EAAU;EAC9G,IAAIM,MAAM,GAAGD,GAAG,CAACH,IAAI,GAAG,QAAQ,GAAGG,GAAG,CAACE,OAAO;EAE9C,IAAIP,OAAO,EAAE;IACTM,MAAM,IACF,IAAI,GACJE,MAAM,CAACC,IAAI,CAACT,OAAO,CAAC,CACfU,GAAG,CAAEC,CAAC,IAAKA,CAAC,GAAG,IAAI,GAAGX,OAAO,CAACW,CAAC,CAAC,CAAC,CACjCC,IAAI,CAAC,IAAI,CAAC;EACvB;EAEAN,MAAM,IAAI,GAAG;EAEb,OAAOA,MAAM;AACjB","ignoreList":[]}
|
@@ -1,14 +0,0 @@
|
|
1
|
-
interface IAuthData {
|
2
|
-
private_key_salt?: string;
|
3
|
-
private_key_iterations?: number;
|
4
|
-
private_key_bits?: number;
|
5
|
-
}
|
6
|
-
/**
|
7
|
-
* Derive a backup key from a passphrase using the salt and iterations from the auth data.
|
8
|
-
* @param authData - The auth data containing the salt and iterations
|
9
|
-
* @param passphrase - The passphrase to derive the key from
|
10
|
-
* @deprecated Deriving a backup key from a passphrase is not part of the matrix spec. Instead, a random key is generated and stored/shared via 4S.
|
11
|
-
*/
|
12
|
-
export declare function keyFromAuthData(authData: IAuthData, passphrase: string): Promise<Uint8Array>;
|
13
|
-
export {};
|
14
|
-
//# sourceMappingURL=key-passphrase.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"key-passphrase.d.ts","sourceRoot":"","sources":["../../src/common-crypto/key-passphrase.ts"],"names":[],"mappings":"AAmBA,UAAU,SAAS;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAW5F"}
|
@@ -1,33 +0,0 @@
|
|
1
|
-
/*
|
2
|
-
* Copyright 2024 The Matrix.org Foundation C.I.C.
|
3
|
-
*
|
4
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
-
* you may not use this file except in compliance with the License.
|
6
|
-
* You may obtain a copy of the License at
|
7
|
-
*
|
8
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
9
|
-
*
|
10
|
-
* Unless required by applicable law or agreed to in writing, software
|
11
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
-
* See the License for the specific language governing permissions and
|
14
|
-
* limitations under the License.
|
15
|
-
*/
|
16
|
-
|
17
|
-
import { deriveRecoveryKeyFromPassphrase } from "../crypto-api/index.js";
|
18
|
-
|
19
|
-
/* eslint-disable camelcase */
|
20
|
-
|
21
|
-
/**
|
22
|
-
* Derive a backup key from a passphrase using the salt and iterations from the auth data.
|
23
|
-
* @param authData - The auth data containing the salt and iterations
|
24
|
-
* @param passphrase - The passphrase to derive the key from
|
25
|
-
* @deprecated Deriving a backup key from a passphrase is not part of the matrix spec. Instead, a random key is generated and stored/shared via 4S.
|
26
|
-
*/
|
27
|
-
export function keyFromAuthData(authData, passphrase) {
|
28
|
-
if (!authData.private_key_salt || !authData.private_key_iterations) {
|
29
|
-
throw new Error("Salt and/or iterations not found: " + "this backup cannot be restored with a passphrase");
|
30
|
-
}
|
31
|
-
return deriveRecoveryKeyFromPassphrase(passphrase, authData.private_key_salt, authData.private_key_iterations, authData.private_key_bits);
|
32
|
-
}
|
33
|
-
//# sourceMappingURL=key-passphrase.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"key-passphrase.js","names":["deriveRecoveryKeyFromPassphrase","keyFromAuthData","authData","passphrase","private_key_salt","private_key_iterations","Error","private_key_bits"],"sources":["../../src/common-crypto/key-passphrase.ts"],"sourcesContent":["/*\n * Copyright 2024 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { deriveRecoveryKeyFromPassphrase } from \"../crypto-api/index.ts\";\n\n/* eslint-disable camelcase */\ninterface IAuthData {\n private_key_salt?: string;\n private_key_iterations?: number;\n private_key_bits?: number;\n}\n\n/**\n * Derive a backup key from a passphrase using the salt and iterations from the auth data.\n * @param authData - The auth data containing the salt and iterations\n * @param passphrase - The passphrase to derive the key from\n * @deprecated Deriving a backup key from a passphrase is not part of the matrix spec. Instead, a random key is generated and stored/shared via 4S.\n */\nexport function keyFromAuthData(authData: IAuthData, passphrase: string): Promise<Uint8Array> {\n if (!authData.private_key_salt || !authData.private_key_iterations) {\n throw new Error(\"Salt and/or iterations not found: \" + \"this backup cannot be restored with a passphrase\");\n }\n\n return deriveRecoveryKeyFromPassphrase(\n passphrase,\n authData.private_key_salt,\n authData.private_key_iterations,\n authData.private_key_bits,\n );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,+BAA+B,QAAQ,wBAAwB;;AAExE;;AAOA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAACC,QAAmB,EAAEC,UAAkB,EAAuB;EAC1F,IAAI,CAACD,QAAQ,CAACE,gBAAgB,IAAI,CAACF,QAAQ,CAACG,sBAAsB,EAAE;IAChE,MAAM,IAAIC,KAAK,CAAC,oCAAoC,GAAG,kDAAkD,CAAC;EAC9G;EAEA,OAAON,+BAA+B,CAClCG,UAAU,EACVD,QAAQ,CAACE,gBAAgB,EACzBF,QAAQ,CAACG,sBAAsB,EAC/BH,QAAQ,CAACK,gBACb,CAAC;AACL","ignoreList":[]}
|
@@ -1,184 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Cross signing methods
|
3
|
-
*/
|
4
|
-
import type { PkSigning } from "@matrix-org/olm";
|
5
|
-
import { DeviceInfo } from "./deviceinfo.ts";
|
6
|
-
import { ISignedKey, MatrixClient } from "../client.ts";
|
7
|
-
import { OlmDevice } from "./OlmDevice.ts";
|
8
|
-
import { ICryptoCallbacks } from "./index.ts";
|
9
|
-
import { ISignatures } from "../@types/signed.ts";
|
10
|
-
import { CryptoStore } from "./store/base.ts";
|
11
|
-
import { ServerSideSecretStorage } from "../secret-storage.ts";
|
12
|
-
import { CrossSigningKeyInfo, DeviceVerificationStatus, UserVerificationStatus as UserTrustLevel } from "../crypto-api/index.ts";
|
13
|
-
export { UserTrustLevel };
|
14
|
-
export interface ICacheCallbacks {
|
15
|
-
getCrossSigningKeyCache?(type: string, expectedPublicKey?: string): Promise<Uint8Array | null>;
|
16
|
-
storeCrossSigningKeyCache?(type: string, key?: Uint8Array): Promise<void>;
|
17
|
-
}
|
18
|
-
export interface ICrossSigningInfo {
|
19
|
-
keys: Record<string, CrossSigningKeyInfo>;
|
20
|
-
firstUse: boolean;
|
21
|
-
crossSigningVerifiedBefore: boolean;
|
22
|
-
}
|
23
|
-
export declare class CrossSigningInfo {
|
24
|
-
readonly userId: string;
|
25
|
-
private callbacks;
|
26
|
-
private cacheCallbacks;
|
27
|
-
keys: Record<string, CrossSigningKeyInfo>;
|
28
|
-
firstUse: boolean;
|
29
|
-
private crossSigningVerifiedBefore;
|
30
|
-
/**
|
31
|
-
* Information about a user's cross-signing keys
|
32
|
-
*
|
33
|
-
* @param userId - the user that the information is about
|
34
|
-
* @param callbacks - Callbacks used to interact with the app
|
35
|
-
* Requires getCrossSigningKey and saveCrossSigningKeys
|
36
|
-
* @param cacheCallbacks - Callbacks used to interact with the cache
|
37
|
-
*/
|
38
|
-
constructor(userId: string, callbacks?: ICryptoCallbacks, cacheCallbacks?: ICacheCallbacks);
|
39
|
-
static fromStorage(obj: ICrossSigningInfo, userId: string): CrossSigningInfo;
|
40
|
-
toStorage(): ICrossSigningInfo;
|
41
|
-
/**
|
42
|
-
* Calls the app callback to ask for a private key
|
43
|
-
*
|
44
|
-
* @param type - The key type ("master", "self_signing", or "user_signing")
|
45
|
-
* @param expectedPubkey - The matching public key or undefined to use
|
46
|
-
* the stored public key for the given key type.
|
47
|
-
* @returns An array with [ public key, Olm.PkSigning ]
|
48
|
-
*/
|
49
|
-
getCrossSigningKey(type: string, expectedPubkey?: string): Promise<[string, PkSigning]>;
|
50
|
-
/**
|
51
|
-
* Check whether the private keys exist in secret storage.
|
52
|
-
* XXX: This could be static, be we often seem to have an instance when we
|
53
|
-
* want to know this anyway...
|
54
|
-
*
|
55
|
-
* @param secretStorage - The secret store using account data
|
56
|
-
* @returns map of key name to key info the secret is encrypted
|
57
|
-
* with, or null if it is not present or not encrypted with a trusted
|
58
|
-
* key
|
59
|
-
*/
|
60
|
-
isStoredInSecretStorage(secretStorage: ServerSideSecretStorage): Promise<Record<string, object> | null>;
|
61
|
-
/**
|
62
|
-
* Store private keys in secret storage for use by other devices. This is
|
63
|
-
* typically called in conjunction with the creation of new cross-signing
|
64
|
-
* keys.
|
65
|
-
*
|
66
|
-
* @param keys - The keys to store
|
67
|
-
* @param secretStorage - The secret store using account data
|
68
|
-
*/
|
69
|
-
static storeInSecretStorage(keys: Map<string, Uint8Array>, secretStorage: ServerSideSecretStorage): Promise<void>;
|
70
|
-
/**
|
71
|
-
* Get private keys from secret storage created by some other device. This
|
72
|
-
* also passes the private keys to the app-specific callback.
|
73
|
-
*
|
74
|
-
* @param type - The type of key to get. One of "master",
|
75
|
-
* "self_signing", or "user_signing".
|
76
|
-
* @param secretStorage - The secret store using account data
|
77
|
-
* @returns The private key
|
78
|
-
*/
|
79
|
-
static getFromSecretStorage(type: string, secretStorage: ServerSideSecretStorage): Promise<Uint8Array | null>;
|
80
|
-
/**
|
81
|
-
* Check whether the private keys exist in the local key cache.
|
82
|
-
*
|
83
|
-
* @param type - The type of key to get. One of "master",
|
84
|
-
* "self_signing", or "user_signing". Optional, will check all by default.
|
85
|
-
* @returns True if all keys are stored in the local cache.
|
86
|
-
*/
|
87
|
-
isStoredInKeyCache(type?: string): Promise<boolean>;
|
88
|
-
/**
|
89
|
-
* Get cross-signing private keys from the local cache.
|
90
|
-
*
|
91
|
-
* @returns A map from key type (string) to private key (Uint8Array)
|
92
|
-
*/
|
93
|
-
getCrossSigningKeysFromCache(): Promise<Map<string, Uint8Array>>;
|
94
|
-
/**
|
95
|
-
* Get the ID used to identify the user. This can also be used to test for
|
96
|
-
* the existence of a given key type.
|
97
|
-
*
|
98
|
-
* @param type - The type of key to get the ID of. One of "master",
|
99
|
-
* "self_signing", or "user_signing". Defaults to "master".
|
100
|
-
*
|
101
|
-
* @returns the ID
|
102
|
-
*/
|
103
|
-
getId(type?: string): string | null;
|
104
|
-
/**
|
105
|
-
* Create new cross-signing keys for the given key types. The public keys
|
106
|
-
* will be held in this class, while the private keys are passed off to the
|
107
|
-
* `saveCrossSigningKeys` application callback.
|
108
|
-
*
|
109
|
-
* @param level - The key types to reset
|
110
|
-
*/
|
111
|
-
resetKeys(level?: CrossSigningLevel): Promise<void>;
|
112
|
-
/**
|
113
|
-
* unsets the keys, used when another session has reset the keys, to disable cross-signing
|
114
|
-
*/
|
115
|
-
clearKeys(): void;
|
116
|
-
setKeys(keys: Record<string, CrossSigningKeyInfo>): void;
|
117
|
-
updateCrossSigningVerifiedBefore(isCrossSigningVerified: boolean): void;
|
118
|
-
signObject<T extends object>(data: T, type: string): Promise<T & {
|
119
|
-
signatures: ISignatures;
|
120
|
-
}>;
|
121
|
-
signUser(key: CrossSigningInfo): Promise<CrossSigningKeyInfo | undefined>;
|
122
|
-
signDevice(userId: string, device: DeviceInfo): Promise<ISignedKey | undefined>;
|
123
|
-
/**
|
124
|
-
* Check whether a given user is trusted.
|
125
|
-
*
|
126
|
-
* @param userCrossSigning - Cross signing info for user
|
127
|
-
*
|
128
|
-
* @returns
|
129
|
-
*/
|
130
|
-
checkUserTrust(userCrossSigning: CrossSigningInfo): UserTrustLevel;
|
131
|
-
/**
|
132
|
-
* Check whether a given device is trusted.
|
133
|
-
*
|
134
|
-
* @param userCrossSigning - Cross signing info for user
|
135
|
-
* @param device - The device to check
|
136
|
-
* @param localTrust - Whether the device is trusted locally
|
137
|
-
* @param trustCrossSignedDevices - Whether we trust cross signed devices
|
138
|
-
*
|
139
|
-
* @returns
|
140
|
-
*/
|
141
|
-
checkDeviceTrust(userCrossSigning: CrossSigningInfo, device: DeviceInfo, localTrust: boolean, trustCrossSignedDevices: boolean): DeviceTrustLevel;
|
142
|
-
/**
|
143
|
-
* @returns Cache callbacks
|
144
|
-
*/
|
145
|
-
getCacheCallbacks(): ICacheCallbacks;
|
146
|
-
}
|
147
|
-
export declare enum CrossSigningLevel {
|
148
|
-
MASTER = 4,
|
149
|
-
USER_SIGNING = 2,
|
150
|
-
SELF_SIGNING = 1
|
151
|
-
}
|
152
|
-
/**
|
153
|
-
* Represents the ways in which we trust a device.
|
154
|
-
*
|
155
|
-
* @deprecated Use {@link DeviceVerificationStatus}.
|
156
|
-
*/
|
157
|
-
export declare class DeviceTrustLevel extends DeviceVerificationStatus {
|
158
|
-
constructor(crossSigningVerified: boolean, tofu: boolean, localVerified: boolean, trustCrossSignedDevices: boolean, signedByOwner?: boolean);
|
159
|
-
static fromUserTrustLevel(userTrustLevel: UserTrustLevel, localVerified: boolean, trustCrossSignedDevices: boolean): DeviceTrustLevel;
|
160
|
-
/**
|
161
|
-
* @returns true if this device is verified via cross signing
|
162
|
-
*/
|
163
|
-
isCrossSigningVerified(): boolean;
|
164
|
-
/**
|
165
|
-
* @returns true if this device is verified locally
|
166
|
-
*/
|
167
|
-
isLocallyVerified(): boolean;
|
168
|
-
/**
|
169
|
-
* @returns true if this device is trusted from a user's key
|
170
|
-
* that is trusted on first use
|
171
|
-
*/
|
172
|
-
isTofu(): boolean;
|
173
|
-
}
|
174
|
-
export declare function createCryptoStoreCacheCallbacks(store: CryptoStore, olmDevice: OlmDevice): ICacheCallbacks;
|
175
|
-
export type KeysDuringVerification = [[string, PkSigning], [string, PkSigning], [string, PkSigning], void];
|
176
|
-
/**
|
177
|
-
* Request cross-signing keys from another device during verification.
|
178
|
-
*
|
179
|
-
* @param baseApis - base Matrix API interface
|
180
|
-
* @param userId - The user ID being verified
|
181
|
-
* @param deviceId - The device ID being verified
|
182
|
-
*/
|
183
|
-
export declare function requestKeysDuringVerification(baseApis: MatrixClient, userId: string, deviceId: string): Promise<KeysDuringVerification | void>;
|
184
|
-
//# sourceMappingURL=CrossSigning.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"CrossSigning.d.ts","sourceRoot":"","sources":["../../src/crypto/CrossSigning.ts"],"names":[],"mappings":"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"}
|