From baf6695a812ab78aadf315986970e9aa3de7c712 Mon Sep 17 00:00:00 2001
From: Marvin Borner
Date: Thu, 24 Jan 2019 21:55:46 +0100
Subject: Overworked encrypting (only works on first load)
---
public/scripts/chat.js | 31 ++++++++++++++-----------------
1 file changed, 14 insertions(+), 17 deletions(-)
(limited to 'public/scripts/chat.js')
diff --git a/public/scripts/chat.js b/public/scripts/chat.js
index ec27a11..6c5271e 100644
--- a/public/scripts/chat.js
+++ b/public/scripts/chat.js
@@ -8,7 +8,7 @@ const peerId = nanoid();
// setup encryption
if (encryption.setup() && encryption.check()) {
- // TODO: Ask for password
+ // TODO: Ask for passphrase
chat();
} else {
console.log('[LOG] No existing keys found! Generating...');
@@ -23,8 +23,9 @@ function chat() {
peer.on('error', err => console.error(err));
peer.on('connection', conn => {
connectedPeer = conn;
- console.log('[LOG] Connected with', conn.peer);
- conn.on('data', message => receivedMessage(message));
+ console.log('[LOG] Connected with', connectedPeer.peer);
+ connectedPeer.on('open', () => transferKey(encryption.getPublic()));
+ connectedPeer.on('data', message => receivedMessage(message));
});
/**
@@ -36,13 +37,8 @@ function chat() {
console.log('[LOG] Connecting to', id);
console.log('[LOG] Your connection ID is', connectionId);
connectedPeer = peer.connect(id, {label: connectionId, reliable: true});
-
- // setup listener
- connectedPeer.on('open', () => {
- // TODO: Activate chat or sth
- transferKey(encryption.getPublic());
- });
-
+ console.log('[LOG] Connected with', connectedPeer.peer);
+ connectedPeer.on('open', () => transferKey(encryption.getPublic()));
connectedPeer.on('data', message => receivedMessage(message))
}
@@ -52,8 +48,10 @@ function chat() {
*/
function sendMessage(message) {
console.log(`[LOG] Sending message ${message} to ${connectedPeer.peer}`);
- connectedPeer.send({type: 'text', data: message});
- receivedMessage(message, true);
+ encryption.encrypt(message, encryption.get(connectedPeer.peer)).then(encrypted => {
+ connectedPeer.send({type: 'text', data: encrypted});
+ receivedMessage(message, true);
+ })
}
/**
@@ -74,11 +72,10 @@ function chat() {
if (self) {
$('#messages').append(`${message}
`);
} else {
- if (message.type === 'text')
- $('#messages').append(`${message.data}
`);
- else if (message.type === 'key') {
- console.log(connectedPeer.peer);
- console.log(peer.connections);
+ if (message.type === 'text') {
+ encryption.decrypt(message.data, encryption.get(connectedPeer.peer), encryption.getPrivate(), 'supersecure')
+ .then(plaintext => $('#messages').append(`${plaintext}
`));
+ } else if (message.type === 'key') {
encryption.store(connectedPeer.peer, message.data)
}
}
--
cgit v1.2.3