ssl安全证书

https原理 就是两次http

老子叫甜甜 提交于 2019-11-30 18:39:26
客户端在使用HTTPS方式与Web服务器通信时有以下几个步骤: (1)客户使用https的URL访问Web服务器,要求与Web服务器建立SSL连接。 (2)Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。 (3)客户端的浏览器与Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。 (4)客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。 (5)Web服务器利用自己的私钥解密出会话密钥。 (6)Web服务器利用会话密钥加密与客户端之间的通信。 HTTPS 协议优点,比http强在哪里? 1 内容加密。浏览器到百度服务器的内容都是以加密形式传输,中间者无法直接查看原始内容。 2 身份认证。保证用户访问的是百度服务,即使被 DNS 劫持到了第三方站点,也会提醒用户没有访问百度服务,有可能被劫持 3 数据完整性。防止内容被第三方冒充或者篡改。 HTTPS通信过程 HTTPS协议 = HTTP协议 + SSL/TLS协议 ,在HTTPS数据传输的过程中,需要用SSL/TLS对数据进行加密和解密,需要用HTTP对加密后的数据进行传输,由此可以看出HTTPS是由HTTP和SSL/TLS一起合作完成的。 SSL的全称是Secure Sockets Layer,即安全套接层协议

HTTP和HTTPS的区别,SSL的握手过程

只谈情不闲聊 提交于 2019-11-30 14:39:26
超文本传输协议HTTP协议 被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。   为了解决HTTP协议的这一缺陷,需要使用另一种协议: 安全套接字层超文本传输协议HTTPS ,为了数据传输的安全, HTTPS在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器的身份,并为浏览器和服务器之间的通信加密。 一、HTTP和HTTPS的基本概念   HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。缺点是: 通信使用明文,所以内容是可以被窃听的; 不会验证双方的身份,因此可能会遇到伪装; 无法验证报文的完整性,有可能被篡改。   HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。   HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。 二

百度云centos7.5 apache2.4.6 部署ssl证书

女生的网名这么多〃 提交于 2019-11-30 06:45:45
百度云centos7.5 apache2.4.6 部署ssl证书 开通HTTPS站点 第一步:购买申请ssl证书 我使用的百度云免费ssl证书。申请过程 1)域名服务bcd—>ssl证书购买—>symantec一年免费—>填写申请—>得到如下 2)验证方法:回到“域名管理”目录 选择解析 填写下表,填写内容参考下面第二张图片 得到下表之后等待几分钟即可 3)回到ssl证书购买界面查看证书,下载证书 设置密码下载证书,使用此密码解压 第二步 部署证书 我使用的是系统环境是centos7.5 Apache 2.4.6 1)首先是检查是否安装了openssl 命令:#rpm -qa |grep mod_ssl 如果没有安装,那么需要先安装 #yum install -y mod_ssl 安装完成之后会得到 etc/httpd/conf.d/ssl.conf 文件 2)编辑Ssl.conf文件,需要打开编辑下面五个地方,希望不要打开#注释,而使用补充的方式来修改,以便于后期改回来 因为百度云给出的ssl证书文件所以注意五角星的地方。 3)请把申请得到的安全证书文件相应修改文件名: Server.cer private.key ca.crt 然后复制到相应的文件位置 其实你也可以修改这个路径,把放置在自己熟悉的位置 4)重启apache 到此安装部署完成 来源: CSDN 作者:

11.Nginx HTTPS 实践

馋奶兔 提交于 2019-11-29 22:03:01
1.HTTPS安全证书基本概述 为什么需要使用HTTPS, 因为HTTP不安全。当我们使用http网站时,会遭到劫持和篡改,如果采用https协议,那么数据在传输过程中是加密的,所以黑客无法窃取或者篡改数据报文信息,同时也避免网站传输时信息泄露。 那么我们在实现https时,需要了解ssl协议,但我们现在使用的更多的是TLS加密协议。 那么TLS是怎么保证明文消息被加密的呢?在OSI七层模型中,应用层是http协议,那么在应用层协议之下,我们的表示层,是ssl协议所发挥作用的一层,它通过(握手、交换秘钥、告警、加密)等方式,使应用层http协议没有感知的情况下做到了数据的安全加密 那么在数据进行加密与解密过程中,如何确定双方的身份,此时就需要有一个权威机构来验证双方省份。那么这个权威机构则是CA机构。那CA机构又是如何颁发证书 我们首先需要申请证书,需要进行登记,登记我是谁,我是什么组织,我想做什么,到了登记机构在通过CSR发给CA,CA中心通过后,CA中心会生成一对公钥和私钥,那么公钥会在CA证书链中保存,公钥和私钥证书订阅人拿到后,会将其部署在WEB服务器上 1.当浏览器访问我们的https站点时,它会去请求我们的证书 2.Nginx这样的web服务器会将我们的公钥证书发给浏览器 3.浏览器会去验证我们的证书是否是合法和有效的。 4.CA机构会将过期的证书放置在CRL服务器

基于nginx与OpenSSL实现https访问

青春壹個敷衍的年華 提交于 2019-11-29 19:34:40
注意!!首先在nginx安装时添加 --with-http_ssl_module 模块,否则将会报错,只能从头开始了 自建证书: 通过openssl命令(软件包: openssl ;openssl-devel ) 1)创建私钥: openssl genrsa -out server.key 1024 2)证书请求: openssl req -new -out server.csr -key server.key       //填写信息,注意!!将Common Name (eg, your name or your server's hostname行填写成服务器的IP地址) 3)自签署证书: openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt  4)将证书变成浏览器支持的.p12格式 openssl pkcs12 -export -clcerts -in server.crt -inkey server.key -out server.p12 修改nginx配置文件 server { listen 80; listen 443 default ssl;  //这样可以设置一个虚拟主机同时支持HTTP和HTTPS server_name localhost;  /

SSL,TLS协议与OpenSSL "心血"heartbleed漏洞之伤

老子叫甜甜 提交于 2019-11-29 17:17:34
一声惊雷,今天爆出了一个关于SSL协议的惊天大漏洞,在用完各种poc工具后,我们不妨来深入了解下这个高危漏洞的机理。 不管你是用网上公布的检测网站还是各个QQ群疯传的poc 脚本,知其然还要知其所以然,让我们知道漏洞形成的条件,以及漏洞产生的原理,如何修复这个惊天大漏洞。 这一次,腾讯的个别站点也没有幸免,果断是坑爹啊。点评ssl服务没有开启TLS heartbeat扩展,所以避过一劫,当然任何时候都不能说我们可以高枕无忧了,时刻得关注各种漏洞的发布与修复。 首先我们看一下某个有问题站点的SSL信息,当我们用openssl 以客户端模式连接对应网站的443端口的时候,会获取到对应服务器ssl协议中与TLS扩展相关的信息。 [root @king tests]# /usr/bin/openssl s_client -connect mail.xxx.com:443 -tlsextdebug 2>&1| grep 'TLS' TLS server extension "renegotiation info" (id=65281), len=1 TLS server extension "session ticket" (id=35), len=0 TLS server extension "heartbeat" (id=15), len=1 我们看到该站点开启了 heartbeat

1.http 协议和 https 协议的原理

心已入冬 提交于 2019-11-29 14:18:53
首先,我们得知道应用层是 OSI 七层网络模型的第七层,不同类型的网络应用有不同的通信 规则,因此应用层协议是多种多样的,比如 DNS、FTP、Telnet、SMTP、HTTP、 等协议都 是用于解决其各自的一类问题。 http 通信协议的基本原理 http 协议在远程通信场景中的应用还是挺广泛的,包括现在主流的微服务架构的通信都是基 于 http 协议。由于经常使用的关系,所以大家对 http 协议的理解还是比较深刻,我这里就直 接帮大家梳理一下 http 协议的基本原理。 一次 HTTP 请求的通信流程 我们先来思考一个问题,我们在浏览器上输入一个网址后,浏览器是如何展示目标网址的内 容的?内容是从哪里来的呢? 来通过图形把这个过程画一下 DNS: (Domain Name System)服务是和 HTTP 协议一样位于应用层的协议。它提供域名 到 IP 地址之间的解析服务, 用户通常使用主机名或域名来访问对方的计算机,而不是直接通 过 IP 地址访问。因为与 IP 地址的一组纯数字相比,用字母配合数字的表示形式来指定计算 机名更符合人类的记忆习惯。 但要让计算机去理解名称,相对而言就变得困难了。因为计算机更擅长处理一长串数字。为 了解决上述的问题,DNS 服务应运而生。DNS 协议提供通过域名查找 IP 地址,或逆向从 IP 地址反查域名的服务 HTTP 通信协议的组成

什么是ssl数字证书?它有什么作用?

纵然是瞬间 提交于 2019-11-28 19:41:28
互联网的传输的本质就是在用户端和服务器之间传递信号,如果只是普通的传递,一旦第三方从中间切入,随时就可以截取传递的信息,那么用户就索取不到需要的信息了,再严重一些,如果***盗取了信息并且篡改,那么用户不仅得不到想要的信息而且还会得到错误的信息。 ssl套层的加入就可以避免这种情况,他就像一张过滤网,建立在用户端和服务器之间,将“有害的信息”过滤掉,这样就可以保证用户上网的安全了。那么什么是ssl数字证书呢? 实际上,ssl数字证书和普通的纸质证书一样,却又不一样,普通的纸质证书一旦损坏就无法复原,但是数字证书是存在网络上的,永远不会消失,但是这种数字证书是一种证实自己身份的象征。如果用户拥有了自己的数字签名,当服务器需要验证的时候,用户出示自己的数字签名,便可以和服务器建立联系。 ssl数字证书有什么作用? 1、用户在进行在线交易的时候,由于是虚拟状态的交易,使用的付款方式也是虚拟的货币交易完成的,所以很难分辨对方的身份,这时候ssl数字证书作用就凸显出来了,他可以识别对方的身份是否正确,只有身份正确,数字证书这个“通行证”才会放行。如果没有ssl数字证书这个套层,那么交易的信息以及交易的密码都随时有可能被***盗取,如果这种情况盛行,那么就没有用户选择网上交易了。 2、ssl数字证书作用之二就是对传输的信息进行加密,不被***看到。如果用户端向服务器索要一个加密文件

Nginx下配置Https证书详细过程

余生长醉 提交于 2019-11-28 19:31:49
一、Http与Https的区别 HTTP:是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。 HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。 HTTPS和HTTP的区别主要如下: 1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。 2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。 3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。 4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。 二、使用openssl生成证书 openssl是目前最流行的SSL密码库工具,其提供了一个通用、健壮、功能完备的工具套件,用以支持SSL/TLS协议的实现。 比如生成到:/usr/local/ssl openssl req -x509 -nodes

MySQL 使用 SSL 登录

拈花ヽ惹草 提交于 2019-11-28 17:29:23
整个过程就是创建三张证书(包括私钥):自签根证书、服务器证书、客户端证书。然后配置服务器和客户端,开启 SSL 登录。 1、创建根证书 首先创建一张自签根证书(CA),先生成私钥。 openssl genrsa 2048 > ca-key.pem 然后生成公钥,根证书就制作完毕了。其中需要填写很多信息,直接回车就可以了,唯独要注意的是根证书的 Common Name 不能和后面签发的服务器、客户端证书相同,否则后面使用 SSL 登录的时候会出现错误 ERROR 2026 (HY000): SSL connection error: error:00000001:lib(0):func(0):reason(1) openssl req -new -x509 -nodes -days 3600 -key ca-key.pem -out ca.pem 2、创建服务器证书 先生成签发请求 server-req.pem openssl req -newkey rsa:2048 -days 3600 -nodes -keyout server-key.pem -out server-req.pem 生成私钥 server-key.pem openssl rsa -in server-key.pem -out server-key.pem 最后从根证书根据签发请求生成服务器证书(公钥)