Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Adding functionality for End-to-End encrypted conversations #7181

Merged
merged 53 commits into from
Dec 16, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
832a813
Adding initial files
mrinaldhar Jun 7, 2017
8492023
Generating registration keys on device
mrinaldhar Jun 7, 2017
20fd64b
Adding ability to detect if device previously registered, code cleanup
mrinaldhar Jun 7, 2017
7c3df67
Changes made to confirm to ESLINT
mrinaldhar Jun 7, 2017
370a7db
Changes made to conform to ESLINT
mrinaldhar Jun 7, 2017
840273f
Merge branch 'develop' of https://github.com/mrinaldhar/Rocket.Chat i…
mrinaldhar Jun 7, 2017
d44b4e6
Updated flextab labels. Needs internationalization
mrinaldhar Jun 9, 2017
e93b67e
Defined datastructure for public keys in database, added method for u…
mrinaldhar Jun 9, 2017
1f66b1b
Enables clients to download each others keys from server
mrinaldhar Jun 9, 2017
569dbf7
Added code for signal session establishment
mrinaldhar Jun 9, 2017
b761361
Removing unnecessary code
mrinaldhar Jun 9, 2017
59524da
Ability to encrypt and decrypt messages, fixed session bug
mrinaldhar Jun 22, 2017
6e8c793
Online requirement removed from flextab
mrinaldhar Jul 12, 2017
7e8b2e4
Fixing eslint errors
mrinaldhar Jul 12, 2017
7a6ea25
adding libsignal to eslint ignore, fixing other eslint errors
mrinaldhar Jul 12, 2017
2d1067f
adding libsignal to eslint ignore, fixing other eslint errors
mrinaldhar Jul 12, 2017
b16c83e
Merge branch 'develop' of https://github.com/mrinaldhar/Rocket.Chat i…
mrinaldhar Jul 12, 2017
19323ea
Fixing issue with group chats
mrinaldhar Jul 18, 2017
83c819b
Encryption and decryption working on same client group messaging
mrinaldhar Jul 20, 2017
e49b1bd
fixed encoding of ciphertext
mrinaldhar Jul 20, 2017
a8fb726
Fetch group members public keys for pairwise group key encryption
mrinaldhar Jul 20, 2017
5141222
RSA asymmetric keys added to user model
mrinaldhar Jul 21, 2017
35f18b1
Make RSA key extractable
mrinaldhar Jul 21, 2017
5e01e83
Pairwise encrypt session key for everyone in group
mrinaldhar Jul 21, 2017
e5441d0
Successful group chat encryption
mrinaldhar Jul 21, 2017
8015987
Fixing ESLINT errors
mrinaldhar Jul 21, 2017
7374806
Fixing ESLINT errors
mrinaldhar Jul 21, 2017
2777c92
Merge branch 'develop' of https://github.com/mrinaldhar/Rocket.Chat i…
mrinaldhar Jul 21, 2017
3e1c6a1
Fetch existing group encryption key, do not generate new
mrinaldhar Jul 23, 2017
2cb3e8c
Add UI feature: Clear group key across all clients
mrinaldhar Jul 23, 2017
d923861
Merge branch 'develop' of https://github.com/RocketChat/Rocket.Chat i…
mrinaldhar Jul 23, 2017
5457cd2
Run init after checking user id
mrinaldhar Aug 10, 2017
2f3fde5
Fixed issues with group and direct message encryption
mrinaldhar Aug 13, 2017
b7d2dc8
Fixed issues with group and direct message encryption
mrinaldhar Aug 13, 2017
2d73a2d
Merge branch 'develop' of https://github.com/mrinaldhar/Rocket.Chat i…
mrinaldhar Aug 13, 2017
2565fb4
Decrypt encrypted messages from chat history
mrinaldhar Aug 13, 2017
142185a
Adding functionality for encrypted file uploads and downloads.
mrinaldhar Aug 26, 2017
dbb0c4f
Fixed some issues with file upload
mrinaldhar Aug 27, 2017
e5cd5eb
Minor UI fixes
mrinaldhar Aug 27, 2017
cfe2771
Added documentation where necessary
mrinaldhar Aug 27, 2017
23831af
Fixed ESLINT errors.
mrinaldhar Aug 27, 2017
612bb19
Merge branch 'develop' into develop
mrinaldhar Aug 28, 2017
913dbd6
Fixed ESLINT errors.
mrinaldhar Aug 27, 2017
5440c28
Merge branch 'develop' of https://github.com/mrinaldhar/Rocket.Chat i…
mrinaldhar Aug 28, 2017
f95ee73
Merge branch 'develop' of https://github.com/mrinaldhar/Rocket.Chat i…
mrinaldhar Aug 28, 2017
636363b
Merge branch 'develop' of https://github.com/mrinaldhar/Rocket.Chat i…
mrinaldhar Aug 28, 2017
55afde6
Merge branch 'develop' into develop
mrinaldhar Nov 24, 2017
6598573
Update packages
mrinaldhar Nov 24, 2017
629f50e
Merge branch 'develop' into develop
mrinaldhar Dec 5, 2017
7aafd32
Removing all signal related code and files. libsignal.js exempted fro…
mrinaldhar Dec 15, 2017
20c0eb9
Adding password based key generation
mrinaldhar Dec 16, 2017
4c5bab9
Implementation of password based public key protection complete
mrinaldhar Dec 16, 2017
2237f1d
Fixing ESLint errors
mrinaldhar Dec 16, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .meteor/packages
Original file line number Diff line number Diff line change
Expand Up @@ -176,3 +176,4 @@ steffo:meteor-accounts-saml
todda00:friendly-slugs
yasaricli:slugify
yasinuslu:blaze-meta
rocketchat:e2e
1 change: 1 addition & 0 deletions .meteor/versions
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,7 @@ rocketchat:[email protected]
rocketchat:[email protected]
rocketchat:[email protected]
rocketchat:[email protected]
rocketchat:[email protected]
rocketchat:[email protected]
rocketchat:[email protected]
rocketchat:[email protected]
Expand Down
48 changes: 48 additions & 0 deletions packages/rocketchat-e2e/client/helper.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
/* eslint-disable no-undef, new-cap */

/*
* vim: ts=4:sw=4
*/

RocketChat.signalUtils = (function() {
'use strict';

const StaticArrayBufferProto = new ArrayBuffer().__proto__;

return {
toString(thing) {
if (typeof thing === 'string') {
return thing;
}
return new dcodeIO.ByteBuffer.wrap(thing).toString('binary');
},
toArrayBuffer(thing) {
if (thing === undefined) {
return undefined;
}
if (thing === Object(thing)) {
if (thing.__proto__ === StaticArrayBufferProto) {
return thing;
}
}

if (typeof thing !== 'string') {
throw new Error(`Tried to convert a non-string of type ${ typeof thing } to an array buffer`);
}
return new dcodeIO.ByteBuffer.wrap(thing, 'binary').toArrayBuffer();
},
isEqual(a, b) {
// TODO: Special-case arraybuffers, etc
if (a === undefined || b === undefined) {
return false;
}
a = util.toString(a);
b = util.toString(b);
const maxLength = Math.max(a.length, b.length);
if (maxLength < 5) {
throw new Error('a/b compare too short');
}
return a.substring(0, Math.min(maxLength, a.length)) === b.substring(0, Math.min(maxLength, b.length));
}
};
}());
Loading