refactor key exchange
This commit is contained in:
parent
46c495f126
commit
edeb1b7c73
@ -46,7 +46,7 @@ io.on('connection', async (socket) => {
|
|||||||
console.log('A user connected');
|
console.log('A user connected');
|
||||||
const peers = await database.getPeers(session.publicKey);
|
const peers = await database.getPeers(session.publicKey);
|
||||||
peers.forEach(peer => {
|
peers.forEach(peer => {
|
||||||
socket.to(peer).emit('connected', session.publicKey);
|
socket.to(peer).emit('key exchange', session.publicKey, null, 0);
|
||||||
});
|
});
|
||||||
socket.on('disconnect', () => {
|
socket.on('disconnect', () => {
|
||||||
console.log('User disconnected');
|
console.log('User disconnected');
|
||||||
@ -60,11 +60,8 @@ io.on('connection', async (socket) => {
|
|||||||
console.log('message: ' + msg + ', sender: ' + session.id);
|
console.log('message: ' + msg + ', sender: ' + session.id);
|
||||||
console.log(session.publicKey);
|
console.log(session.publicKey);
|
||||||
});
|
});
|
||||||
socket.on('key exchange', (user_pubkey, pubkey) => {
|
socket.on('key exchange', (user_pubkey, pubkey, part) => {
|
||||||
socket.to(user_pubkey).emit('key exchange', session.publicKey, pubkey);
|
socket.to(user_pubkey).emit('key exchange', session.publicKey, pubkey, part);
|
||||||
});
|
|
||||||
socket.on('key exchange 2', (user_pubkey, pubkey) => {
|
|
||||||
socket.to(user_pubkey).emit('key exchange 2', session.publicKey, pubkey);
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -193,7 +193,7 @@ const database = {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const retryWithDelay = (operation, retries = 5, delay = 5000) => new Promise((resolve, reject) => {
|
const retryWithDelay = (operation, retries = 5, delay = 7500) => new Promise((resolve, reject) => {
|
||||||
return operation()
|
return operation()
|
||||||
.then(resolve)
|
.then(resolve)
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
|
@ -14,23 +14,26 @@ socket.on('chat message', (msg, room) => {
|
|||||||
window.scrollTo(0, document.body.scrollHeight);
|
window.scrollTo(0, document.body.scrollHeight);
|
||||||
});
|
});
|
||||||
|
|
||||||
socket.on('connected', (user_pubkey) => {
|
socket.on('key exchange', (user_pubkey, pubkey, part) => {
|
||||||
const keys = genKeys();
|
let keys = null;
|
||||||
secret = keys.privkey;
|
switch (part) {
|
||||||
socket.emit('key exchange', user_pubkey, toHexString(keys.pubkey));
|
case 0:
|
||||||
});
|
keys = genKeys();
|
||||||
|
secret = keys.privkey;
|
||||||
socket.on('key exchange', (user_pubkey, pubkey) => {
|
socket.emit('key exchange', user_pubkey, toHexString(keys.pubkey), 1);
|
||||||
const keys = genKeys();
|
break;
|
||||||
secret = keys.privkey
|
case 1:
|
||||||
sharedsecret[user_pubkey] = sharedKey(secret, fromHexString(pubkey));
|
keys = genKeys();
|
||||||
socket.emit('key exchange 2', user_pubkey, toHexString(keys.pubkey));
|
secret = keys.privkey
|
||||||
console.log(`shared secret: ${toHexString(sharedsecret[user_pubkey])}`);
|
sharedsecret[user_pubkey] = sharedKey(secret, fromHexString(pubkey));
|
||||||
});
|
socket.emit('key exchange', user_pubkey, toHexString(keys.pubkey), 2);
|
||||||
|
console.log(`shared secret: ${toHexString(sharedsecret[user_pubkey])}`);
|
||||||
socket.on('key exchange 2', (user_pubkey, pubkey) => {
|
break;
|
||||||
sharedsecret[user_pubkey] = sharedKey(secret, fromHexString(pubkey));
|
case 2:
|
||||||
console.log(`shared secret: ${toHexString(sharedsecret[user_pubkey])}`);
|
sharedsecret[user_pubkey] = sharedKey(secret, fromHexString(pubkey));
|
||||||
|
console.log(`shared secret: ${toHexString(sharedsecret[user_pubkey])}`);
|
||||||
|
break;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
export function create_listener(form, input) {
|
export function create_listener(form, input) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user