Подскажите пожайлуста, как происходит весь процесс авторизации в Jabber. Ниже привожу текст обмена данными между клиентом и сервером. Я так понимаю алгоритм шифрования MD5. Так вот, каким образом формируются 3 ключа представленные ниже? Нет ли у кого уже готового исходника на ассемблере (или на С) который бы формировал эти ключи? Зараннее спасибо. Код (Text): <stream:stream to="jtalk.ru" xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" xml:lang="ru" version="1.0" /> <stream:features> <starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls" /> <mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"> <mechanism>DIGEST-MD5</mechanism> <mechanism>PLAIN</mechanism> </mechanisms> <register xmlns="http://jabber.org/features/iq-register" /> </stream:features> <auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="DIGEST-MD5" /> <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">bm9uY2U9IjEwMDEwMTA4NSIscW9wPSJhdXRoIixjaGFyc2V0PXV0Zi04LGFsZ29yaXRobT1tZDUtc2Vzcw==</challenge> <response xmlns="urn:ietf:params:xml:ns:xmpp-sasl">dXNlcm5hbWU9ImpvcmdvIixyZWFsbT0iIixub25jZT0iMTAwMTAxMDg1Iixjbm9uY2U9IjYyNDU2NzE0MGZlY2M0MDE2M2ZlZDNjNDVhOTU5YTdjIixuYz0wMDAwMDAwMSxxb3A9YXV0aCxkaWdlc3QtdXJpPSJ4bXBwL2p0YWxrLnJ1IixjaGFyc2V0PXV0Zi04LHJlc3BvbnNlPTY5MzExYjUzYjY2ZjFlMWYwMTNmZmNlN2ZlMjgwNjI2</response> <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD1kNTFkOTI1N2NjMDBjODczYzQzOTk1NzE1ZjdmYjY4Mg==</challenge> <response xmlns="urn:ietf:params:xml:ns:xmpp-sasl" /> <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl" />
Протокол XMPP (Jabber) является полностью открытым. Для него куча всякой документации, а также куча OpenSource клиентов. Фот глянь например это : http://xmpp.org/rfcs/rfc3921.html
Какой-нибудь MD5 от конекта соли и пароля... вот смотри что у тебя под mime кодами висит: nonce="100101085",qop="auth",charset=utf-8,algorithm=md5-sess username="jorgo",realm="",nonce="100101085",cnonce="624567140fecc40163fed3c45a959a7c",nc=00000001,qop=auth,digest-uri="xmpp/jtalk.ru",charset=utf-8,response=69311b53b66f1e1f013ffce7fe280626 rspauth=d51d9257cc00c873c43995715f7fb682 Если бы пароль свой дал, угадать механизм наверное можно было бы секунд за 10 =)
Хотя поля такие я в IP телефонии видел: Пакостная вещь. В принципе ничего сложно. Но пока правильный результат нарисовать сможешь, очень много нервов испортишь....
и вообще вот готовый клиент, почти с первой ссылкы: http://www.delphikingdom.com/asp/viewitem.asp?catalogid=1391&mode=print