exosip鑑權及使用

剛剛調試成功exosip鑑權,現在總結下。

1.sip註冊。流程:首先客戶端發送註冊包不帶鑑權信息,服務器探測到不帶鑑權信息的register包會回覆401,後客戶端回覆帶鑑權信息的註冊包,服務器驗證密碼和賬號,通過就返回200成功包,不通過返回403訪問拒絕。

客戶端註冊方法:eXosip_register_build_initial_register,eXosip_register_send_register兩個函數即可發送第一次註冊包。後eXosip_event_wait檢測事件,會檢測到註冊失敗且狀態號爲401的事件,調用eXosip_add_authentication_info,eXosip_register_build_register,eXosip_register_send_register三個函數即可。也可以先eXosip_add_authentication_info,後在eXosip_event_wait後調用eXosip_automatic_refresh()即可自動處理併發送帶鑑權的數據包。

重點是服務器端:當收到鑑權包後,需要對鑑權數據和服務器端數據進行比對。服務器端自動生成隨機nonce字段,realm字段發送給客戶端,客戶端根據這些字段把nonce, realm, 用戶名,密碼一起通過MD5加密並放到response字段發送給服務器。服務器端根據客戶端事先註冊的用戶密碼,之前發給客戶端的nonce, realm生成MD5,與客戶端發來的的MD5進行比較,一樣則鑑權通過,返回200 ok包,不一樣返回403拒絕包。幾個有關服務器端生成md5的鏈接希望能幫到大家。點擊打開鏈接, 點擊打開鏈接, 點擊打開鏈接


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章