eXosip_add_authentication_info(local_num, local_num,pwd, "md5", NULL)
客户端用这个方法加入鉴权信息之后,会生成一个response=“......”的键值对。
然后服务器端也生成一个response=“......”的键值对。与客户端生成的对比。
那么服务器端用什么方法生成authentication中的response=“......”的键值对?
------解决方案--------------------------------------------------------
eXosip_add_authentication_info()只是将权鉴信息交给协议栈缓存而已。
服务端怎样进行权鉴客户端是不用关心的。权鉴过程是客户端先发送一个挑战,
服务端返回401或407应答,在这个应答中会携带一些必要的信息。这些信息包括
权鉴加密算法、随机串等。客户端收到应答后,重新发起请求,请求中携带权鉴
报头,报头中的response字段是加密后的密文,是将服务端返回的信息加上密码
还有客户端生成的随机串等加在一起加密的。服务端收到请求后,首先取出客户
端的随机串,通过相同的加密算法,得出response字段,与请求中所携带的字段
比较,如果相同,则权鉴通过。eXosip中,eXosip_add_authentication_info()
添加权鉴信息后,协议栈是会自己完成上述流程的。