CrossSigningService

Functions

Link copied to clipboard

Do we have all our private cross signing keys in storage?

Link copied to clipboard
abstract fun canCrossSign(): Boolean

Can we sign our other devices or other users?

Link copied to clipboard
abstract suspend fun checkDeviceTrust(otherUserId: String, otherDeviceId: String, locallyTrusted: Boolean?): DeviceTrustResult

Check if a device is trusted

Link copied to clipboard
abstract fun checkOtherMSKTrusted(myCrossSigningInfo: MXCrossSigningInfo?, otherInfo: MXCrossSigningInfo?): UserTrustResult
Link copied to clipboard
abstract fun checkSelfTrust(myCrossSigningInfo: MXCrossSigningInfo?, myDevices: List<CryptoDeviceInfo>?): UserTrustResult
Link copied to clipboard
abstract suspend fun checkTrustAndAffectedRoomShields(userIds: List<String>)
Link copied to clipboard
abstract suspend fun checkTrustFromPrivateKeys(masterKeyPrivateKey: String?, uskKeyPrivateKey: String?, sskPrivateKey: String?): UserTrustResult

Inject the private cross signing keys, likely from backup, into our store.

Link copied to clipboard
abstract suspend fun checkUserTrust(otherUserId: String): UserTrustResult

Will not force a download of the key, but will verify signatures trust chain. Checks that my trusted user key has signed the other user UserKey

Link copied to clipboard

Get our own private cross signing keys.

Link copied to clipboard
abstract suspend fun getMyCrossSigningKeys(): MXCrossSigningInfo?

Get our own public cross signing keys.

Link copied to clipboard
abstract suspend fun getUserCrossSigningKeys(otherUserId: String): MXCrossSigningInfo?

Get the public cross signing keys for the given user.

Link copied to clipboard
abstract suspend fun initializeCrossSigning(uiaInterceptor: UserInteractiveAuthInterceptor?)

Initialize cross signing for this user. Users needs to enter credentials

Link copied to clipboard

Does our own user have a valid cross signing identity uploaded.

Link copied to clipboard
abstract suspend fun isCrossSigningVerified(): Boolean

Is our published identity trusted.

Link copied to clipboard
abstract suspend fun isUserTrusted(otherUserId: String): Boolean
Link copied to clipboard
abstract suspend fun markMyMasterKeyAsTrusted()

Mark our own master key as trusted.

Link copied to clipboard
abstract suspend fun onSecretMSKGossip(mskPrivateKey: String)
Link copied to clipboard
abstract suspend fun onSecretSSKGossip(sskPrivateKey: String)
Link copied to clipboard
abstract suspend fun onSecretUSKGossip(uskPrivateKey: String)
Link copied to clipboard
abstract suspend fun shieldForGroup(userIds: List<String>): RoomEncryptionTrustLevel
Link copied to clipboard
abstract suspend fun trustDevice(deviceId: String)

Sign one of your devices and upload the signature.

Link copied to clipboard
abstract suspend fun trustUser(otherUserId: String)

Mark a user identity as trusted and sign and upload signatures of our user-signing key to the server.