AnyChat一直致力于为行业客户提供音视频整体解决方案,其中集群/云平台也是AnyChat关注的重点之一,AnyChat集群/云平台技术团队经过深入研发,已成功发布集群/云平台,本贴将介绍AnyChat应用如何接入集群/云平台。
1.1 应用接入流程概述 应用接入的总体流程为生成RSA密钥对,上传公钥到AnyChat,生成签名并接入AnyChat。AnyChat完全信任应用私钥生成的签名,请务必小心保存自己的私钥,如果私钥丢失或被盗,需要生成新的公钥和私钥,并重新上传应用公钥。 1.2生成RSA密钥对
1.2.1 使用openssl生成密钥对
2. 生成RSA私钥: openssl genrsa -out privatekey.pem 1024 这条命令让openssl随机生成了一份私钥,加密长度是1024位。加密长度是指理论上最大明文的长度。 3.根据私钥生成公钥: openssl rsa -in privatekey.pem -out publickey.pem -pubout 1.3 上传公钥密钥对生成之后,需要将公钥publickey.pem上传至AnyChat,如果应用接入的是AnyChat集群版,请参考1.3.1,如果应用接入的是AnyChat视频云平台,请参见1.3.2 1.3.1 上传公钥到集群版
登录集群版后台管理系统,在“应用管理”列表页面中点击应用的“上传公钥”操作链接,上传公钥文件。 1.3.2 上传公钥到云平台登录云平台,进入应用列表,如果是第一次上传公钥,请点击应用激活按钮,如果是更新公钥,请进入应用详情页面更改公钥,此外AnyChat视频云平台为了方便用户生成RSA密钥对,提供了RSA密钥对自助生成并激活应用的页面,具体详情请参见 云平台应用开发指南 1.4 生成签名
应用公钥保存之后,应用开发人员利用私钥生成签名,签名通过AnyChat SDK发往AnyChat进行认证,认证通过,应用接入AnyChat成功,可以开始进行音视频通讯。具体过程如下: 流程说明: 1. 用户输入用户名密码进行登录,登录请求发送到身份验证系统。身份验证系统由AnyChat开发者开发和部署,用于验证用户身份信息的合法性以及生成签名。 2. 身份验证系统首先验证用户身份信息的合法性,验证通过则根据私钥生成签名。签名数据为json,格式如下:
签名字段 | 类型 | 说明 | userId | 字符串 | 用户账号或标识 | appId | 字符串 | 应用ID | timeStamp | 32位整型 | 签名签发的时间,UTC时间戳 | signStr | 字符串 | 私钥签名 生成算法如下: 1. 将需要签名的字段合并成字符串 2. 将步骤一的字符串生成MD5字符串 3. 利用应用的私钥对MD5字符串进行加密,形成签名。 验证算法如下: 1. 利用公钥对签名进行解密生成MD5字符串A。 2. 根据需要签名的字段信息生成MD5字符串B 比较A和B是否一样,一样则验证通过,不一样说明SDK发送过来的签名数据项(如userId,appId)被篡改了或者签名是伪造的。 |
3. 身份验证系统将签名信息返回给客户端; 4. 客户端根据签名调用AnyChat SDK接入接口,向AnyChat发起接入请求; 5. AnyChat根据RSA公钥验证签名信息,验证通过给予接入; 6. 验证通过给予接入, 验证不通过,返回错误信息。 2 应用接入示例程序
主项目地址: https://code.csdn.net/99263/anychat/tree/master
C#示例: https://code.csdn.net/99263/anychat/tree/master/tools/anychatsign
|