七牛云存储 - 七牛php SDK 如何对HLS进行加密?
参考如下,hlsKey
为base64_urlsafe,这个好理解,但是hlsKeyUrl
是什么呢?PHP怎么生成以RSA的OAEP加密方式的hlsKeyType
呢?
http://developer.qiniu.com/docs/v6/api/reference/fop/av/segtime.html
hls加密
hls加密是利用AES-128位对每个ts文件进行加密,播放器在取得PlayList文件的时候,会根据里面的#EXT-X-KEY标签请求获得解密的URL,再请求解密秘钥,之后会用秘钥对获取的ts文件解密。用户可以对秘钥的URL做cookie验证等方法来对用户做认证。 例子:PlayList文件 (复制链接,查看文件内容或直接用vlc播放器播放)
参数解释:
hlsKey
base64_urlsafe编码或加密过后的秘钥hlsKeyUrl
指定了秘钥放置的url,经过base64_urlsafe编码,这是生成m3u8 PlayList会使用到的hlsKeyType
指定了传送秘钥的方式
- 不指定或者指定为0,则仅仅是以base64_urlsafe编码的方式传送
- 指定为1.x(1.0, 1.1, …),以RSA的OAEP加密方式,再以编码传送秘钥,x表示秘钥的版本
- 公钥:1.0
回复内容:
使用的是PHP的SDK,请问如何对视频进行HLS加密处理?
参考如下,hlsKey
为base64_urlsafe,这个好理解,但是hlsKeyUrl
是什么呢?PHP怎么生成以RSA的OAEP加密方式的hlsKeyType
呢?
http://developer.qiniu.com/docs/v6/api/reference/fop/av/segtime.html
hls加密
hls加密是利用AES-128位对每个ts文件进行加密,播放器在取得PlayList文件的时候,会根据里面的#EXT-X-KEY标签请求获得解密的URL,再请求解密秘钥,之后会用秘钥对获取的ts文件解密。用户可以对秘钥的URL做cookie验证等方法来对用户做认证。 例子:PlayList文件 (复制链接,查看文件内容或直接用vlc播放器播放)
参数解释:
hlsKey
base64_urlsafe编码或加密过后的秘钥hlsKeyUrl
指定了秘钥放置的url,经过base64_urlsafe编码,这是生成m3u8 PlayList会使用到的hlsKeyType
指定了传送秘钥的方式
- 不指定或者指定为0,则仅仅是以base64_urlsafe编码的方式传送
- 指定为1.x(1.0, 1.1, …),以RSA的OAEP加密方式,再以编码传送秘钥,x表示秘钥的版本
- 公钥:1.0
php中调用持久化处理(音视频处理)的文档可以参考 http://developer.qiniu.com/docs/v6/sdk/php-sdk.html#av-hls
如果要进行切片的加密,只需要修改$fops
的值,修改为譬如avthumb/m3u8/segtime/10/hlsKey/
-
明文为16个字节,用切片文档提供的方法,使用七牛提供的公钥和下面的命令对明文进行加密:
$ echo -n [AES128KEY] | openssl rsautl -encrypt -oaep -inkey [QINIU_PUB_KEY_FILE] -pubin | openssl base64 -A | tr "+/" "-_"
如果
的值为密钥明文的base64编码,那么
值为0;如果
的值为七牛公钥加密的密文,那么
值可以写1.0
就填写密钥明文存放的地址,一般为你的业务服务器地址,通过业务服务器相关流程控制对这个url的访问权限。
下一篇: Oracle索引使用规则
推荐阅读
-
七牛云存储 - cli和普通模式的php如何通信?
-
七牛云存储 - 七牛php SDK 如何对HLS进行加密?
-
七牛云存储 - 七牛php sdk 有问题
-
七牛云存储 - PHP-sdk获取不到列表文件,请问怎么解决?
-
七牛云存储 - 七牛 php sdk 上传 转码 问题
-
七牛云存储 - PHP-sdk获取不到列表文件,请问怎么解决?
-
七牛云存储 - 七牛云 V7 版本的PHP SDK 是不是还没有做完,为什么找不到删除,移动资源的功能?
-
七牛云存储 - 如何用php实现持久化处理
-
七牛云存储 - 七牛云 V7 版本的PHP SDK 是不是还没有做完,为什么找不到删除,移动资源的功能?
-
七牛云存储 - 七牛php-sdk回调问题