• HTTPS简述


    Https是什么?
    HTTPS是Http Over SSL,简单来说就是HTTP的安全版本,在http之上使用TLS,SSL加密协议。
    HTTPS实质是在HTTP基础上使用非对称加密相互生成并传递对称加密的秘钥,然后使用这个秘钥进行后续的内容传输。
     
    为什么要使用HTTPS
    更安全,防止DNS劫持,防止钓鱼网站,阻止运营商广告。针对一些假网站,如jia.baidu.com之类的。
    能够实现:内容加密,身份认证,数据完整性校验三大功能。
     
     
    缺点?
    更耗时,需要消耗浏览器-服务器双方的计算资源。 一次完全 TLS 握手,密钥交换时的非对称解密计算量占整个握手过程的 90% 以上
     
    实现原理:
    使用算法:
    非对称加密算法:RSA,DSA/DSS
    对称加密算法:AES,RC4,3DES
    HASH算法:MD5,SHA1,SHA256
    其中浏览器优先支持 RSA 和 ECDH_RSA 密钥交换算法
    其中的 公钥加密目前只能用来作密钥交换或者内容签名,不适合用来做应用层传输内容的加解密。
     
    下面是详细过程:
    传统TCP三次握手
    HTTPs的握手过程:
    一:浏览器请求:
         发送支持的TLS等协议,列举支持的加密算法,压缩算法。
    二:服务器确认:
         发送服务器证书,带着服务器的公钥,确认使用的加密算法,确认安全协议。
    三:浏览器核实:
         浏览器首先验证证书真假,然后从证书中获取公钥,用公钥加密随机数,再用随机数加密消息。并发送信息。和hash验证值
    四:服务器再确认:
         服务器使用私钥解密随机数,在用随机数解密握手消息,并验证Hash是否与浏览器发送的一致。使用这个随机数加密一段握手消息发送给浏览器。告知可以传输数据了。
    五:传输数据。
         双发使用浏览器之前生成的随机数密码进行加密传输。
     
    怎么用:
     
    Tomcat中使用HTTPS
    1.使用jdk keytool生成证书.
    cmd命令cd %JAVA_HOME%/bin/ 进入jre环境
    输入命令keytool -genkey -alias tomcat -keyalg RSA -keystore D:Tomcat omcat.keystore
    在D盘生成证书。
     找到tomcat路径的conf文件夹,打开server.xml.
    搜索TLS字样的节点,去掉注释,添加
     keystoreFile= "D:Tomcat omcat.keystore" keystorePass="tomcat"
    两处,这两处要与生成的名字和路径一致,保存。
    在conf中的web.xml中 </welcome-file-list>节点后面添加
    <login-config>
    <!--AuthorizationsettingforSSL-->
    <auth-method>CLIENT-CERT</auth-method>
    <realm-name>ClientCertUsers-onlyArea</realm-name>
    </login-config>
    <security-constraint>
    <!--AuthorizationsettingforSSL-->
    <web-resource-collection>
    <web-resource-name>SSL</web-resource-name>
    <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <user-data-constraint>
    <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
    </security-constraint>
     
    强制所有的请求都通过https
     
    IIS 中配置https
    以我的阿里云server 2008为例。
    在跟节点选择服务器证书。
    创建自签名证书
    完成之后找到一个网站,编辑绑定
    添加证书
    完成之后就通过https浏览了。
    当然这只是自己测试用的,网站中使用的话需要购买CA机构的证书,参考:
     
     
     
     
    参考:
     
     
  • 相关阅读:
    java 多线程 合并多个查询结果
    Nginx + Tomat https ssl 部署方案
    ActiveMQ 简单介绍以及安装
    Redis 基础使用 及 队列、订阅
    RPC远程调用 之 Hessian
    SpringBoot 整合 Swagger2 以及 Swagger2 常用使用
    Mysql 优化
    JVM性能调优
    超实用压力测试工具-ab工具
    easypoi 快速开发 导出 各种姿势的excel
  • 原文地址:https://www.cnblogs.com/wanglao/p/5327736.html
Copyright © 2020-2023  润新知