浅谈基于OpenSSL安全会话的实现

一、概述SSL

SSL(Secure Socket Layer)安全套接字层,早期netscape公司想让工作在应用层中的各种协议在传输数据实现数据安全的目的,在应用层与tcp层之间引入的半层结构;SSL不仅是一种协议,也是一个库,能够实现让应用层的某种协议传输数据到tcp层之前调用SSL的功能;比如:应用层的HTTP、SMTP、FTP等协议到tcp层之前经过SSL的调用,在tcp层以HTTPS、SMTPS、FTPS形式传输数据;现在主流的版本是SSLv2、SSLv3。

二、了解OpenSSL

OpenSSL是SSL的开源实现,也是对称加密中最主要的工具之一,由下面三部分组成:

libcrypto:通用加解密库,提供各种加密函数,各种软件只要调用加密库就能实现加密作用;

libssl:TLS/SSL的实现,基于会话的、实现了身份认证、数据机密性和会话完整性的TLS/SSL;

openssl:多用途命令行工具,实现私有证书颁发机构,linux上通用基本工具之一;

OpenSSL的配置文件在/etc/pki/tls/openssl.conf,主要让OpenSSL工作成私有CA;

OpenSSL常使用的子命令:

req:生成证书、证书申请的工具;

-new:生成一个新的证书

-x509:生成x509格式的证书,目前主流的证书存储格式

-key:指定密钥

-out:保存至某个文件

-days:证书保存时间

#openssl req -new -x509 -key server1024.key -out server.crt -days 365 

genrsa:使用RSA算法帮助生成一个私钥,权限设为600

numbits:可选选项,设定密钥长度,默认是512位

-out 保存的文件

#openssl genrsa -out srever1024.key 1024 

三、SSL建立会话的过程

前提:建立tcp的三次握手之后;

第一步:客户端向服务器端发出请求

第二步:客户端和服务器端协商使用协议版本(SSLv2、SSLv3、TLSv1)

第三步:协商后服务器端向客户端发送证书,客户端会检测证书的安全性

第四步:客户端随机生成一个对称密码使用服务器端的公钥加密传送给服务器端

第五步:服务器端拿到密码后加密数据传送给客户端

第六步:通信完成后撤离会话通道,tcp四次断开

四、基于OpenSSL建立会话实例配置

前提:一台虚拟机作为CA机构,一台虚拟机作为web服务器并在此服务器上配置基于虚拟主机域名

规划如下:

CA机构主机地址:172.16.52.2

web服务器主机地址:172.16.52.3

虚拟主机域名:www2.magedu.com

1、 在CA机构主机中为CA机构自身生成私钥

2、在配置文件中修改默认信息

[root@localhost CA]#vim ../tls/openssl.cnf  countryName_default  =CN  stateOrProvinceName_default  =Henan  localityName_default     =Zhengzhou  O.organizationName_default   =MageEdu  organizationalUnitName_default   =Tech  ######这些默认信息可以根据自己需求自定义  

3、生成自签证书

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索服务器
, 加密
, tls
, openssl
, 证书
, 应用层
, 生成
, 虚拟机 主机 文件传输
, openssl 使用
tls协议
openssl https实现、openssl实现单向认证、openssl实现ssl、openssl实现server、家校合作实现共赢浅谈,以便于您获取更多的相关知识。

时间: 2024-09-03 08:09:01

浅谈基于OpenSSL安全会话的实现的相关文章

浅谈基于Ansible持续部署自动化

本文讲的是 :  浅谈基于Ansible持续部署自动化  , [IT168技术]随着各种计算机虚拟技术的不断发展,云计算的工业化水平也日渐成熟.在新的形势下,IT运维面临着来自各个方面的挑战,维护的机器数量从数十个几百个到成千上万个,应用的结构变得越来越复杂,更新的速度也越来越快.各种自动化配置管理工具也在这种生态环境中应运而生,如puppet,saltstack,ansible.本文将用ansible来具体讨论其在不同场景下的使用方法,从而使运维和开发人员更加轻松的应对各种配置管理及应用部署需

江南天安邓小四:浅谈基于国产商用密码技术在云计算中的应用

在第八届中国云计算大会上,参会者.包括笔者自己都深有感触的一点就是,云计算大会越来越"接地气",讨论的内容早已从讨论云计算概念和技术,到如今的"用实际应用说话"的阶段了,同时,云计算实践的一线厂商的积极参与,让我们看到了云计算现在开始慢慢凸显的能力和价值. 在本届云计算大会上,云计算大数据安全论坛盛况空前,论坛聚焦云计算大数据安全话题,邀请了云计算大数据安全专家.云安全提供方及云计算用户.白帽子现身说法,一起交流云计算大数据安全的实践经验.随着云计算在企业的应用加快

浅谈基于关系的社区平台成功的三要素

我故意回避了用SNS这个说法,原因在于对于SNS现在大家脑子里已经装满了开心网和基于UCH的印象.我觉得任何社区平台,尤其是基于关系的社区平台,不在于你是专注新识还是旧友,不在于networking还是network,有生命力的社区平台,能够形成自主的生命力,进入一种良性的循环.但是这种良性循环是如何建立起来的呢?需要具备什么样的条件呢?我认为核心在于要解决好三个要素的关系.这三个要素就是: 价值--关系--平台 这三个要素必须是一种强的依赖关系,即为用户提供的核心价值必须是依赖于关系的价值:关

浅谈基于SQL Server分页存储过程五种方法及性能比较

在SQL Server数据库操作中,我们常常会用到存储过程对实现对查询的数据的分页处理,以方便浏览者的浏览. 创建数据库data_Test : create database data_Test GO use data_Test GO create table tb_TestTable --创建表 ( id int identity(1,1) primary key, userName nvarchar(20) not null, userPWD nvarchar(20) not null, u

Android安全开发之浅谈加密算法的坑

Android安全开发之浅谈加密算法的坑 作者:伊樵.舟海@阿里聚安全 Android开发中,难免会遇到需要加解密一些数据内容存到本地文件.或者通过网络传输到其他服务器和设备的问题,但并不是使用了加密就绝对安全了,如果加密函数使用不正确,加密数据很容易受到逆向破解攻击.还有很多开发者没有意识到的加密算法的问题. 1.需要了解的基本概念 密码学的三大作用:加密( Encryption).认证(Authentication),鉴定(Identification)  加密:防止坏人获取你的数据.  认

浅谈对5G核心网演进方向的几点展望

最近读到一篇关于5G核心网的论文<Revolutionary Direction for 5G Mobile Core Network Architecture>,其中对于从4G到5G的演进提出了很多指导性的建议和展望,读完后感觉受益良多,于是整理其中很多有参考价值的观点并结合自己的一些体会写下这篇文章,希望对初学者有所帮助.理解不到位以及表述不清之处,欢迎批评指正. 关于4G核心网EPC的局限性,在之前的两篇文章<网络切片--5G前行的助推器>和<之于5G--浅谈SDN和N

浅谈web网站架构演变过程

原文:浅谈web网站架构演变过程 前言 我们以javaweb为例,来搭建一个简单的电商系统,看看这个系统可以如何一步步演变.   该系统具备的功能:   用户模块:用户注册和管理 商品模块:商品展示和管理 交易模块:创建交易和管理    阶段一.单机构建网站 网站的初期,我们经常会在单机上跑我们所有的程序和软件.此时我们使用一个容器,如tomcat.jetty.jboos,然后直接使用JSP/servlet技术,或者使用一些开源的框架如maven+spring+struct+hibernate.

浅谈javascript的Touch事件_javascript技巧

js的touch事件,一般用于移动端的触屏滑动 复制代码 代码如下: $(function(){document.addEventListener("touchmove", _touch, false);}) function _touch(event){alert(1);} touchstart:当手指触摸屏幕时触发:即使已经有一个手指放在了屏幕上也会触发. touchmove:当手指在屏幕上滑动时连续的触发.在这个事件发生期间,调用preventDefault()可阻止滚动. to

【前端性能】浅谈域名发散与域名收敛

性能优化一直是前端工作中十分重要的一环,都说从 10 到 1 容易,从 1 到 0 很难.而随着前端技术的飞速发展,没有什么技术或者法则是金科玉律一成不变的. 很佩服那些勇于挑战权威,推陈出新的勇者,是他们让我们的技术不断的变革更加的卓越.好像扯远了,本文主要想谈谈两个名词,域名发散和域名收敛.      域名发散 这个很好理解,前端er都知道,PC 时代为了突破浏览器的域名并发限制,遵循这样一条定律: · http 静态资源采用多个子域名 嗯,为什么要这样做呢,目的是充分利用现代浏览器的多线程