https 以及内网如何使用

HTTPS 区别于 HTTP,它多了加密(encryption),认证(verification),鉴定(identification)。它的安全源自非对称加密以及第三方的 CA 认证。

https 运作流程的加密

1. 客户端生成一个随机数 random-client,传到服务器端(Say Hello)
2. 服务器端生成一个随机数 random-server,和着公钥,一起回馈给客户端(I got it)
3. 客户端收到的东西原封不动,加上 premaster secret(通过 random-client、random-server 经过一定
    算法生成的东西),再一次送给服务器端,这次传过去的东西会使用公钥加密定算法生成的东西),再
    一次送给服务器端,这次传过去的东西会使用公钥加密算法生成的东西),再一次送给服务器端,
    这次传过去的东西会使用公钥加密定算法生成的东西),再一次送给服务器端,这次传过去的东西会使用公钥加密
4. 服务器端先使用私钥解密,拿到 premaster secret,此时客户端和服务器端都拥有了三
5. 个要素:random-client、random-server 和 premaster secret个要素:random-client、random-server 
    和 premaster secret

此时安全通道已经建立,以后的交流都会校检上面的三个要素通过算法算出的 session key

https 运作流程的认证

问: 光加密不行,如何确保没有中间人?客户端访问的一定就是目标网站?

 证书,权威机构颁发的证书,中间人是没有目标网站的证书的。所以证书需要权威机构颁发,一般浏览器支持大多数权威机构

问: CA 证书包含什么内容?

数字签名(Signature Algorithm)
有效时间(Validity)
主体(Issuer)
公钥(Public Key)
X509v3 扩展,证书格式

问: 好一点的证书收付费昂贵,免费的证书也有限制,如果是内网用(没用公网域名或只有内网IP),可以不可使用 https 呢?

答案:可以。
在内网,我们可以自建 ROO CA,充当权威认证机构
使用openSSL创建服务端公钥和密钥,并使用 CA 签发,将签发后的私钥(pem)和公钥文件(key)配置到服务器网站中
(也可以生成jks文件,一个 jks 可以包含多个公钥和私钥)

问: 内网客户端访问配置成功的https后会提示网站不受信任,是什么原因?如何处理?

任何个体/组织都可以扮演 CA 的角色,只不过难以得到客户端的信任,能够受浏览器默认信任的 CA 大厂商有很多,其中
 TOP5 是 Symantec、Comodo、Godaddy、GolbalSign 和 Digicert,当然是不信任自建CA的,
所以会提示用户网站不受信任。所以客户端浏览器访问自建 https 网站时需要安装 ROOT CA 证书,表示信任该自建CA

https 其他知识

  1. https 的传输采用的是非对称加密,一组非对称加密密钥包含公钥和私钥,通过公钥加密的内容只有私钥能够解密
  2. CA 认证分为三类:DV ( domain validation),OV ( organization validation),EV ( extended validation),证书申请难度从前往后递增,貌似 EV 这种不仅仅是有钱就可以申请的
  3. HTTPS一般使用的加密与HASH算法如下:
    非对称加密算法:RSA,DSA/DSS
    对称加密算法:AES,RC4,3DES
    HASH算法:MD5,SHA1,SHA256
    其中非对称加密算法用于在握手过程中加密生成的密码,对称加密算法用于对真正传输的数据进行加密,而HASH算法用于验证数据的完整性。由于浏览器生成的密码是整个数据加密的关键,因此在传输的时候使用了非对称加密算法对其加密。非对称加密算法会生成公钥和私钥,公钥只能用于加密数据,因此可以随意传输,而网站的私钥用于对数据进行解密,所以网站都会非常小心的保管自己的私钥,防止泄漏。

以上总结来自众多文章中筛选出来的说的比较清楚的,作为参考
https://www.barretlee.com/blog/2016/04/24/detail-about-ca-and-certs/
https://www.barretlee.com/blog/2015/10/05/how-to-build-a-https-server/
https://www.cnblogs.com/wqhwe/p/5407468.html
https://blog.csdn.net/think_program/article/details/60780843

weblogic 中如何配置 https 可参考
http://dead-knight.iteye.com/blog/1941716
https://blog.csdn.net/h330531987/article/details/74991694

tomcat 中如何配置 https 可参考
https://blog.csdn.net/Bronna/article/details/75290819

具体实现,请看下一篇 自签 https 证书

  • 11
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值