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

XEP-0384: OMEMO Encryption [$40 awarded] #497

Closed
muzirian-zz opened this issue Oct 6, 2015 · 37 comments
Closed

XEP-0384: OMEMO Encryption [$40 awarded] #497

muzirian-zz opened this issue Oct 6, 2015 · 37 comments

Comments

@muzirian-zz
Copy link

muzirian-zz commented Oct 6, 2015

Request for adding support for omemo encryption http://conversations.im/xeps/multi-end.html

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.


The $40 bounty on this issue has been claimed at Bountysource.

@jcbrand jcbrand added the Feature label Oct 7, 2015
@jcbrand jcbrand changed the title feature request for omemo XEP-xxxx: OMEMO Encryption Oct 7, 2015
@lovetox
Copy link

lovetox commented Jan 13, 2016

would be great getting this !

@tristan-k
Copy link

+1

@devdan
Copy link

devdan commented Jan 18, 2016

I am very interested in this, too.

@nick4me
Copy link

nick4me commented Jan 18, 2016

I'm also very interested. That's really a great feature.

@rasos
Copy link

rasos commented May 29, 2016

+1
would fit perfectly with the Conversations Android App, which also supports omemo

@GreenLunar
Copy link
Contributor

See also OMEMO.js at cryptocat/cryptocat#178

@herbsmn
Copy link

herbsmn commented Sep 9, 2016

What are the blockers you have that are preventing implimentation of OMEMO?

@jcbrand
Copy link
Member

jcbrand commented Sep 9, 2016

@herbsmn I currently don't have the time for it.

@3615pipou
Copy link

The XEP is now release http://xmpp.org/extensions/xep-0384.html

@jcbrand jcbrand changed the title XEP-xxxx: OMEMO Encryption XEP-0384: OMEMO Encryption Feb 14, 2017
@jcbrand
Copy link
Member

jcbrand commented Feb 14, 2017

There is a pending GSOC Proposal for this feature.

@ignatdoc
Copy link

Maybe someone want to implement OMEMO support for bounty ? We can discuss )

@jcbrand
Copy link
Member

jcbrand commented Jun 27, 2017

Unfortunately converse.js didn't get any GSOC students this year.

There were three applications, but none of them made the cut. The decision was made by the XSF foundation and myself. What also played a role was that I wasn't able to find a backup mentor to help me this year.

This means that there's nobody working on OMEMO currently.

@ignatdoc Why don't you simply post a bounty on bountysource? The link is in the ticket description. The money doesn't get subtracted unless and until this ticket gets closed.

This applies to anyone else who wants to see this ticket move forward.

@plambe
Copy link

plambe commented Mar 20, 2018

jsxc has a new OMEMO plugin:
https://github.com/jsxc/jsxc-plugin-omemo

I hope this helps since it's written in javascript.

@Mrfuyu
Copy link

Mrfuyu commented Mar 27, 2018

Conversations now is encrypting with OMEMO by default, what can break communication. Would be nice to have this now also in Converse.js !

jcbrand added a commit that referenced this issue May 11, 2018
Initial work on adding OMEMO support
jcbrand added a commit that referenced this issue May 11, 2018
Initial work on adding OMEMO support
jcbrand added a commit that referenced this issue May 11, 2018
Initial work on adding OMEMO support
jcbrand added a commit that referenced this issue May 12, 2018
Initial work on adding OMEMO support
jcbrand added a commit that referenced this issue May 12, 2018
Various fixes to code checking for server and contact client support
jcbrand added a commit that referenced this issue May 12, 2018
Initial work on adding OMEMO support
jcbrand added a commit that referenced this issue May 12, 2018
Various fixes to code checking for server and contact client support
jcbrand added a commit that referenced this issue May 12, 2018
Add 3rd party dependencies

updates #497
jcbrand added a commit that referenced this issue May 12, 2018
jcbrand added a commit that referenced this issue May 12, 2018
Initial work on adding OMEMO support
jcbrand added a commit that referenced this issue May 12, 2018
Various fixes to code checking for server and contact client support
jcbrand added a commit that referenced this issue Aug 24, 2018
jcbrand added a commit that referenced this issue Aug 24, 2018
jcbrand added a commit that referenced this issue Aug 27, 2018
When receiving a PreKeySignalMessage, then a prekey has been chosen and
should now be removed from the list of available prekeys in the bundle,
so that a different device doesn't choose it as well.

AFAICT, libsignal removes the prekey, so it's then up to us to
regenerate it and republish our bundle.

updates #497
jcbrand added a commit that referenced this issue Aug 27, 2018
@jcbrand
Copy link
Member

jcbrand commented Aug 31, 2018

OMEMO support has been added. Tested with Conversations.

@muppeth
Copy link

muppeth commented Sep 1, 2018

how do you enable it?

@jcbrand
Copy link
Member

jcbrand commented Sep 2, 2018

how do you enable it?

libsignal needs to be loaded and available. Then you will see a lock icon in the chat toolbar.

@genofire
Copy link
Contributor

genofire commented Sep 8, 2018

okay got it, just do a wget "https://raw.githubusercontent.com/signalapp/libsignal-protocol-javascript/master/dist/libsignal-protocol.js" and include it by adding <script src="/static/libsignal-protocol.js"></script> in html file. ;)

Is there any way of qrcode to scan for Conversations and co?

@MatthiasKauer
Copy link

I wanted to try OMEMO from https://inverse.chat/ or https://conversejs.org/.
I can't find the "lock" you mention above there, however.
Looking at the page source, I find:
<script src="3rdparty/libsignal-protocol-javascript/dist/libsignal-protocol.js"></script>
Unfortunately, that file gives me a 404.
Is there a problem with that link or am I just missing something?

@jcbrand
Copy link
Member

jcbrand commented Sep 20, 2018

@MatthiasKauer Should be fixed now, thanks for reporting.

@MaggusK
Copy link

MaggusK commented Oct 23, 2018

@MatthiasKauer Should be fixed now, thanks for reporting.

sounds easy, but sorry, I could not find any lock icon, neither at https://inverse.chat/ nor at https://conversejs.org/ although libsignal is included and available.
(I use firefox 60.1.0esr (64-bit) on RHEL 6.10)

@MatthiasKauer
Copy link

MatthiasKauer commented Oct 23, 2018 via email

@MaggusK
Copy link

MaggusK commented Oct 23, 2018

It's fixed as far as I can tell. I happily used inverse.chat yesterday.
@MatthiasKauer:
I'm really pleased for you. Could you please tell me how to use omemo on this sites? As you can see on the screenshot there is nothing like a lock icon :(
screenshot-inverse chat-2018-10-23-12-02-25

@MaggusK
Copy link

MaggusK commented Oct 23, 2018

obviously OMEMO encryption is only supported for XMPP IDs of the same server. I created a new conversejs ID and with this encryption works on conversejs.org. But also the conversejs ID does not work on inverse.chat as all my other IDs don't.
Is there anybody who can explain this?

@jcbrand
Copy link
Member

jcbrand commented Oct 23, 2018

obviously OMEMO encryption is only supported for XMPP IDs of the same server.

No, this is not true. OMEMO encryption is client-based and largely independent of the server (as long as it is modern enough to implement PEP).

I created a new conversejs ID and with this encryption works on conversejs.org. But also the conversejs ID does not work on inverse.chat as all my other IDs don't.

Both users need to use an OMEMO compliant client. What did the other user use?

@MaggusK
Copy link

MaggusK commented Oct 23, 2018

Both users need to use an OMEMO compliant client. What did the other user use?

I always chat with the same other jabber.de user that is using conversations. If I log in with my new conversejs.org ID it works.
So, is there an explanation, why, if I log in with my jabber.de ID I can not send encypted messages to the same user with the same client?
I also tried to logout / login again, even to remove / add contact again.

As you can see on the screenshot above it also doesn't decrypt the received OMEMO encrypted messages from conversations.

@jcbrand
Copy link
Member

jcbrand commented Oct 23, 2018

@MaggusK I don't know. Maybe you have old cached JavaScript files? Clear your cache and then check again.

@MaggusK
Copy link

MaggusK commented Oct 23, 2018

@jcbrand : I found out, there is also a jabber webchat at https://chat.jabber.de/ (using conversejs).
If I login with my jabber.de ID I can see the lock icon there, but an error occurs while sending a message: "Sorry, could not send the message due to an error. bundle is undefined". Unencryptet messages can be delivered. What ever this could be?! Seems there is a problem with the jabber ID.
Maybe this is also the reason, why the file adding icon isn't appearing.

@NicoHood
Copy link

NicoHood commented Dec 1, 2018

How do I enable omemo in converse? Every message is unencrypted for me.

Edit: I used an untrusted device as option. But with a trusted device it still does not work in a group channel. Why?

@licaon-kter
Copy link
Contributor

@NicoHood Not for groups yet.

Just 1:1 for now.

@NicoHood
Copy link

NicoHood commented Dec 1, 2018

But then this list ist wrong:
http://omemo.top/

@orbitz
Copy link

orbitz commented Jun 8, 2019

Is there any plan for converse.js to support group chat and OMEMO?

@Neustradamus
Copy link

@jcbrand: OMEMO works in groups if all users have OMEMO keys of all users in the group.

Can you look it?

@jcbrand jcbrand changed the title XEP-0384: OMEMO Encryption XEP-0384: OMEMO Encryption [$40 awarded] May 2, 2022
@jcbrand jcbrand added the bounty label May 2, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests