Форум » » Приобретение модуля для Huawei терминалов » Ответить

Приобретение модуля для Huawei терминалов

NZ: Коллеги! Может быть кто-то обладает рабочим модулем для Huawei ВКС терминалов ( Полнофункциональным) Готов рассмотреть сотрудничество в этом вопросе. )

Ответов - 48, стр: 1 2 3 All

Вячеслав: In addition, the SHA256 encryption algorithm must be used during login and authentication Одно только это навевает скуку. P.S. Нечто похожее (потому что http,sID,json) но без шифрования. Заняло 3 недели работы и отладки, при наличии оборудования. pdf c API плохого качества есть на yahoo click here это если совсем ничего не найдете.

NZ: У меня нет доступа к Яхее.. )

Вячеслав: Упомянутый API можно скачать тутclick here


BaDoS: Есть еще описания протокола для telnet, который вышел совсем недавно тут, и любимый всеми HTTP JSON тут

marin_n: через SSH? В доке указано что девайс его поддерживает. На Yahoo нашла модуль посылки команды в режиме SSH Login click here. Можно попробовать его - отправлять команды согласно документации

BaDoS: marin_n пишет: через SSH? В доке указано что девайс его поддерживает. А смысл заморачиваться с SSH, если есть всеми любимый telnet , а набор команд ничем не отличается? Если уже и копать то JSON, там больше параметров можно вытянуть и контролировать. Правда, такие модули писать надо уже на #.

Игорь K.: На сайте Huawei есть вся документация по интеграции. API описан хорошо и все работает, в моем случае вопросов к TE40 (telnet) нет.

marin_n: нашла тут пример реализации TELNET соединения с логином и паролем. Исходники открыты. Может кому интересно:WPS-DVR driver ну а для JSON разбора можно и Simpl+ пользовать и можно что-нибудь из этого собрать

Igor: marin_n пишет: На Yahoo нашла модуль посылки команды в режиме SSH Login click here. Не работает ваше ссылко :)

marin_n: Возьмите здесь: click here

Igor: marin_n, ага, есть, спасибо.

VIM: NZ есть готовый модуль. Вы пробовали попросить у самого Huawei?

BaDoS: VIM пишет: NZ есть готовый модуль. Вы пробовали попросить у самого Huawei? Я пробовал, но ответа так и не получил. Готовый модуль, который я так понимаю у вас есть, по какому протоколу работает?

gon3ales: Игорь K. пишет: На сайте Huawei есть вся документация по интеграции. API описан хорошо и все работает, в моем случае вопросов к TE40 (telnet) нет. Интересно, а как данное описание интерпретировать? Как хорошее или плохое? password: string consisting of 64 characters. The string is generated by encrypting the user name, password, and session ID using the SHA256 algorithm

Игорь K.: gon3ales, интерпретируйте как хотите. Это (...password...) не относится к теме управления терминалом

gon3ales: Игорь K. пишет: Это (...password...) не относится к теме управления терминалом Хм, без этого управления не будет (по api http, сессию не открыть...). Китайцы, одним словом...

Игорь K.: gon3ales, не нужно пытаться управлять кодеком по http.

gon3ales: Игорь K. пишет: gon3ales, не нужно пытаться управлять кодеком по http. Да с удовольствием бы, только функционала Telneta мало. Приходится

olegny: gon3ales пишет: password: string consisting of 64 characters. The string is generated by encrypting the user name, password, and session ID using the SHA256 algorithm Что там интерперетировать-то? Так сейчас всезде практически пароли передают по открытым каналам. Замешиваете последовательно "user name, password, and session ID" в хэш (SHA256) и получаете 64 шестнадцатиричных символа как результат (32 байта)

gon3ales: Все хорошо, только в симпле алгоритм хеширования руками придется писать

gon3ales: olegny пишет: password: string consisting of 64 characters. The string is generated by encrypting the user name, password, and session ID using the SHA256 algorithm Я может чего-то не понимаю, но где здесь сказано каким образом замешивать?

olegny: В simpl+ не знаю (скорее всего нет), а в S# он есть. SHA256 (как наверное и все хэши) устроен так, что "замешивать" туда данные можно постепенно, т.е. добавлять поочереди. Так и делайте.

Вячеслав: А что там двусторонний обмен ключами? Может просто внешним онлайн калькулятором разок "замешать" и строго настрого сказать, чтоб пароль потом не меняли.

olegny: Там же Session Id присутствует для того как раз, чтобы хэш не был всякий раз один и тот же. Иначе его можно было бы стырить точно так же, как и пароль. P.S. И нет, обмен там скорее всего отсутствует и сам трафик нешифрованный. Потому и такие заморочки с паролем, что надо его передать one-way encrypted.

gon3ales: olegny пишет: а в S# он есть. Какими функциями реализуется, если не секрет?

gon3ales: olegny пишет: SHA256 (как наверное и все хэши) устроен так, что "замешивать" туда данные можно постепенно, т.е. добавлять поочереди. Так и делайте. Вот пример от производителя пришел: /* The sha256_digest function is a JavaScript implementation of the SHA256 encryption algorithm. */ data. password = sha256_digest("api"+ ':' + "api" + ':' + sessionId); И сколько, интересно по времени я должен "замешивать" исходя из "хорошего" руководства??? Вопрос, риторический...

olegny: Ну или так. Так конечно проще с точки зрения применения алгоритма хэширования. Не понятно только зачем им понадобились двоеточия... Приколисты! )) Могли бы обойтись простой конкатенацией. Из примера правда не понятно какого типа собственно "password", т.е. возвращаемое значение sha256_digest. Что значит сколько "замешивать"? В смысле сколько по времени эта функция будет работать над результатом?

gon3ales: olegny пишет: Что значит сколько "замешивать"? В смысле сколько по времени эта функция будет работать над результатом? Методом перебора я должен найти эту волшебную комбинацию?)) "api"+ ':' + "api" + ':' + sessionId. В документации об этом не слова, это к качеству документации и таких косяков там хоть отбавляй...

Вячеслав: А что за api? Логично было бы login:password. SessionID уже отдельно после процедуры авторизации к каждой команде

DmitriiP: "api" у них судя из корявого примера и логин и пароль. data.user = "api"; //User name data.password = sha256_digest("api"+ ':' + "api" + ':' + sessionId); data.password = sha256_digest(login+':'+password+':'+sessionId);

gon3ales: В примере, выше было написано - User - api, pass - api

olegny: gon3ales пишет: Методом перебора я должен найти эту волшебную комбинацию?)) "api"+ ':' + "api" + ':' + sessionId. В документации об этом не слова, это к качеству документации и таких косяков там хоть отбавляй... Ничего не понимаю. Зачем что-то перебирать? Они написали как они это делают на стороне сервера и, соответственно, вы должны делать все точно также на клиенте. Иначе хэши не будут одинаковыми.

olegny: Вячеслав пишет: А что за api? Логично было бы login:password. SessionID уже отдельно после процедуры авторизации к каждой команде Я уже говорил, что SessionID (как переменная) нужен для того, чтобы хэши были разными каждый раз. Вообще, это все их самодеятельность, ибо есть стандарт для этого - PBKDF2

olegny: gon3ales пишет: Какими функциями реализуется, если не секрет? Посмотрите на класс: Crestron.SimplSharp.Cryptography.HMACSHA256 P.S. Похоже облом. HMAC это о другом. Чистого SHA256 не дано так, что... надо пожаловаться, чтобы добавили! ))

DmitriiP: как вариант попробуте SSMonoCryptographyLibrary.dll http://www.nivloc.com/downloads/crestron/SSharp/include4.dat%20=%202.07.012%20-%20Plugin%202.x/ если есть доступ к железке, то через wireshark запрос/ответ у вас на руках будет логин, пароль, номер сессии + их SHA256 хэш. дальше методом тыка придётся понять какой ххх256(хрень1) генерирует хрень2 идентичную нужной

olegny: DmitriiP пишет: у вас на руках будет логин, пароль, номер сессии Каким образом у вас будет пароль? Если бы они передавали его открыто, то зачем тогда нужен был бы хэш?!

DmitriiP: из всего что я написал вы обратили внимание вообще не на то :))) пароль и логин ненужны (они вроде как известны) из wireshark нужны sessionId и конечный SHA256 hash, чтоб понять какой из алгоритмов SHA у крестрона подходит.

olegny: Ну как написали, так и понял! )) Создалось впечатление, что вы не знаете ничего и хотите их хакнуть... ;) А кто посчитает этот самый хэш, который вы хотите увидеть wireshark-ом? Есть какой-то работающий клиент, который может общаться с терминалом? Насчет алгоритмов... оный указан явно и сомнению не подлежит, а вот с Крестроном сложнее. Как я уже написал выше - облом! У них в S# только SHA1 и HMAC-256. Ни то, ни другое не подходит... (( Надо требовать чтобы довавили!

DmitriiP: olegny пишет: Ну как написали, так и понял! )) Создалось впечатление, что вы не знаете ничего и хотите их хакнуть... ;) А кто посчитает этот самый хэш, который вы хотите увидеть wireshark-ом? Есть какой-то работающий клиент, который может общаться с терминалом? Насчет алгоритмов... оный указан явно и сомнению не подлежит, а вот с Крестроном сложнее. Как я уже написал выше - облом! У них в S# только SHA1 и HMAC-256. Ни то, ни другое не подходит... (( Надо требовать чтобы довавили! а я и незнаю ;) я эту железку никогда не видел. хакать нехочу, но еслиб понадобилось :)))) в документации пример на JavaScript . если нет (работающего клиента) никто не мешает использовать броузер. P.S. в SSMonoCryptographyLibrary поболе алгоритмов SHA ;)

olegny: DmitriiP пишет: P.S. в SSMonoCryptographyLibrary поболе алгоритмов SHA ;) Ну это все левые библитеки так, что на любителя! ;)

DmitriiP: тут 3 варианта 1) ждать веками, пока крестрон снизойдет 2) пользоватся тем что сделали "левые" программисты (зачастую его Моно порты работают стабильней встроенных) 3) брать RFC 4634 и пилить SHA256 самому P.S. я тоже не любитель сторонних библиотек.

olegny: DmitriiP пишет: тут 3 варианта 1) ждать веками, пока крестрон снизойдет Ну уж и веками! Я уже заслал запрос, но да, релизы include4 выходят редко... На CrestronLabs они появляются чаще кстати. 2) пользоватся тем что сделали "левые" программисты (зачастую его Моно порты работают стабильней встроенных) Не пробовал, не знаю, но слышал... )) 3) брать RFC 4634 и пилить SHA256 самому Ну уж и сразу RFC. Есть же opensource имплементации! На том же JavaScript. Тем более, что в данном топике упоминался Simpl+ так, что без вариантов особо...

BaDoS: Игорь K. пишет: На сайте Huawei есть вся документация по интеграции. API описан хорошо и все работает, в моем случае вопросов к TE40 (telnet) нет. Игорь, а не подскажете какой командой вы мониторите входящий вызов? Чтобы можно было получить информацию о событии (т.е. поступлении вызова) и информацию о вызывающем (имя, параметры). Я вроде всю доку перечитал телнетовским командам, но так ничего и не нашел

BaDoS: Подыму на всякий случай еще раз тему).

Игорь K.: Для вычисления порядка работы с кодеками Huawei я подсмотрел как это сделано Extron. Не было времени разбираться с документацией. Исходник на Python вышлю. (куда выслать?)

BaDoS: Игорь K. пишет: Для вычисления порядка работы с кодеками Huawei я подсмотрел как это сделано Extron. Не было времени разбираться с документацией. Исходник на Python вышлю. (куда выслать?) Скинул в ЛС почту. Ну порядок мне более-менее понятен. Я смотрел экстроновские модули, но не видел там сигналов о входящем вызове или имени входящего абонента. Может в исходнике что-нибудь и найду.

Игорь K.: Почта не работает, в ЛС листинг не залазит.

vtsay: Всем привет. Друзья, подскажите, как dtmf коды передать?



полная версия страницы