> Что это за STARTTLS и чем оно лучше otr? Жабер изначально не был шифрованый вообще, и поэтому в начале клиент и сервер могут начинать конект как обмен нешифроваными XMLками. А потом делают STARTTLS и поднимают TLS конект, чтобы не слать логин-пароль плейнтекстом.
Кроме всего прочего, многие клиенты жабы (а также ирки, и много чего еще) достаточно пофигистичны к тому какой серт подсовывает сервер и насколько это все вообще валидно. Апи в либах TLS и сам TLS - крайне неудачные штуки, более 9000 аспектов которые могут пойти не так и валидировать их все - лажа выходит.
OpenVPN например долго крякали просто сделав валидного клиента, ему выписывают сертификат, этот сертификат заводится на подставном сервере как сертификат СЕРВЕРА, а проверку типа сертификата на это поле - по дефолту оно дофига лет не делало, и любой клиент мог MITMать трафик всей толпы. Ведь его сертификат подписан правильной CA и валиден, а то что оно не сервера а клиента - так это ж где-то в закоулках апи и протокола. Ну и не чекалось по дефолту много лет.