开发者社区> 问答> 正文

音视频通信的签名机制有哪些?

音视频通信的签名机制有哪些?

展开
收起
保持可爱mmm 2020-03-29 17:07:23 632 0
1 条回答
写回答
取消 提交回答
  • 为保证API的安全调用,在调用API时,阿里云RTC会对每个API请求通过签名(Signature)进行身份验证。无论您使用HTTP还是HTTPS协议提交请求,都需要在请求中包含签名信息。 说明 阿里云RTC提供了多种编程语言的SDK及第三方SDK,可以省略计算签名步骤,SDK下载请单击阿里云SDK中心。 RAM授权

    为了确保您的账号安全,建议您使用子账号的身份凭证调用API。如果您使用RAM账号调用API,您需要为该RAM账号创建、附加相应的授权策略。RTC中可授权的资源和接口列表,请参见RAM资源授权,获取AccessKey请参见获取AccessKey。 API签名

    RTC服务会对每个API请求进行身份验证,无论您使用HTTP还是HTTPS协议提交请求,都需要在请求中包含签名(Signature)信息。

    RTC通过使用AccessKey ID和AccessKey Secret进行对称加密的方法来验证请求的发送者身份。AccessKey是为阿里云账号和RAM用户发布的一种身份凭证(类似于用户的登录密码),其中AccessKey ID用于标识访问者的身份,AccessKey Secret是用于加密签名字符串和服务器端验证签名字符串的密钥,必须严格保密。

    以CreateChannelAPI为例,假设使用的AccessKeyId为testid, AccessKeySecret为testsecret。 签名前的请求URL如下:

    https://rtc.aliyuncs.com/?Action=CreateChannel &AppId=a2h1**** &ChannelId=juz**** &Format=XML &AccessKeyId=testid &SignatureMethod=HMAC-SHA1 &SignatureNonce=3ee8c1b8-83d3-44af-a94f-4e0ad82fd6cf &Version=2018-01-11 &SignatureVersion=1.0

    使用testsecret&,计算得到的签名值是:

    Y8c1u47r2gHn6scXqz92wklKws1=

    将签名作为Signature参数加入到URL请求中,最后得到的URL为:

    https://rtc.aliyuncs.com/?Action=CreateChannel &AppId=a2h1**** &ChannelId=juz**** &Format=XML &AccessKeyId=testid &SignatureMethod=HMAC-SHA1 &SignatureNonce=3ee8c1b8-83d3-44af-a94f-4e0ad82fd6cf &Version=2018-01-11 &SignatureVersion=1.0 &Signature=Y8c1u47r2gHn6scXqz92wklKws1=

    阿里云为您提供了多种编程语言SDK签名示例代码。

    PHP 签名示例
    Python签名示例
    .NET 签名示例
    Go 签名示例
    Node.js 签名示例
    C/C++ 签名示例
    
    2020-03-29 17:11:10
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Instagram Direct 高效可靠的数据端到端传输 立即下载
从 SDK 到编解码:视频直播架构解析 立即下载
白山直播CDN流传递链路优化实践 立即下载