一、概述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、家校合作实现共赢浅谈,以便于您获取更多的相关知识。