




已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年教育信息化基础设施建设与教育信息化项目合作模式创新报告
- 2025年中国覆盆子酱行业市场分析及投资价值评估前景预测报告
- 06 增分微课1 匀变速直线运动中的“形异质同”问题 【答案】听课手册
- 2025年中国风机叶片材料行业市场分析及投资价值评估前景预测报告
- 保姆培训知识家政公司课件
- 口腔专业知识培训
- 保利物业消防知识培训课件
- Unit 5 Friends说课稿-2023-2024学年小学英语五年级上册牛津沪教版(三起)
- 保健知识技能培训内容课件
- 2025年乡镇非遗普查员招聘考试题库及解析
- 2026厦门银行秋季校园招聘笔试备考题库及答案解析
- 接诉即办培训课件
- 2025年高压电工复审完整题库(附答案)
- 贷款居间合同免责协议6篇
- 建设工程监理合同(GF-2015-0212)2025版
- (零模)苏州市2026届高三年级期初阳光调研试卷 物理试卷(含答案)
- 老年人情绪管理课件
- (新教材)2025年秋期部编人教版二年级上册小学语文全册教案(教学设计)(新课标核心素养教案)
- 《罗织经》全文及翻译
- 《中药商品学》考试复习题库(含答案)
- 医药流通零售连锁解决方案
评论
0/150
提交评论