So I just had a long chat with a non-Jabberite about the state of end-to-end encryption in the Jabber world. It's painful to have to explain yet again that, no, we don't have an agreed-upon technology for end-to-end encryption. Instead we have a hodgepodge of partially specified and implemented protocols:
JEP-0027 has been implemented in a few clients because some folks have OpenPGP keys and there are various OpenPGP libraries, but is not in wide use because, well, not many people have OpenPGP keys.
RFC 3923 has not been implemented at all because Jabber developers hate it -- it really does not conform to the tao of Jabber and it requires a library for parsing CPIM, yet none exist as far as I know.
JEP-0116 provides intriguing features like perfect forward secrecy and per-stanza repudiability (a la Off-the-Record Messaging) but there are no libraries for it -- such libraries will have to be built from scratch, thus impeding developer acceptance.
So I've started to look into a fourth option: XML signatures and XML encryption. These technologies have several advantages:
The downsides of using xmldsig and xmlenc are:
Further research required...