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