




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
自定义JSON数据格式详解:手机APP侧使用说明Requset ? “KeyId” : “string”此数据格式,为客户端请求与服务器建立交互密钥连接使用,使用明文传输,不需要加密。KeyId : 为插在设备上面的标识Id号码获取KeyId需要调用的函数依次如下:Java_cpk_com_jni_TCard_Open 打开外接TF卡设备(JNIEnv *jenv, jclass jc, jint pinType, jbyteArray jpin, jint pinLen)输入参数如下:pinType : 1 超级用户2 普通用户 使用普通用户打开设备jpin : 8个0x31pinLen : 8JNICALL Java_cpk_com_jni_TCard_GetCertId(JNIEnv *jenv, jclass jc, jint keyId)输入参数如下:keyId的序列号 : 统一传入 0x00返回值 : KeyId号码 调用如上两个函数就可以获取到外接TF卡设备的KeyId号码Request_result ?“Public_key” : “string”,“Private_key” : “string”当客户端发送Request请求过来时候,服务器会生成一个随机数a,利用随机数a作为标识Id,生成随机数a的公私钥对,Public_key字段为随机数a的公钥,Private_key字段为随机数a的私钥,此数据通信的时候,使用客户端发送过来的标识Id的公钥加密。解密上面格式的数据使用如下函数:JNIEXPORT jbyteArray JNICALL Java_cpk_com_jni_TCard_Decrypt (JNIEnv *jenv, jclass jc, jint keyId, jbyteArray jcipher, jint cipherLen)输入参数解释如下:keyId: 序列号 统一传入 0x00jcipher: 从服务器获取到的密文数据cipherLen: 密文数据的长度返回值为:解密后的数据Register ?“KeyId” : “string”,“username” : “string”,“passwd” :“string”此数据格式为客户端向服务器注册用户名和密码使用,通信的时候使用Request_result?中的随机数a的公钥加密通信。加密上面的数据使用如下函数调用:JNIEXPORT jbyteArray JNICALL Java_cpk_com_jni_TCard_ECCEncrypt (JNIEnv *jenv, jclass jc, jbyteArray key, jbyteArray jcipher, jint cipherLen)输入参数解释如下:key : 为发起建立连接时候从服务器下发的Request_result?“Public_key”:”string”,“Private_key”:”string”中Public_key字段数据Jcipher:需要加密的数据cipherLen:需要解密的明文数据长度返回值:加密后的数据Register_result ?“result” : “string”,“aes_key” : “string”,“reason” : “string”此数据为服务器告知客户端注册情况,如果通过注册,即result为Ok,那么就会有aes_key字段,aes_key字段为后续数据交互的对称密钥,后续数据交互就使用ase_key作为密钥进行加密。如果为Failed,那么就会有reason字段,告知注册失败的原因。解密如上数据调用如下函数:JNIEXPORT jbyteArray JNICALL Java_cpk_com_jni_TCard_ECCDecrypt (JNIEnv *jenv, jclass jc, jbyteArray key, jbyteArray jcipher, jint cipherLen)参数解释如下:Key: 为服务器下发的数据Request_result?“Public_key”:”string”,“Private_key”:”string”中的Private_key字段数据Jcipher:需要解密的数据cipherLen:解密的数据长度返回值:解密后的数据Auth, Auth_result, Query, Query_result使用的方法同上,此不做详细介绍! 发向服务器加密,服务器传回到手机侧,使用解密算法。Auth ?“KeyId” : “string”,“username” :“string”,“passwd_hash” : “string”服务器验证客户端账号和密码信息,密码信息使用密码的Hash值替代,Hash算法使用SHA1算法。此数据通信的时候使用Request_result中的随机数a的公钥加密通信。Auth_result ?“result” : “string”,“aes_key” : “string”,“reason” : “string“告知客户端账号和密码验证的情况,如果通过验证,服务器会产生随机数b,作为后续通信的加密密钥。后续的数据通信,全部使用随机数b作为加密密钥。在数据格式中的result字段的取值为:OK/FailedQuery ?“username” : “string”此数据为客户端向服务器查询,账号是否被绑定为某一台被控设备上面。Query_result?“username” : “string”,“result” : “string”,“device_id” : “string”,“reason” : “string”告知客户端,查询的结果,看账号是否和某一台被控设备进行了绑定,如果绑定了,就会有被控设备的device_id号码。后续的加密数据和解密数据统一使用对称加密算法:加密数据的API如下:JNIEXPORT jbyteArray JNICALL Java_cpk_com_jni_TCard_AESEncrypt (JNIEnv *jenv, jclass jc, jbyteArray key, jbyteArray jcipher, jint cipherLen)参数解释如下:Key:为从服务器下发的对称密钥Jcipher:需要加密的明文数据cipherLen:需要加密的数据长度返回值:加密后的数据解密数据的API如下:JNIEXPORT jbyteArray JNICALL Java_cpk_com_jni_TCard_AESDecrypt (JNIEnv *jenv, jclass jc, jbyteArray key, jbyteArray jcipher, jint cipherLen)参数解释如下:Key:为从服务下发的对称密钥Jcipher:需要解密的数据CipherLen:解密的数据长度返回值:解密后的数据从服务器获取下发的对称密钥:可以从Register_result数据字段中aes_key获取到或者Auth_result数据字段中aes_key获取到如果用户有用户名和密码,就不用注册,就可以从Auth_result字段中获取到aes_key如果用户需要注册用户名和密码,就可以从Register_result数据字段中获取到从服务器下发的对称密钥aes_keyGetLan_info ?“device_id” : “string”客户端获取被控设备的Lan侧信息。GetLan_info_result ?“device_id” : “string”,“ifname” : “string”,“proto” : “string”,“ipaddr” : “string”,“netmask” : “string”告知客户端被控设备的Lan侧信息GetWan_info ?“device_id” : “string”GetWan_info_result?“device_id” : “string”,“ifname” : “string”,“proto” : “string”,“ipaddr” : “string”,“netmask” : “string”,“gwaddr” : “string”,“dns” : “string”GetWireless_info ?“device_id” : “string”GetWireless_info_result ?“device_id” : “string”,“ssid” : “string”,“disable” : “string”,“mode” : “string”,“channel” : “string”,“hwmode” : “string”,“htmode” : “string”SetLan_info ?“device_id” : “string”,“ifname” : “string”,“proto” : “string”,“ipaddr” : “string”,“netmask” : “string”SetLan_info_result ?“device_id” : “string”,“result” : “string”,“reason” : “string”SetWan_info ?“device_id” : “string”,“ifname” : “string”,“proto” : “string”,“ipaddr” : “string”,“netmask” : “string”,“gwaddr” : “string”,“dns” : “string”SetWan_info_result ?“device_id” : “string”,“result” : “string”,“reason” : “string”SetWireless_info ?“device_id” : “string”,“ssid” :
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 转权转让合同范本
- 拆除窗户出售合同范本
- 购房定向开发合同范本
- 个人安全用工合同范本
- 社区工会消防知识培训班课件
- 限期包销房合同范本
- 甲方商铺租赁合同范本
- 施工框架搭建合同范本
- 盖房施工合同范本
- 广告物料结款合同范本
- 水泥生产企业生产安全事故综合应急预案
- 全自动血液细胞分析仪产品技术要求深圳迈瑞
- 找对英语学习方法的第一本书
- 制度编写书写规范
- 安徽涵丰科技有限公司年产6000吨磷酸酯阻燃剂DOPO、4800吨磷酸酯阻燃剂DOPO衍生品、12000吨副产品盐酸、38000吨聚合氯化铝、20000吨固化剂项目环境影响报告书
- 制造业业务流程
- 《诺丁山》经典台词
- 对铁路机车乘务员规章培训的探讨与实践
- 临床医学实验室 仪器设备一览表格模板
- 《绿色建筑》绿色建筑与建筑节能课件
- 二级生物安全实验室备案登记申请表(模板)
评论
0/150
提交评论