对之前的传输系统进行加密,使之成为加密的网络传输系统
客户端编程模型
通过以上模型对传统的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复制到开发板目录里面去,跟之前一样进行测试