element-web: Broken cross signing state after RiotX crash during bootstrap
Yesterday, I tried to setup cross signing with the new version of RiotX from GPlay. It crashed while it said it was publishing keys or something similar. I sent in an Android crash report yesterday and a rageshake today when RiotX crashed again for another reason.
Since then, RiotX says that cross signing is active, Riot Web says it’s not. Riot Web offers to verify the session, but that fails, see below for details.
User nagua in the Polynomial Supporters seems to have the exact same problem. They logged out in RiotX, but that left Riot Web in the same state as before (asking for session verification), and there’s no client anymore with successfully active cross signing to do a verification.
What I tried:
- Go to sessions in RiotX and try to verify the Riot Web session there. I’m getting the emojis on both sides, and after accepting them, RiotX says the verification was successful, Riot Web says the other end cancelled the verification. The Riot Web session is not marked as verified on the RiotX side afterwards. From the Riot Web console:
Verification completed! Marking devices verified:
Array [ "zTohT5...", "BWS..." ]
vendors~init.js:2:950859
Checking key backup status... vendors~init.js:2:950859
Own device BWSIRVGACP marked verified: signing vendors~init.js:2:950859
Checking key backup status... vendors~init.js:2:950859
PUT /sendToDevice/m.key.verification.cancel/m1589005979529.23
Object { "@zottel:matrix.zottel.net": (1) […] }
vendors~init.js:2:950859
Verification failed TypeError: "First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object."
l https://vector.zottel.net/bundles/9f769ac7a648e2ec9507/vendors~init.js:2
l https://vector.zottel.net/bundles/9f769ac7a648e2ec9507/vendors~init.js:2
from https://vector.zottel.net/bundles/9f769ac7a648e2ec9507/vendors~init.js:2
y https://vector.zottel.net/bundles/9f769ac7a648e2ec9507/vendors~init.js:2
getFromSecretStorage https://vector.zottel.net/bundles/9f769ac7a648e2ec9507/vendors~init.js:2
vendors~init.js:2:950859
Ignoring signature from unknown key ed25519:KAN... vendors~init.js:2:950859
Ignoring signature from unknown key ed25519:LIK... vendors~init.js:2:950859
Ignoring signature from unknown key ed25519:ZZG... vendors~init.js:2:950859
Ignoring signature from unknown key ed25519:DRO... vendors~init.js:2:950859
Backup version 1 still current
- Verify session in Riot Web. I’m getting a dialog where I assume there should be some device I could ask for verification:
When I say I want to use the recovery passphrase, I’m asked to enter my account password:
If I do, I’m just presented with the same dialog again.
From the console:
Starting load of AsyncWrapper for modal vendors~init.js:2:950859
Ignoring signature from unknown key ed25519:KAN... vendors~init.js:2:950859
Ignoring signature from unknown key ed25519:LIK... vendors~init.js:2:950859
Ignoring signature from unknown key ed25519:ZZG... vendors~init.js:2:950859
Ignoring signature from unknown key ed25519:DRO... vendors~init.js:2:950859
Bootstrapping Secure Secret Storage vendors~init.js:2:950859
Secret storage default key not found, using key backup key vendors~init.js:2:950859
Starting load of AsyncWrapper for modal vendors~init.js:2:950859
restoreWithCachedKey failed: Error: "Couldn't get key"
restoreKeyBackupWithCache https://vector.zottel.net/bundles/9f769ac7a648e2ec9507/vendors~init.js:2
vendors~init.js:2:950859
Starting load of AsyncWrapper for modal
- Log in to a new session with Chromium: Before I can even see any rooms, I get the same dialog as above. When I enter my account password, the following happens:
The spinner never stops spinning. From the console:
Starting load of AsyncWrapper for modal
vendors~init.js:2 restoreWithCachedKey failed: Error: Couldn't get key
at I.restoreKeyBackupWithCache (vendors~init.js:2)
at async hc._restoreWithCachedKey (vendors~init.js:2)
at async hc._loadBackupStatus (vendors~init.js:2)
vendors~init.js:2 Starting load of AsyncWrapper for modal
vendors~init.js:2 Ignoring signature from unknown key ed25519:KAN...
vendors~init.js:2 Ignoring signature from unknown key ed25519:LIK...
vendors~init.js:2 Ignoring signature from unknown key ed25519:ZZG...
vendors~init.js:2 Ignoring signature from unknown key ed25519:DRO...
matrix.zottel.net/_matrix/client/unstable/keys/device_signing/upload:1 Failed to load resource: the server responded with a status of 401 (Unauthorized)
I can’t recover any encryption keys because I’m always told to upgrade my encryption.
- Manually verify the new Chromium session by text using RiotX. RiotX crashed again, I just sent a rageshake. Tried again, crashed again.
What can I do now?
Is there something I can do for you to get more information?
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Reactions: 3
- Comments: 16 (3 by maintainers)
Ah, yes, it worked! \o/ I had tried last Friday with Riot 1.6.5 before I opened the RiotX ticket, and it didn’t work, but now that I tried again (with Riot 1.6.6) I think I may have entered the wrong password on Friday. 😆
Thanks a lot, I’ll close the ticket.
I tried to initialize cross signing again with the newest Riot-web version and I was indeed able to initialize it. I was also able to cross-sign all my devices. So it seems that the problem is now at least solved for me.
I’ve created https://github.com/vector-im/riotX-android/issues/1509 now, hoping that the nuke button will be implemented in RiotX, too.
You can hit “Reset cross-signing and secret storage” under “Security and Privacy” in the settings. Note that this will clear all your previous verifications, if you had any.