未加密传输的安全弊端

如果在网络传输中没有加密,就是以明文传输。传输的数据可以被抓包软件直接截获,并能读取里面的数据。

加密基本原理

1.对称加密

2.非对称加密

2.1.公钥私钥

公钥和私密要配对。公钥加密的数据用私钥来解密,私钥加密的数据用公钥来解密。

2.2.数字证书

当公钥被替换成别的公钥之后,替换前对应的私钥就不能解密了,只能用替换后对应的私钥解密。但是并不能判断公钥是否被替换。所以引入数据证书的概念。数字证书由权威机构发布,所以无法伪造。并且数字证书里面包含公钥和对应所有者信息,所以就可以判断公钥是否属于自己。

SSL协议

SSL协议位于TCP/IP协议与各种应用层协议之间,利用数据加密技术,可以确保数据在网络上传输过程中不会被截取及窃听。

SSL协议可分为两层:

SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。

SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。

OpenSSL

OpenSSL是一个强大的安全套接字层密码库。包括主要的密码算法、常用的密钥和数字证书封装管理软件及SSL协议,并且提供了丰富的应用程序供测试或其他目的。

移植OpenSSL库到开发板

1.解压

tar zxvf openssl-1.0.0s.tar.gz

2.配置

mkdir _install

./config no-asm shared –prefix=${PWD}/_install

3.修改Makefile

CC = arm-linux-gcc

AR = arm-linux-ar

RANLIB = arm-linux-ranlib

4.编译

make

5.安装

make install

生成的库文件在_install/lib中。拷贝到开发根目录/lib中。

[国嵌攻略][179][OpenSSL加密系统]的更多相关文章

  1. [国嵌攻略][148][MTD系统架构]

    MTD设备概述 Flash在嵌入式系统中是必不可少的,它是bootloader.Linux内核和文件系统的最佳载体.在Linux内核中引入了MTD子系统为NOR Flash和Nand FLash设备提 ...

  2. [国嵌攻略][161][USB总线介绍]

    USB发展史 USB(universal serial bus),通用串行总线,是一种外部总线标准.用于规范电脑与外部设备的连接和通讯.USB是在1994年底由英特尔.康柏.IBM.Microsoft ...

  3. [国嵌攻略][149][Yaffs2文件系统应用]

    嵌入式系统自启动 MTD技术通过把Nand FLash划分成bootloader分区,Linux kernel分区和file system分区来达到自启动的效果. 配置和编译内核 1.配置Linux内 ...

  4. [国嵌攻略][127][tty驱动程序架构]

    tty概念解析 在Linux系统中,终端是一类字符型设备,它包括多种类型,通常使用tty来简称各种类型的终端设备. 1.串口终端(/dev/ttyS*) 串口终端是使用计算机串口连接的终端设备.Lin ...

  5. [国嵌攻略][107][Linux进程管理子系统]

    进程与程序 1.程序:存放在磁盘上的一系列代码和数据的可执行映像,是一个静止的实体. 2.进程:是一个执行中的程序,它是一个动态的实体. 进程四要素 1.有一段程序供其执行.这段程序不一定是某个进程所 ...

  6. [国嵌攻略][106][Linux内存管理子系统]

    内存管理子系统 1.虚拟地址与物理地址的映射 2.物理内存的分配 Linux虚拟地址空间分布 设备最后访问的一定是物理地址,但Linux系统中使用的都是虚拟地址.虚拟地址简单的来说就是程序中使用的地址 ...

  7. [国嵌攻略][100][嵌入式Linux内核制作]

    Linux内核制作步骤 1.清除原有配置 make distclean 2.配置内核 选择一个已有的配置文件简化配置 make menuconfig ARCH=arm 3.编译内核 ARCH指明处理器 ...

  8. [国嵌攻略][099][Linux内核配置与编译]

    为什么要配置内核 基于硬件和软件的需求选出需要的功能,去掉不要的功能. 内核配置的方法 make config:基于文本交互的配置. make menuconfig:基于图形菜单的配置. make m ...

  9. [国嵌攻略][098][Linux内核简介]

    Linux系统架构 1.用户空间:应用程序.C函数库 2.内核空间:系统调用接口.内核.体系结构相关代码 Linux系统利用处理器不同的工作模式,使用其中的两个级别分别来运行Linux内核与应用程序, ...

随机推荐

  1. window下nginx的常用命令

    window nginx 启动 常用命令 2016-05-04 11:11 214人阅读 评论(0) 收藏 举报 分类: nginx(5) 版权声明:本文为博主原创文章,未经博主允许不得转载. 启动 ...

  2. vue入坑总结

    1.Do not mount Vue to <html> or <body> - mount to normal elements instead. Vue2.x之后不推荐挂载 ...

  3. Docker -- 安全/部分命令/Daemon

    Docker -- 终极指南 1.安装过程 -- Docker -- docker pull 镜像 -- docker images 列出镜像    -- docker run --rm -ti ub ...

  4. Discuz uc.key泄露导致代码注入漏洞

    漏洞描述:在Discuz中,uc_key是UC客户端与服务端通信的通信密钥,discuz中的/api/uc.php存在代码写入漏洞,导致黑客可写入恶意代码获取uckey,最终进入网站后台,造成数据泄漏 ...

  5. 鸟哥的linux私房菜学习-(五)Linux系统的在线求助man page与info page

    1.man page man是manual(操作说明)的简写啦!只要下达:『man date』 马上就会有清楚的说明出现在你面前喔!如下所示: 进入man命令的功能后,你可以按下『空格键』往下翻页,可 ...

  6. View学习(四)-View的绘制(draw)过程

    View的draw过程相比之于measrue过程,也是比较简单的.并且在我们自定义View时,也经常需要重写onDraw方法,来绘制出我们要实现的效果. 如之前的文章所说,绘制的流程也是起始于View ...

  7. npm 项目更换目录后无法启动

    问题描述: 使用 Vue-cli 创建的项目,当文件移动到其他目录后,无法正常启动,报错信息如下: 分析原因: npm 项目,在安装依赖(node_modules)的时候,会记录当前的文件路径.当路径 ...

  8. 漂亮的提示框SweetAlert使用教程

    一.简介 所使用过的弹出框插件,SweetAlert是最好用的.发展至今,已经有两个版本,一个是原版 t4t5/sweetalert , 一个是分支版 limonte/sweetalert2 ,更新相 ...

  9. angular4.0常用依赖汇总

    Routes 路由配置 Router 路由跳转 ActivatedRoute 路由参数 FormsModule 表单配置(在app.module.ts中注入在imports下) EventEmitte ...

  10. linux命令和知识点

    一.常用命令 $?    上个命令的退出状态,或函数的返回值. 二.数字判断 [ $count -gt "1"] 如果$count 大于1 为真 -gt  大于 -lt    小于 ...