为什么有时候访问某些加密https网站是不需要证书的? https? ssl?
来源:互联网 发布:淘宝订购服务怎么退款 编辑:程序博客网 时间:2024/05/18 17:41
转自: http://www.cnblogs.com/zedosu/p/6558209.html
根证书是CA颁发给自己的证书, 是信任链的起点
1.所有访问https的网站都是需要证书的。
2.对于某些网站,尤其是证书颁发机构的网站,操作系统自动添加了这些网站访问需要的证书到证书管理器中,所以就算用户完全不知道这些网站,他们也能很轻松的利用https访问这些网站,因为这些证书被操作系统管理并且已经关联到受信任的CA了。
3.对于其他网站,则这些网站必须提供证书才能安全访问,如果他们的证书无法被CA验证的话,浏览器就会弹出一些提示(取决于不同的浏览器),来告知终端用户这个网站可能不安全,希望不要发送私密数据。
4.操作系统都有自己的证书管理器,而安装在操作系统中的浏览器默认的导入证书则是操作系统证书管理器的证书列表+特定浏览器自己添加的少许证书。
HTTPS(Hypertext Transfer Protocol Secure)安全超文本传输协议
它是由Netscape开发并内置于其浏览器中,用于对数据进行压缩和解压操作,并返回网络上传送回的结果。HTTPS实际上应用了Netscape的完全套接字层(SSL)作为HTTP应用层的子层。(HTTPS使用端口443,而不是象HTTP那样使用端口80来和TCP/IP进行通信。)
https是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,https的安全基础是SSL,因此加密的详细内容请看SSL。
ssl工作流程
服务器认证阶段:
1)客户端向服务器发送一个开始信息“Hello”以便开始一个新的会话连接;
2)服务器根据客户的信息确定是否需要生成新的主密钥,如需要则服务器在响应客户的“Hello”信息时将包含生成主密钥所需的信息;
3)客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器;
4)服务器回复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器。
用户认证阶段:
在此之前,服务器已经通过了客户认证,这一阶段主要完成对客户的认证。
经认证的服务器发送一个提问给客户,客户则返回(数字)签名后的提问和其公开密钥,从而向服务器提供认证。
阅读全文
0 0
- 为什么有时候访问某些加密https网站是不需要证书的? https? ssl?
- Https SSL加密Rest Cilent访问,证书不通过的问题
- https访问需要ssl证书
- 十大免费SSL证书:网站免费添加HTTPS加密
- 十大免费SSL证书:网站免费添加HTTPS加密
- Nginx配置SSL证书实现访问HTTPS网站
- Java程序避开SSL证书问题访问https网站
- 八大免费SSL证书-给你的网站免费添加Https安全加密
- httpclient访问未知证书的https网站
- Java用HttpsURLConnection访问https网站的时候如何跳过SSL证书的验证?
- CA加密,网络安全HTTPS SSL-ca证书
- nginx配置免费的ssl证书,支持https安全访问
- 申请免费的腾讯云SSL证书,实现https访问
- Tomcat 配置阿里的ssl安全证书,实现https访问
- CURL使用SSL证书访问HTTPS
- CURL使用SSL证书访问HTTPS
- CURL使用SSL证书访问HTTPS
- 跳过SSL证书检测,访问https
- netty3和netty4区别
- ListView简单实用-自定义BaseAdapter,然后绑定ListView的最简单例子
- 从零开始
- Java 自动装箱拆箱
- 第一次获取github上go语言编写的一个项目遇到问题的处理
- 为什么有时候访问某些加密https网站是不需要证书的? https? ssl?
- 《OC基础教程》读书笔记7-NSArray,NSMutableArray初识
- 一个模仿Airbnb APP的一键切换UI
- 彻底理解js中this的指向,不必硬背
- C++字符串操作详解
- 通俗的解释一下范式
- 问题总结
- ES6学习——class到底是个啥
- 常用算法——贪婪