[国嵌攻略][179][OpenSSL加密系统]
未加密传输的安全弊端
如果在网络传输中没有加密,就是以明文传输。传输的数据可以被抓包软件直接截获,并能读取里面的数据。
加密基本原理
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加密系统]的更多相关文章
- [国嵌攻略][148][MTD系统架构]
MTD设备概述 Flash在嵌入式系统中是必不可少的,它是bootloader.Linux内核和文件系统的最佳载体.在Linux内核中引入了MTD子系统为NOR Flash和Nand FLash设备提 ...
- [国嵌攻略][161][USB总线介绍]
USB发展史 USB(universal serial bus),通用串行总线,是一种外部总线标准.用于规范电脑与外部设备的连接和通讯.USB是在1994年底由英特尔.康柏.IBM.Microsoft ...
- [国嵌攻略][149][Yaffs2文件系统应用]
嵌入式系统自启动 MTD技术通过把Nand FLash划分成bootloader分区,Linux kernel分区和file system分区来达到自启动的效果. 配置和编译内核 1.配置Linux内 ...
- [国嵌攻略][127][tty驱动程序架构]
tty概念解析 在Linux系统中,终端是一类字符型设备,它包括多种类型,通常使用tty来简称各种类型的终端设备. 1.串口终端(/dev/ttyS*) 串口终端是使用计算机串口连接的终端设备.Lin ...
- [国嵌攻略][107][Linux进程管理子系统]
进程与程序 1.程序:存放在磁盘上的一系列代码和数据的可执行映像,是一个静止的实体. 2.进程:是一个执行中的程序,它是一个动态的实体. 进程四要素 1.有一段程序供其执行.这段程序不一定是某个进程所 ...
- [国嵌攻略][106][Linux内存管理子系统]
内存管理子系统 1.虚拟地址与物理地址的映射 2.物理内存的分配 Linux虚拟地址空间分布 设备最后访问的一定是物理地址,但Linux系统中使用的都是虚拟地址.虚拟地址简单的来说就是程序中使用的地址 ...
- [国嵌攻略][100][嵌入式Linux内核制作]
Linux内核制作步骤 1.清除原有配置 make distclean 2.配置内核 选择一个已有的配置文件简化配置 make menuconfig ARCH=arm 3.编译内核 ARCH指明处理器 ...
- [国嵌攻略][099][Linux内核配置与编译]
为什么要配置内核 基于硬件和软件的需求选出需要的功能,去掉不要的功能. 内核配置的方法 make config:基于文本交互的配置. make menuconfig:基于图形菜单的配置. make m ...
- [国嵌攻略][098][Linux内核简介]
Linux系统架构 1.用户空间:应用程序.C函数库 2.内核空间:系统调用接口.内核.体系结构相关代码 Linux系统利用处理器不同的工作模式,使用其中的两个级别分别来运行Linux内核与应用程序, ...
随机推荐
- VS 2017 Web项目需要安装Sql Server 2012 Express LocalDB问题
最近在做mvc5的练习 ,结果到了数据库连接这一阶段就出现了问题,开始我以为<add name="MovieDBContext" connectionString=" ...
- Anaconda系统中管理程序包(Package)
列出所有已安装的程序包 conda list 在已安装的程序包中查找某个特定的程序包 conda search package-name 安装程序包 conda install beautiful-s ...
- idea激活网站地址,亲测可用(windows7,idea 2016)
help-register-license server,然后输入 http://idea.iteblog.com/key.php
- C# 防止同时调用=========使用读写锁三行代码简单解决多线程并发的问题
http://www.jb51.net/article/99718.htm 本文主要介绍了C#使用读写锁三行代码简单解决多线程并发写入文件时提示"文件正在由另一进程使用,因此该进程无 ...
- 3D轮播切换特效 源码
这个3D轮播切换特效是我2017年2月份写的 当初我 刚接触HTML不久,现在把源码分享给大家 源码的注释超级清楚 . <!-- 声明文档类型:html 作用:符合w3c统一标准规范 每个浏览器 ...
- Android OpenGL ES 入门系列(一) --- 了解OpenGL ES的前世今生
转载请注明出处 本文出自Hansion的博客 OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL 三维图形 API 的子集,针对手机.PDA和游戏主机等嵌 ...
- react-native-scrollable-tab-view组件的简单使用
react-native-scrollable-tab-view是一个滑动tab组件,可在tab之间进行切换显示内容 https://github.com/skv-headless/react-nat ...
- JS 对象API之修改、删除对象的属性
无论是修改还是删除对象的属性,我们首先要清楚:自有属性.共有属性的处理方法肯定是不同的: 先创建一个对象实例 var obj = { name: '小马扎', age: }; Object.proto ...
- 【Python3的函数初识】
一.函数 1.什么是函数? 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率,可扩展性强. 2.函数的分类 在python中函数分两类:内 ...
- [Spark內核] 第41课:Checkpoint彻底解密:Checkpoint的运行原理和源码实现彻底详解
本课主题 Checkpoint 运行原理图 Checkpoint 源码解析 引言 Checkpoint 到底是什么和需要用 Checkpoint 解决什么问题: Spark 在生产环境下经常会面临 T ...