CrossSigningService

interface CrossSigningService

Functions

Link copied to clipboard
abstract fun allPrivateKeysKnown(): Boolean

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
abstract suspend fun getCrossSigningPrivateKeys(): PrivateKeysInfo?

Get our own private cross signing keys.

Link copied to clipboard
abstract fun getLiveCrossSigningKeys(userId: String): LiveData<Optional<MXCrossSigningInfo>>
Link copied to clipboard
abstract fun getLiveCrossSigningPrivateKeys(): LiveData<Optional<PrivateKeysInfo>>
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
open suspend fun isCrossSigningInitialized(): Boolean

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.