SSL 原理

SSL 简介

SSL (Secure Socket Layer), 中文名称 安全套接字.

SSL 的出现, 主要是为了解决Web浏览器和Web服务器之间的安全传输问题.

主要概念

SSL 中主要有如下几个概念:

  • 传输加密: 所有消息加密后传输
  • 身份验证: 客户端验证可选, 服务端验证强制
  • 传输完整性: 传输的消息的完整性检查 (使用 MAC)

建立安全连接的过程

过程图:

步骤说明:

  1. client 发送 clientHello 信息给 server
  2. server 识别之后发送 serverHello 给 client, 这个过程建立安全能力, 包括协议版本, sessionID, 加密算法, 压缩方法, 随机数.
  3. 此时 SSL 握手的第一阶段完成
  4. server 会向 client 发送server的证书 (证书中有 server 端的公钥)
  5. server 向 client 发送密钥交换信息. 同时还会请求 client 端的证书.
  6. server 发送 Hellodone 信息, 表示 server 端的请求结束.
  7. 此时 SSL 握手的第二阶段完成
  8. client 发送client证书 (client没有证书的话, 可以回复 server 无证书)
  9. client 生成一个对称密码, 并发送给 server (这里的信息用收到的 server 端公钥来加密)
  10. 如果 client 发送了client证书, 那么还会发送证书验证信息
  11. 此时 SSL 握手的第三阶段完成
  12. client 通知 server 以后通信用之前发送的对称密码加密, 并结束握手
  13. server 通知 client 以后通信用之前发送的对称密码加密, 并结束握手

https 配置 (以 nginx 为例)

centos6.6 x86_64 上实验

  1. 生成证书

    cd /etc/nginx
    openssl genrsa -des3 -out server.key 1024 # 设置证书密码
    openssl req -new -key server.key -out server.csr # 根据提示输入各种信息
    cp server.key server.key.org
    openssl rsa -in server.key.org -out server.key
    openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
  2. 设置 https 的证书

    cat /etc/nginx/ssl.conf
    # HTTPS server
    #
    server {
    listen 443 ssl;
    server_name localhost; ssl_certificate /etc/nginx/server.crt;
    ssl_certificate_key /etc/nginx/server.key; ssl_session_cache shared:SSL:1m;
    ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on; location / {
    root /usr/share/nginx/html;
    index index.html index.htm;
    }
    }
  3. 重启 nginx

    nginx -s reload
  4. 从浏览器中可以查看是否配置成功 (https://hostip/)

SSL 原理及 https 配置的更多相关文章

  1. 单点登录 SSO, 自动登录 , java 加密,ssl原理, Tomcat配置SSL

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha 单点登录的英文简称为SSO(single sign on),单点登录功能使得用户只要登录 ...

  2. SSL证书与Https应用部署小结

    为了提高网站的安全性,一般会在比较敏感的部分页面采用https传输,比如注册.登录.控制台等.像Gmail.网银等全部采用https传输. https/ssl 主要起到两个作用:网站认证.内容加密传输 ...

  3. https原理及tomcat配置https方法

    一. 什么是HTTPS 在说HTTPS之前先说说什么是HTTP,HTTP就是我们平时浏览网页时候使用的一种协议.HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不 ...

  4. (HTTPS)-https原理及tomcat配置https方法

    一. 什么是HTTPS 在说HTTPS之前先说说什么是HTTP,HTTP就是我们平时浏览网页时候使用的一种协议.HTTP协议传 输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常 ...

  5. Nginx负载均衡、SSL原理、生成SSL密钥对、Nginx配置SSL

    6月12日任务 12.17 Nginx负载均衡12.18 ssl原理12.19 生成ssl密钥对12.20 Nginx配置ssl扩展 针对请求的uri来代理 http://ask.apelearn.c ...

  6. Linux centosVMware Nginx负载均衡、ssl原理、生成ssl密钥对、Nginx配置ssl

    一.Nginx负载均衡 vim /usr/local/nginx/conf/vhost/load.conf // 写入如下内容 upstream qq_com { ip_hash; 同一个用户始终保持 ...

  7. Linux下Nginx配置阿里云 SSL证书实现HTTPS访问

    这篇文章主要介绍了nginx配置ssl证书实现https访问的示例 1.服务器系统:Centos 2. 阿里云申请SSL证书 选择“免费版DV SSL”,点击立即购买: 下载证书 列表中找到已签发的证 ...

  8. nginx配置ssl证书实现https访问

    一,环境说明 服务器系统:ubuntu16.04LTS 服务器IP地址:47.89.12.99 域名:bjubi.com 二,域名解析到服务器 在阿里云控制台-产品与服务-云解析DNS-找到需要解析的 ...

  9. nginx普通配置/负载均衡配置/ssl/https配置

    1.nginx普通配置 server { listen ; server_name jqlin.lynch.com; access_log /var/log/nginx/main.log main; ...

随机推荐

  1. Perl的IO操作(1):文件句柄

    文件句柄 文件句柄用来对应要操作的文件系统中的文件,这么说不太严谨,但比较容易理解.首先为要打开的文件绑定文件句柄(称为打开文件句柄),然后在后续的操作中都通过文件句柄来操作对应的文件,最后关闭文件句 ...

  2. svn迁移后本地地址变更及externals无效的问题

    1.软件: visual SVN Server 2.具体方法: 在打开本地原来SVN check  out的根目录,点右键,tortoiseSVN --> relocate 弹出的对话框中修改s ...

  3. MVC查找排序分页学习

    2018-08-07 16:04:11 实现常用功能(Index.cshtml中) 1.查找 2.用户名排序(点击用户名) 3.分页功能(数据库MVCDemo可以添加用户) 源代码参考如下: 链接:  ...

  4. C# 操作注册表WindowsRegistry

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsof ...

  5. JQuery官方学习资料(译):$( document ).ready()

         一个页面直到document是”ready“才能被安全的操作,Jquery为你检查这种状态.代码包含在$( document ).ready()的内部将会仅仅运行一次在页面Document ...

  6. 1.Linux电源管理-休眠与唤醒

    1.休眠方式 在内核中,休眠方式有很多种,可以通过下面命令查看 # cat /sys/power/state //来得到内核支持哪几种休眠方式. 常用的休眠方式有freeze,standby, mem ...

  7. LeNet训练MNIST

    jupyter notebook: https://github.com/Penn000/NN/blob/master/notebook/LeNet/LeNet.ipynb LeNet训练MNIST ...

  8. ASPxGridView 用法

    一.ASPxGridView属性:概述设置(Settings) 1.1.Settings <Settings GridLines="Vertical" : 网格样式 Vert ...

  9. loj#6030. 「雅礼集训 2017 Day1」矩阵(贪心 构造)

    题意 链接 Sol 自己都不知道自己怎么做出来的系列 不难观察出几个性质: 最优策略一定是先把某一行弄黑,然后再用这一行去覆盖不是全黑的列 无解当且仅当无黑色.否则第一个黑色所在的行\(i\)可以先把 ...

  10. Suricata规则编写——常用关键字

    本篇转载自:http://blog.csdn.net/wuyangbotianshi/article/details/44775181 1.简介 现在的NIDS领域snort一枝独秀,而suricat ...