AOSP SDK 报文数据加解密规则
来源:互联网 发布:适合mac用的办公软件 编辑:程序博客网 时间:2024/05/21 09:23
SDK中主功能类图设计
AospClient是供客户端直接调用的接口类。通过该类的方法可以实现对AOSP的服务访问。
AospResponse和AospRequest分别是请求的实体类和应答的实体类。
HttpPostUtils是构建请求的类,其中的静态方法实现了对请求参数的封装加密封以及请求的发送。该类是最主要的类。(该类中处理的东西有点多,几乎所有的逻辑都在这儿实现)
他们的关系如图所示。还有其他的一些类没有列出都是对他们的支持。
SDK数据加密
整个数据加密,就是将上图中左侧的数据经过一些算法得到右侧的HttpPost类,其实最终过程是为发送一个符合规则的HTTP报文,这里报文中的数据用HttpPost来封装。
规则:(AospRequest简称AR,AospClient简称AC)
1、AospRequest.md5生成
将A中的dataJOSN化,再用MD5加密得到String:md5,再将md5赋值给A.md5。
2、A加密
将A对象JOSN化(list除外),得到content。再用AEC算法将(以AC.secret为参数)对content加密,得到密文contentCipher。
3、签名sign
String sign = 对content进行MD5加密运算。
组装HttpPost
HEAD部分:
“parternerKey”:AC.partnerKey
“sign” : sign
请求长度(附件):XXX
请求长度(主体):XXX
ENTITY部分:
xxx:contentCipher(加密后的主体数据)
附件内容实现略。
AOSP报文解析
AOSP对请求的报文的验证和解析都在拦截器中实现。
1、获取请求HEAD中的,请求时间,接入者身份,请求长度,签名等等
2、校验请求时间(当前时间与报文中的请求时间做比较)
3、校验接入者KEY(查看数据库中是否有该合作伙伴的KEY)
4、校验报文主体(验证报文的合法性)
4.1、content = 解密contentCipher
4.2、校验content长度(是否为空,长度是否和报文头中的数据一致)
4.3、校验签名sign
5、解析content中数据,封装成 AospServerRequest对象,该对象为包含了AOSP系统定义的业务数据字段。
- AOSP SDK 报文数据加解密规则
- 加解密数据组件
- SQL数据加解密
- unity3d 数据加/解密
- unity3d 数据加/解密
- c#数据加解密
- C#数据的加解密
- 数据加解密算法研究
- 【Unity】unity3d 数据加/解密
- C#使用DES加解密数据
- openswan klips数据加解密过程
- RSA加解密长数据-php
- CSP应用开发-数据加解密
- JavaScript实现http请求数据加解密
- java实现AES加密解密--数据加解密
- GCtf2017---Forbidden(山路十八弯各种要求报文格式+加解密)
- 加解密
- 加解密
- Shell遍历目录及文件夹中文件
- Windows/Linux环境下收集JVM内存dump文件方法
- BBB IRQ 驱动分析
- CMake 输出所有的编译过程
- LINK1123:failure during conversion to COFF:file invalid or corrupt
- AOSP SDK 报文数据加解密规则
- eclipse failed to create the java virtual machine 问题图文解析
- OpenMP对于嵌套循环应该添加多少个parallel for
- HDU 4270 Dynamic Lover 后缀自动机
- 打不死的小强 杀不死的服务 开机自启动服务
- 是偷懒还是必要 电动牙刷值不值得买
- 初步认识MDL
- Java虚拟机体系结构 - 总揽
- Android 开源框架Universal-Image-Loader完全解析(三)---源代码解读