Fix compatibility issues with Android, mostly in Secret Storage
Replaced the old (simpler) SecretStore functions getSecret
and saveSecret
with more flexible but clunkier versions getSecretData
, getSecretString
and getSecretObject
and similar for saveSecret...
. Unfortunately this seems to be the most direct way to handle the way cross-signing keys are stored by other clients; they are Strings but not really JSON encoded with quotes or anything, just base64, then UTF8 and then encrypted.
Also fixed a spec-compliance / decoding bug in the room tag content struct.