https

最近需要把网站的访问协议由http转为https,在此记录一下经过,以便作知识的积累、学习之路上的脚印。

简单介绍:

  Https(http over ssl)即 HTTP下加入SSL层 , HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。现在它被广泛用于互联网上安全敏感的通讯,例如交易支付等。

  Https(http over ssl)包含加密和证书两部分,被设计用来在Internet安全进行通信。

https协议目前使用情况:

  普通电商 只会在 登录 和 交易 这些“关键”环节启用HTTPS。

  互联网上安全敏感的通讯使用,例如交易支付等。

  不过,现在越来越多的网站开始使用https。

优缺点:

  优点: 无需改造现有Web系统,只需要在Web应用和用户之间加一层https代理,实现简单,安全性很高

  缺点: 正规机构颁发的https证书是要钱的,使用自签发证书浏览器会有安全提示,而且确实有可能被第三方伪造而用户无法识别

将网站改造为HTTPS 协议

  升级到 HTTPS 协议的第一步,就是要获得一张证书。

  证书是一个二进制文件,里面包含经过认证的网站公钥和一些元数据,要从经销商购买。

  证书有很多类型,首先分为三种认证级别。

    • 域名认证(Domain Validation):最低级别认证,可以确认申请人拥有这个域名。对于这种证书,浏览器会在地址栏显示一把锁。
    • 公司认证(Company Validation):确认域名所有人是哪一家公司,证书里面会包含公司信息。
    • 扩展认证(Extended Validation):最高级别的认证,浏览器地址栏会显示公司名。

生成证书有两种方式:

  •   从经销商购买第三方颁发的证书
  •   使用自带的jdk自己生成证书

https 自己生成的证书和第三方颁发的证书,用户在浏览网站的时候有啥区别吗?

  没啥区别,都是证书,不过自签发的证书是不可信的,浏览器会报错,第三方可信CA签发的证书是可信的正常访问没有任何提示。

  你自己的证书只能你自己用,浏览器可以根据证书的颁发机构来识别的你的证书是不是从CA根服务器获取来的

  你的证书会提示"此连接不受信任",因为用户系统证书里并没有你的证书,而那些能卖的证书都是在系统里面内置的。

  “安装证书”是指用户安装ca的根证书,这个证书既不是服务器的,也不是客户的,是某个ca的,安装了这个根证书之后,你的浏览器就能够识别这个ca签发的证书。在操作系统和浏览器里面已经内置了一些ca的根证书,对一般的ssl的网站,用户不需要再作什么操作。如果那个网站的证书的签发的ca在用户电脑里没有支持,那就需要单独安装一下那个ca的根证书。

第三方颁发证书选择:

  https://www.zhihu.com/question/22120030

  https://www.zhihu.com/question/19578422

  https://www.upyun.com/products/ssl

  https://juejin.im/post/58a9296761ff4b0062bc1eaa

  http://www.zzidc.com/SSL

使用自带的JDK自带的keytool工具自己生成证书(tomcat配置https):

  http://www.cnblogs.com/wanghaoyuhappy/p/5267702.html

  http://blog.csdn.net/a35038438/article/details/50598429

  http://blog.csdn.net/p793049488/article/details/53422195

  http://jingyan.baidu.com/article/a948d6515d3e850a2dcd2ee6.html

  http://blog.csdn.net/u014723189/article/details/45365805

参考:

  https://juejin.im/entry/57c3d3088ac24700634b07c7

https原理讲解:

  http://blog.csdn.net/dd864140130/article/details/52598107

  http://www.cnblogs.com/qieguo/p/6280292.html

  http://www.cnblogs.com/chyingp/p/https-introduction.html

原文地址:https://www.cnblogs.com/fengbing9891/p/6744543.html