原文地址:http://xxrenzhe.blog.51cto.com/4036116/1370114
废话不多说,先上图
说明1:蓝色部分为主要流程,黄色箭头指向具体的操作步骤
什么是openssl
1. 为网络通信提供安全及数据完整性的一种安全协议,囊括了主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供了丰富的应用程序供测试或其它目的使用;
2. openssl只是OpenSSL开源套件中的多功能命令工具;
3. OpenSSL套件的组成部分有:
libcrypto:通用功能的加密库
libssl:用于实现TSL/SSL功能的库;
openssl:多功能命令工具
为什么需要OpenSSL
1. 网络通信时存在大量的数据交互,若没有一套完整的数据加密解密机制,将导致敏感信息和数据遭到泄露,网络安全通信也就无从谈起;
2. 幸运的是OpenSSL这组套件提供了这方面的强大功能,而且还是开源程序,现已广泛使用在现在网络通信机制中;
3. 通过在一定范围内部署一台CA(Certificate Authority)服务器,可以实现局域网内的证书认证和授权,保证数据传输的安全性;也可以通过具体的部署实践,了解国际上大型CA机构的工作原理,为企业级的证书管理提供知识积累。
本篇博客的主要内容
此次只是在局域网内部署CA服务器,可以了解数据加密、解密过程,以及公钥在网络中的安全传递;若是企业级应用,则需要向专业的CA机构购买其服务,获得国际认可的证书。
数据的加密解密过程
说明1:蓝色是主要加密解密过程;黑色一般是说明注释内容
说明2:上图说明的是用户Bob需要和Alice通信,并传递给Alice数据,为实现安全通信的加密解密过程
CA的工作流程
说明1:蓝色部分主要是证书申请和分发过程,黄色部分主要是用户间证书认证过程,黑色部分是解释说明文字
openssl实现私有CA(见第一张图)说明
说明2:当企业(或用户)发现自己的私钥被盗取后丢失了,则会向CA机构发出证书失效的申请,则此时CA机构就会吊销此证书,才需要执行吊销证书的相关操作