首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何针对老旧浏览器设置 HTTPS 策略

但不幸是,IE 6 只支持 SSLv2 和 SSLv3(来源),也就是说 HTTPS 网站要支持 IE 6,就必须启用 SSLv3。仅这一项就会导致 SSL Labs 给出评分降为 C。...如果客户端支持 CipherSuite 列表与服务端配置 CipherSuite 列表没有交集,会导致无法完成协商,握手失败。...SSL CipherSuite 协商机制具有良好扩展性,每个 CipherSuite 都需要在 IANA 注册,并被分配两个字节标志。...但是对于 HTTPS 网站来说,要想发送 HTTP 数据,必须等待 SSL 握手完成,而在握手阶段服务端就必须提供网站证书。...有了 SNI,服务端可以通过 Client Hello 中 SNI 扩展拿到用户要访问网站 Server Name,进而发送与之匹配证书,顺利完成 SSL 握手

1.4K20
您找到你想要的搜索结果了吗?
是的
没有找到

HTTPS 原理浅析及其在 Android 中使用

采用CA私钥对信息摘要进行加密,密文即签名; (4) 客户端在HTTPS握手阶段向服务器发出请求,要求服务器返回证书文件; (5) 客户端读取证书相关明文信息,采用相同散列函数计算得到信息摘要...data protocol); 警报协议(alert protocol); (3) 握手协议   握手是TLS协议中最精密复杂部分。...如下图所示,可以看到传输数据已经是经过加密之后了。 ? (7) 警报协议(alert protocol)   警报目的是以简单通知机制告知对端通信出现异常状况。...字段:表示警报严重程度; AlertDescription:直接表示警报代码; ---- 4.在Android中使用HTTPS常见问题 (1) 服务器证书验证错误   这是最常见一种问题,通常会抛出如下类型异常...(2) 域名验证失败   SSL连接有两个关键环节。首先是验证证书是否来自值得信任来源,其次确保正在通信服务器提供正确证书。如果没有提供,通常会看到类似于下面的错误: ?

3.7K40

Nginx配置加密套件不当,导致无法建立连接分析

之前文章写了用zabbix自动发现功能,自动监控服务器上所有域名SSL证书到期时间,文章分别是简单脚本监控SSL证书到期时间和配置zabbix自动发现实现自动监控服务器所有域名SSL证书到期时间,有兴趣可以看下...然后有小伙伴说它用过程中,获取证书到期时间脚本执行报错 如图,报错结果很明显,就是ssl握手失败,协议是sslv3 获取ssl证书信息脚本中,是通过SSL.Context构建上下文对象,...指定使用TLSv1,但是报错是sslv3 于是我在本地测试,我本地是没有问题,我在脚本中添加输出链接协议版本 然后输出协议确实是使用了TLSv1,这里get_protocol_version返回就是...int型,769是tlsv1 于是,我让小伙伴把域名发我,我用脚本执行,报同样错误 在执行do_handshake,握手时候就报错了,所以也没有输出建立连接协议版本,没办法,只能抓包看了 抓到包...client hello包,查看加密套件 又问小伙伴要了nginx配置加密套件 可以看到,和客户端加密套件不匹配,所以这就是为什么握手不成功原因,可以看到,小伙伴加密套件设置太严格了,所以我让他重新配置了加密套件

3.7K10

Nginx加密套件配置不当,造成SSL无法建立连接

之前文章写了用zabbix自动发现功能,自动监控服务器上所有域名SSL证书到期时间,文章分别是简单脚本监控SSL证书到期时间和配置zabbix自动发现实现自动监控服务器所有域名SSL证书到期时间,有兴趣可以看下...然后有小伙伴说它用过程中,获取证书到期时间脚本执行报错 ?...如图,报错结果很明显,就是ssl握手失败,协议是sslv3 ?...获取ssl证书信息脚本中,是通过SSL.Context构建上下文对象,指定使用TLSv1,但是报错是sslv3 于是我在本地测试,我本地是没有问题,我在脚本中添加输出链接协议版本 ?...于是,我让小伙伴把域名发我,我用脚本执行,报同样错误 在执行do_handshake,握手时候就报错了,所以也没有输出建立连接协议版本,没办法,只能抓包看了 ?

3.2K10

重识Nginx - 12 SSLTLS 浅析

通过握手协议,通信双方协商出相同加密套件和密钥信息,后面便可以使用协商出结果对双方交互报文进行加密,从而实现安全可靠信息传递。...---- TLS 安全密码套件 ---- TLS握手过程 SSL/TLS使用证书来实现对数据加密传输以及身份认证。...导致握手失败一些原因 两边协议版本不兼容 两边加密算法无匹配项 如何优雅处理HTTPS中证书问题 ---- SSL认证方式 SSL认证方式有3种: 单向认证。客户端认证服务器。 双向认证。...单向认证和双向认证相比,只是不需要客户端上传证书,其他没有区别。 ---- 应用场景 目前SSL/TLS应用最多场景便是: 与HTTP结合组成HTTPS。...ssl on; ssl_certificate C:\\artisan.crt; ssl_certificate_key C:\\artisan.key; ssl_protocols SSLv3

1.2K30

TLS协议分析 (五) handshake协议 证书与密钥交换

并且,如果证书某些方面是不能接受(比如证书没有被可信任CA签署),服务器可以自行决定,是继续握手(放弃要求客户端认证),或者发送一条fatalalert。...要注意是,如果版本号检查失败了,PreMasterSecret 应该像下面描述那样填充成随机数。...处理 RSA 加密 premaster 消息失败, 2.或者版本号检查失败 时产生alert消息。当遇到这两种情况时,服务器必须用随机生成 premaster 值继续握手。...因此得出结果会和一些 SSLv3 实现不兼容。实现者从 SSLv3 升级到 TLS 时,必须修改自己实现,以接受并且生成带长度格式。...要注意,这要求双方在握手过程中,都得缓存所有消息,或者在握手过程中,用每一种可能hash算法计算到CeritificateVerify为止hash值。

1.5K20

Jexus服务器SSL二级证书安装指南

获取服务器证书中级CA证书: 为保障服务器证书在客户端兼容性,服务器证书需要安装两张中级CA证书(以证书签发邮件为准,部分证书产品只有一张中级证书),根证书证书链内容,放在服务器证书内容后边...jexus采用是Openssl API,证书文件按openssl处理,涉及到二级证书,需要把获得三张证书合并在一个证书文件里。...5.8可以设定SSL/TLS版本,默认是SSLv23,SSLv23可以同时支持SSLv3、TLSv1.0、TLSv1.1和TLSv1.2,具有比较广泛版本兼容性。...SSLv2这个配置其实没有SSLv2对应是sslv23,设为其它标准值,就是具体了,所以,如果你设为SSLv3,客户端浏览器等就必须用SSLv3与服务器交流,设为TLSv1.2,客户端就只能用TLSv1.2...标准与服务器交流,如果客户端没有对应版本号,就会连接失败,服务器端就会记一笔异常,说是SSLV3_GET_xxxxx版本号错误。

1.6K80

传输安全HTTPS

目前应用最广泛 TLS 版本是 1.2,而之前版本(TLS1.1 / 1.0、SSLv3 / v2)都已经被认为是不安全。 TLS 综合使用了对称加密、非对称加密、身份认证等许多密码学前沿技术。...--- TLS 由记录协议、握手协议、警报协议、变更密码规范协议、扩展协议等几个子协议组成: 记录协议(Record Protocol)规定了 TLS 收发数据基本单位是:记录(record)。...警报协议(Alert Protocol)职责是向对方发出警报信息。收到警报一方可以选择继续连接,也可以立即终止连接。...TLS 握手过程简要描述:通信双方在 TLS 握手过程中协商 TLS 版本号、密码套件,交换随机数、数字证书和密钥参数,最终通信双方协商得到会话密钥。"...TLS 握手过程简要描述:通信双方在 TLS 握手过程中协商 TLS 版本号、密码套件,交换随机数、数字证书和密钥参数,最终通信双方协商得到会话密钥。"

49140

浅析 HTTPS 和 SSLTLS 协议

然而,TLS 标准并没有规定应用程序如何在 TLS 上增加安全性;它把如何启动 TLS 握手协议以及如何解释交换认证证书决定权留给协议设计者和实施者来判断。...TLS记录协议提供连接安全性具有两个基本特性: 私有——对称加密用以数据加密(DES、RC4等)。对称加密所产生密钥对每个连接都是唯一,且此密钥基于另一个协议(如握手协议)协商。...TLS握手协议提供连接安全具有三个基本属性: 可以使用非对称,或公共密钥密码术来认证对等方身份。该认证是可选,但至少需要一个结点方。 共享解密密钥协商是安全。...然而,TLS标准并没有规定应用程序如何在TLS上增加安全性;它如何启动TLS握手协议以及如何解释交换认证证书决定权留给协议设计者和实施者来判断。...4)一致证书处理:与SSLv3.0不同,TLS试图指定必须在TLS之间实现交换证书类型。 5)特定警报消息:TLS提供更多特定和附加警报,以指示任一会话端点检测到问题。

2.1K40

国庆节前端技术栈充实计划(1):使用Nginx配置HTTPS 服务器

MD5; ... } 服务器证书是一个公共实体,它被发送给连接到服务器每一个客户机。私钥是一个安全实体,应该存储在具有受限访问文件中,但它必须可被nginx主进程读取。...注意,这些指令默认值已经 变更好几次了。 HTTPS 服务器优化 SSL操作会消耗额外CPU资源。 在多处理器系统上,应该运行不少于可用CPU内核数多个 工作进程。最耗CPU操作是SSL握手。...,nginx将会启动失败并显示如下错误信息: SSL_CTX_use_PrivateKey_file(" ......http区块中放置具有多个名称证书文件及其私钥文件,以在所有其下虚拟主机服务器中继承其单个内存副本: ssl_certificate common.crt; ssl_certificate_key...TLS服务器名称指示扩展(SNI,RFC 6066),其允许浏览器在SSL握手期间同时发送请求服务器名称,因此,服务器就知道它应该给这个连接使用哪个证书

94730

SSL与TLS区别以及介绍

TLS记录协议提供连接安全性具有两个基本特性: 私有——对称加密用以数据加密(DES、RC4等)。对称加密所产生密钥对每个连接都是唯一,且此密钥基于另一个协议(如握手协议)协商。...TLS握手协议提供连接安全具有三个基本属性: 可以使用非对称,或公共密钥密码术来认证对等方身份。该认证是可选,但至少需要一个结点方。 共享解密密钥协商是安全。...然而,TLS标准并没有规定应用程序如何在TLS上增加安全性;它如何启动TLS握手协议以及如何解释交换认证证书决定权留给协议设计者和实施者来判断。   ...4)一致证书处理:与SSLv3.0不同,TLS试图指定必须在TLS之间实现交换证书类型。   5)特定警报消息:TLS提供更多特定和附加警报,以指示任一会话端点检测到问题。...TLS还对何时应该发送某些警报进行记录。

1.5K20

Wireshark抓包分析SSL握手过程

一、就能看到完整SSL交互过程: 上面是TCP三次握手,三次握手之后就进入SSL握手过程。 二、SSL握手过程 1.第一个SSL握手是客户端向服务器发起Client Hello消息。...TLS是SSL协议一个版本。 SSL协议版本:SSLv3,TLS1.0,TLS1.2 客户端把自己所支持TLS版本都列在了Client Hello里面。就跟我们加密套件是一样。...点开这个请求可以看到: 客户端支持TLS1.0和TLS1.2,服务器从中选了一个共同都支持版本:TLS1.2。 这是个Server Hello握手类型。...选一个共同都支持加密套件: 服务器从客户端发消息里面,选了版本选了套件。都在Server Hello里面都告诉了客户端。 3.Server Hello之后,服务器发了一个证书。...点开可以看到: 在这个里面主要看证书。服务器可能有很多个证书。它会把这些证书都加上都发给客户端。 4.客户端拿到证书去做验证。验证完毕后生成一个本地随机密码,并且把密码发给服务器。

2.6K50

Python Web学习笔记之SSL,TLS,HTTPS

如果配置服务器SSL需要验证用户身份,还要发出请求要求浏览器提供用户证书。 3. 客户端检查服务器证书,如果检查失败,提示不能建立SSL连接。如果成功,那么继续。 4....双方使用同一个会话密钥分别对发送以及接受信息进行加、解密。 SSL协议优点是它提供了连接安全,具有3个基本属性: l 连接是私有的。在初始握手定义了一个密钥之后,将使用加密算法。...TLS 记录协议提供连接安全性具有两个基本特性:    私有――对称加密用以数据加密(DES 、RC4 等)。对称加密所产生密钥对每个连接都是唯一,且此密钥基于另一个协议(如握手协议)协商。...TLS 握手协议提供连接安全具有三个基本属性:    可以使用非对称,或公共密钥密码术来认证对等方身份。该认证是可选,但至少需要一个结点方。  共享加密密钥协商是安全。...4)一致证书处理:与SSLv3.0不同,TLS试图指定必须在TLS之间实现交换证书类型。 5)特定警报消息:TLS提供更多特定和附加警报,以指示任一会话端点检测到问题。

1.2K30

HTTP与HTTPS区别,详细介绍

2、http是超文本传输协议,信息是明文传输,https则是具有安全性ssl/tls加密传输协议。...目前应用最广泛 TLS 是 1.2,而之前协议(TLS1.1/1.0、SSLv3/v2)都已经被认为是不安全了 SSL/TLS协议基本过程(TLS1.2) 客户端向服务器端索要并验证公钥。...4)一致证书处理:与SSLv3.0不同,TLS试图指定必须在TLS之间实现交换证书类型。 5)特定警报消息:TLS提供更多特定和附加警报,以指示任一会话端点检测到问题。...TLS还对何时应该发送某些警报进行记录。...使用ECDHE算法TLS交换过程具有如下优点:运算速度快,安全性高,还支持“False Start”,能够把握手消息往返由 2-RTT 减少到 1-RTT 所以现在主流服务器和浏览器在握手阶段都已经不再使用

1.8K20

10 requests处理SSL证书验证

requests支持证书验证方式 SSL证书验证 客户端证书验证 CA证书验证 SSL证书验证 来个大写问题,SSL是什么,为什么在发起HTTPS请求时候需要证书验证?...TSL.png 事实上,SSL协议分为2层,包括SSL记录协议和SSL握手协议,同时,SSL协议还包括加密算法一些概念,嗯,太复杂了,我也编不下去了,,希望在后面的学习中,能把前面浏览知识总结起来...SSL 验证默认是开启,如果证书验证失败,Requests 会抛出 SSLError: >>> import requests>>> requests.get('https://github.com'...import requests from requests.packages import urllib3 # 关闭告警信息 urllib3.disable_warnings() url = 'https...image.png 总结 https请求进行ssl验证或忽略ssl验证才能请求成功,忽略方式为verify=False SSL证书是由CA机构颁发,嗯,所以安全也是要钱 要完全理解HTTP协议,

1.7K10

ssl服务器原理,SSL工作原理

原标题:SSL工作原理 SSL工作原理中包含如下三个协议: 1、握手协议 握手协议是客户端和服务器用于与SSL连接通信第一个子协议。握手协议包括客户端和服务器之间一系列消息。...(2)完整性:握手协议定义了MAC,用于保证消息完整性 3、警报协议 客户机和服务器发现错误时,向对方发送一个警报消息。...每个警报消息共2个字节,第1个字节表示错误类型,如果是警报,则值为1,如果是致命错误,则值为2;第2个字节制定实际错误类型。...证书工作流程 1、用户连接到你Web站点,该Web站点受服务器证书所保护。(可由查看 URL开头是否为”https:”来进行辩识,或浏览器会提供你相关信息)。...2、你服务器进行响应,并自动传送你网站数字证书给用户,用于鉴别你网站。 3、用户网页浏览器程序产生一把唯一“会话钥匙码,用以跟网站之间所有的通讯过程进行加密。

1.3K20

High Performance Browser Networking – TCP UDP TLS

web server会检查SNI 中 hostname. 并选择合适证书, 并继续完毕握手。...现代化浏览器会有意等待第一个TLS连接完毕,在打开一条新连接。 但是,在实际工作中。使用server创建和保存session 标识符 具有局限性。...直至根文件夹信任证书。 这过程中会有新DNS 查询, TCP连接。 和 HTTP GET请求。 会有数百毫秒握手延迟。 但是浏览器怎么知道怎样获取中间证书呢?...每个子证书通常都包括了父证书URL 相反, 你必须在你信任链里不会包括不是必需证书, 或者通俗点说, 你应该降低信任链大小。 回顾一下。 server在TLS 握手期间。...因为 s_client 不清楚root证书,我们须要手动将 StartSSL Certifiecate Authority 导入到根文件夹(很重要一步) , 否则 s_client 会看到一个校验失败错误日志

38310
领券