Revert "simplify key generation and remember user's additional keys"
This reverts commit 75786ff9ffc5d059444645dfb6987a2b5e92c03a.
This commit is contained in:
parent
fefe444501
commit
d232a5a83e
@ -254,25 +254,32 @@ define([
|
|||||||
// 16 bytes for a deterministic channel key
|
// 16 bytes for a deterministic channel key
|
||||||
var channelSeed = dispense(16);
|
var channelSeed = dispense(16);
|
||||||
// 32 bytes for a curve key
|
// 32 bytes for a curve key
|
||||||
var curveSeed = opt.curveSeed = dispense(32);
|
var curveSeed = dispense(32);
|
||||||
// 32 more for a signing key
|
// 32 more for a signing key
|
||||||
var edSeed = opt.edSeed = dispense(32);
|
var edSeed = dispense(32);
|
||||||
|
|
||||||
// 32 bytes of hex
|
|
||||||
var channelKey = opt.channel = Cryptpad.uint8ArrayToHex(channelSeed);
|
|
||||||
|
|
||||||
// a bit of a dirty hack to get the same output as we are used to
|
|
||||||
var keys = opt.keys = Crypto.createEditCryptor(null, encryptionSeed);
|
var keys = opt.keys = Crypto.createEditCryptor(null, encryptionSeed);
|
||||||
|
|
||||||
var editHash = opt.editHash = Cryptpad.getEditHashFromKeys(channelKey, keys);
|
// 24 bytes of base64
|
||||||
var secret = Cryptpad.getSecrets(editHash);
|
keys.editKeyStr = keys.editKeyStr.replace(/\//g, '-');
|
||||||
|
|
||||||
|
// 32 bytes of hex
|
||||||
|
opt.channel = Cryptpad.uint8ArrayToHex(channelSeed);
|
||||||
|
|
||||||
|
var channelHex = opt.channel;
|
||||||
|
|
||||||
|
if (channelHex.length !== 32) { throw new Error('invalid channel id'); }
|
||||||
|
|
||||||
|
var channel64 = opt.channel64 = Cryptpad.hexToBase64(channelHex);
|
||||||
|
|
||||||
|
opt.editHash = Cryptpad.getEditHashFromKeys(channelHex, keys.editKeyStr);
|
||||||
|
|
||||||
var config = {
|
var config = {
|
||||||
websocketURL: Cryptpad.getWebsocketURL(),
|
websocketURL: Cryptpad.getWebsocketURL(),
|
||||||
channel: channelKey,
|
channel: channelHex,
|
||||||
data: {},
|
data: {},
|
||||||
validateKey: secret.keys.validateKeys, // derived validation key
|
validateKey: keys.validateKey, // derived validation key
|
||||||
crypto: Crypto.createEncryptor(secret.keys),
|
crypto: Crypto.createEncryptor(opt.keys),
|
||||||
};
|
};
|
||||||
|
|
||||||
var rt = APP.rt = Listmap.create(config);
|
var rt = APP.rt = Listmap.create(config);
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user