对之前的传输系统进行加密,使之成为加密的网络传输系统

客户端编程模型

通过以上模型对传统的TCP传输模型进行优化

首先完成初始化工作,它是要在创建socket之前完成

主要是以上四个函数的实现,那么这四个函数怎样去操作呢,百度这四个函数的用法

头文件

下面去创建SSL,由模型可知,是在connect之后去创建

下面去改造tcp的收和发数据,用ssl来替代

修改上传文件部分如下

下面是下载文件部分

那我们在close(fd)之前把SSL释放

编译的时候要去指明引用ssl库

下面进入服务器程序的优化

//在创建socket之前来进行初始化SSL库

//公钥和私钥的初始化

下面要去创建一个新的SSL,放到accept之后来做

下面就要对网络通信中的read和write进行修改了

这是上传的修改

下面是下载的修改

在close(fd)之前做一些SSL的关闭工作

下面编译server.c程序

下面在PC机上测试,测试之前还需要进行数字证书和私钥的文件创建

下面首先创建私钥

创建私钥命令openssl,要创建的私钥文件privkey.pem(自己取的名字),genrsa为参数,-out表示要输出,2048表示位数。

接下来根据这个私钥来创建公钥

下面对程序,进行相应测试

在server目录下创建一个文件touch down

添加一些信息进去;

启动server

再在client目录下创建一个touch pass 用于上传的,同时也加入一些信息。

在PC机上成功之后,把他们移植到开发板上面去,主要是把client移植到开发板上面去

这样一编译就产生了能在arm开发板上运行的client了

把编译好的client复制到开发板目录里面去,跟之前一样进行测试

阶段3-团队合作\项目-网络安全传输系统\sprint1-传输子系统设计\第3课-加密传输优化的更多相关文章

  1. 阶段3-团队合作\项目-网络安全传输系统\sprint3-账号管理子系统设计\第2课-账号管理子系统设计

    账号管理子系统的设计 客户端需要登录到服务器,在服务器去查询数据库,进行验证该用户. 打开client.c文件 编译之 把它复制到开发板里面去 这个程序是在本地数据库测试的!!!!!!!!!!!!!! ...

  2. 阶段3-团队合作\项目-网络安全传输系统\sprint2-线程池技术优化

    之前问题的存在,之前只是用一个客户端在与服务器进行连接,当多个客户端进行连接的时候会连接不上处于等待状态,说明以前我们的服务器只能同时处理一个请求,故需要修改 服务器: 单发:初始化--等待客户端连接 ...

  3. 阶段3-团队合作\项目-网络安全传输系统\sprint0-产品规划与设计\第2课-产品功能模型设计

  4. 网络安全传输系统-sprint1传输子系统

    一.产品规划与设计 二.传输子系统 基本框架:(1)不带安全功能的传输系统 (2)安全加密功能 part1:基本传输子程序设计(不带安全加密功能) 客户端 服务器 int main(int argc, ...

  5. 团队合作项目—(GG队)

    团队展示 一.队名:GG 二.队员信息 队员 学号 叶尚文(队长) 3116008802 蔡晓晴 3216008808 杜婷萱 3216008809 龙剑初 3116004647 于泽浩 311600 ...

  6. 第一次c++团队合作项目第三篇随笔

    这次终于想出来了上次问题的解决方法,就是用多态的方法,让小兵,建筑和英雄继承于Object类,通过指针能实现信息的传递. 同时我也完善了地图中每个Pane类的信息,包括每个格子的位置信息,state( ...

  7. 第一次c++团队合作项目第二篇随笔

    随着时间的推移,项目也逐渐展开.我的地图也通过按钮的拼接完成了一小部分.这部分我是用了QT上的按钮类来实现的.接下来就是给按钮贴上图片,然后最重要也是最困难的是实现参数的传递,如何实现点击一个英雄或小 ...

  8. 使用GitHub进行团队合作

    原文: Team Collaboration With GitHub GitHub已经成为的一切开放源码软件的基石.开发人员喜欢它,基于它进行协作,并不断通过它开发令人惊叹的项目.除了​​代码托管,G ...

  9. 第三视角团队:项目UML设计(团队)

    项目UML设计(团队) 团队信息 团队名:第三视角 各成员学号及姓名 姓名 学号 博客链接 张扬(组长) 031602345 http://www.cnblogs.com/sxZhangYang/p/ ...

随机推荐

  1. 【leetcode刷题笔记】Jump Game

    Given an array of non-negative integers, you are initially positioned at the first index of the arra ...

  2. es6对象内函数的两种写法

    es6对象内函数一般有两种写法: var person1 = { name: "p1", sayThis() { console.log(this); } }; var perso ...

  3. Myeclipse中启动tomcat 异常

    信息: Unable to find org.hibernate.search.event.FullTextIndexEventListener on the classpath. Hibernate ...

  4. <a href

    <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEnco ...

  5. mysql 在windows server下发生系统错误 1067, 进程意外终止的解决方法

    mysql 在windows server下发生系统错误 1067, 进程意外终止,请检查系统盘下的windows目录下是否存在mysql的配置文件my.ini,如存在,将其删除或改名即可.

  6. 彻底搞懂word-break、word-wrap、white-space

    原文链接: https://juejin.im/post/5b8905456fb9a01a105966b4 white-space.word-break.word-wrap(overflow-wrap ...

  7. Delphi考虑sql注入 QuotedStr

    之前只在BS架构的项目中考虑了Sql注入问题,却很少考虑到用了多年的Delphi项目也应该考虑Sql注入的问题,今天做了个实验,成功完成注入,把表里数据全部删除,以后再做Delphi项目还真的考虑这个 ...

  8. js和jquery 两种写法 鼠标经过图片切换背景效果

    这个是javascript的写法 <img src="res/img/shop-c_32.jpg" alt="" onmouseover="th ...

  9. hbase_学习_00_资源帖

    一.官方资料 1.官网:http://hbase.apache.org/ 2.官方文档:HBase 官方文档中文版 二.apache软件下载基地 1. Apache Software Foundati ...

  10. 一文读懂所有的编码方式(UTF-8、GBK、Unicode、宽字节...)

    编码方式就分两类:ANSI编码.Unicode编码.这两类编码都兼容ASC码. ------------------------------------------------------------ ...