RocketChat / Rocket.Chat

The communications platform that puts data protection first.
https://rocket.chat/
Other
40.4k stars 10.51k forks source link

e2e password enter fails on chrome and client app #15035

Closed odi117 closed 4 years ago

odi117 commented 5 years ago

Description:

On the chrome browser and the Rocket Chat client app, with a valid user and encryption password, entering the encryption password to decode client key fails. For a new user, attempting to save their encryption password fails. Every subsequent login, a new encryption key is generated but it never saves. Posting this here since it effects the browser and client app

Steps to reproduce:

  1. Server administration, E2E encryption - set Enabled to "True"
  2. Create a new user
  3. Using Chrome on Windows, login to the web HTTP interface and attempt to save the encryption key.
  4. Observe the error generated in the chrome console.
  5. Using a firefox browser, login to this new user and save the encryption key.
  6. Log out of the user session, and login again. Attempt to enter the encryption key and observe the different error message in the browser console.

Expected behavior:

Expect that if the user has a valid key that has been saved previously, that it's possible to enter this key without receiving an error. Expected that a new user is able to save the client encryption password, and upon next login to be prompted to enter the existing key rather than to save a new key.

Actual behavior:

Actual behavior is when using chrome and entering an existing client password (confirmed working on firefox) - this message appears "Wasn’t able to decode your encryption key to be imported. Your encryption password seems wrong. Click here to try again." Also for a new user that hasn't previously saved the encryption key, attempting to save the key appears to work, but upon next login the user is prompted to save a new key rather than enter the existing key.

Server Setup Information:

Additional context

Chrome 75.0.3770.142 Windows 10 1903 Firefox 68.0.1 Client app 2.15.3

Relevant logs:

When attempting to enter the valid encryption key, this browser error is generated: E2E -> Error creating a key based on user password: TypeError: Cannot read property 'importKey' of undefined at _ (b5d9a0a....s?meteor_js_resource=true:281) at P.getMasterKey (b5d9a0a....s?meteor_js_resource=true:281) at P.decodePrivateKey (b5d9a0a....s?meteor_js_resource=true:281) at async P.startClient (b5d9a0a....s?meteor_js_resource=true:281)

When attempting to save the encryption key of a new user, this browser error is generated: b5d9a0a....s?meteor_js_resource=true:281 E2E -> Error generating key: TypeError: Cannot read property 'generateKey' of undefined at h (b5d9a0a....s?meteor_js_resource=true:281) at P.createAndLoadKeys (b5d9a0a....s?meteor_js_resource=true:281) at P.startClient (b5d9a0a....s?meteor_js_resource=true:281) createAndLoadKeys @ b5d9a0a....s?meteor_js_resource=true:281 b5d9a0a....s?meteor_jsresource=true:281 E2E -> Error creating a key based on user password: TypeError: Cannot read property 'importKey' of undefined at (b5d9a0a....s?meteor_js_resource=true:281) at P.getMasterKey (b5d9a0a....s?meteor_js_resource=true:281) at P.encodePrivateKey (b5d9a0a....s?meteor_js_resource=true:281) at P.startClient (b5d9a0a....s?meteor_js_resource=true:281) getMasterKey @ b5d9a0a....s?meteor_js_resource=true:281 b5d9a0a....s?meteor_js_resource=true:281 E2E -> Error encrypting encodedPrivateKey: Error: Tried to convert a non-string of type object to an array buffer at s (b5d9a0a....s_resource=true:281) at P.encodePrivateKey (b5d9a0a....s_resource=true:281) at async P.startClient (b5d9a0a....s_resource=true:281)

kryvicz commented 5 years ago

I have the same issue.

Platform: CentOS 7.6.1810
Rocket.Chat Version: 1.3.2
NodeJS Version: 8.11.4 - x64
MongoDB Version: 4.0.12

Rocket.Chat Windows Client 2.15.3

And additionally I cannot write messages in an encrypted channel: webview: E2E -> Initiating handshake webview.js:52 webview: E2E -> Creating room key webview.js:52 webview: E2E -> Error generating group key: webview.js:52 webview: E2E -> Error encrypting message:

Freebien commented 4 years ago

Hi, got the same issue, HTTP doesn't work with E2E (doesn't really know why).

You have to use https for it to work properly !

github-actions[bot] commented 4 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

dkudrin commented 3 years ago

Same +1 Ubuntu Chrome E2E -> Stop Client http

DragonQuestHero commented 3 years ago

Same +1 http