鉴权算法

直播的推送和播放采用同一套鉴权算法,推送和播放的鉴权开关需要分别设置(如何设置可参考设置鉴权)。

加密 URL 构成

协议://域名/业务名/流名?sign=失效时间戳-HashValue

CDN服务器拿到请求后,首先会判断请求中的失效时间戳是否小于当前时间,如果小于,则认为过期失效并返回HTTP 403错误。如果失效时间戳大于当前时间,则构造出一个同样的字符串(参考以下sstring构造方式)。然后MD5算法算出HashValue,再和请求中带来的HashValue进行比对。比对结果一致,则认为鉴权通过,返回文件。否则鉴权失败,返回HTTP 403错误。

HashValue是通过以下字符串计算出来的

sstring = "URI-Timestamp-PrivateKey" HashValue = md5sum(sstring) (说明:URI是用户请求对象的相对地址,Timestamp是失效时间戳,PrivateKey是鉴权KEY)

示例说明

1. 推流和播放地址分别为:

推流地址:

rtmp://push.live.example.com/live/stream123

播放地址:

http://flv.live.example.com/live/stream123.flv

2. 密钥设为:xylivecdn123privatekey (系统会默认生成,用户可以自行手工修改)

3. 链接失效时间为:2016年3月2日16:19:00,计算出来的失效时间戳为1456906740

4. 则构造的用于计算Hashvalue的字符串为:

推流:

/live/stream123-1456906740-xylivecdn123privatekey

播放:

/live/stream123-1456906740-xylivecdn123privatekey

5. 根据该签名字符串计算HashValue:

推流:

HashValue = md5("/live/stream123-1456906740-xylivecdn123privatekey”) = 11af21dbf928f01d5058c2652b02913d

播放:

HashValue = md5("/live/stream123-1456906740-xylivecdn123privatekey”) = 11af21dbf928f01d5058c2652b02913d

6. 请求的URL为:

推流:

rtmp://push.live.example.com/live/stream123?sign=1456906740-11af21dbf928f01d5058c2652b02913d

播放

http://flv.live.example.com/live/stream123.flv?sign=1456906740-11af21dbf928f01d5058c2652b02913d

注意:推流和播流地址需要分别进行鉴权签名计算,每一个签名都是严格按照URL计算的,故不可使用推流URL计算得到的签名应用到播流地址,同理每一个播流地址都会对应不同的鉴权计算结果

友情链接:迅雷|迅雷赚钱宝

Copyright © 2015-2017 xycdn.All Rights Reserved 深圳市网心科技有限公司版权所有 粤ICP备14008884号-6 深圳市市场监督管理局企业主体身份公示