mirror of
https://github.com/vector-im/element-web.git
synced 2024-11-16 05:04:57 +08:00
Enable sharing of master cross-signing key
We've realised it's beneficial to support sharing the master cross-singing key so that new devices can fully manage cross-signing on your account. Part of https://github.com/vector-im/element-web/issues/13896
This commit is contained in:
parent
0da31de5ad
commit
060f2cf54f
@ -132,24 +132,14 @@ const onSecretRequested = async function({
|
|||||||
if (name.startsWith("m.cross_signing")) {
|
if (name.startsWith("m.cross_signing")) {
|
||||||
const callbacks = client.getCrossSigningCacheCallbacks();
|
const callbacks = client.getCrossSigningCacheCallbacks();
|
||||||
if (!callbacks.getCrossSigningKeyCache) return;
|
if (!callbacks.getCrossSigningKeyCache) return;
|
||||||
/* Explicit enumeration here is deliberate – never share the master key! */
|
const keyId = name.replace("m.cross_signing.", "");
|
||||||
if (name === "m.cross_signing.self_signing") {
|
const key = await callbacks.getCrossSigningKeyCache(keyId);
|
||||||
const key = await callbacks.getCrossSigningKeyCache("self_signing");
|
if (!key) {
|
||||||
if (!key) {
|
console.log(
|
||||||
console.log(
|
`${keyId} requested by ${deviceId}, but not found in cache`,
|
||||||
`self_signing requested by ${deviceId}, but not found in cache`,
|
);
|
||||||
);
|
|
||||||
}
|
|
||||||
return key && encodeBase64(key);
|
|
||||||
} else if (name === "m.cross_signing.user_signing") {
|
|
||||||
const key = await callbacks.getCrossSigningKeyCache("user_signing");
|
|
||||||
if (!key) {
|
|
||||||
console.log(
|
|
||||||
`user_signing requested by ${deviceId}, but not found in cache`,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
return key && encodeBase64(key);
|
|
||||||
}
|
}
|
||||||
|
return key && encodeBase64(key);
|
||||||
} else if (name === "m.megolm_backup.v1") {
|
} else if (name === "m.megolm_backup.v1") {
|
||||||
const key = await client._crypto.getSessionBackupPrivateKey();
|
const key = await client._crypto.getSessionBackupPrivateKey();
|
||||||
if (!key) {
|
if (!key) {
|
||||||
|
Loading…
Reference in New Issue
Block a user