tls版本_tls版本设置 - CSDN
精华内容
参与话题
  • TLS支持版本检测

    千次阅读 2019-06-21 19:50:58
    今天有开发同事询问“生产环境的TLS版本是多少”,这个问题还真没太关注过,首先想到的是通过Chrome浏览器的开发者工具查看一下,访问https页面查看如下: 这太概是说使用了TLS1.2,于是截图给我开发人员,随后...

    今天有开发同事询问“生产环境的TLS版本是多少”,这个问题还真没太关注过,首先想到的是通过Chrome浏览器的开发者工具查看一下,访问https页面查看如下:

    这太概是说使用了TLS1.2,于是截图给我开发人员,随后开发人员更新反馈如下:

    以上内容来自于微信小程序开发指南,针对以上问题再次进行调查,得到如下网站:

    https://www.ssllabs.com/ssltest/index.html

    这是一个可以分析ssl服务器的在线工具,可以知道自己的服务器是否已经开启了哪个版本的TSL。

    进入这个网站,输入自己服务器的ip或者域名,查询可能等个几分钟。

    检测结果说明服务器已经开启相关协议,完毕。

    转载于:https://www.cnblogs.com/sgwjj/p/7542199.html

    展开全文
  • Tls升级-将tls从1.0升级到1.2

    万次阅读 2018-12-26 17:43:43
    背景: 某人在开发微信小程序时,调用测试环境的https接口,该接口由nginx提供...查看ssl版本 1 cmd openssl s_client -connect domain:443 -tls1 (-tls1_1, -tls1_2) 其中domain 表示nginx 域名配置中使用http...

    背景: 某人在开发微信小程序时,调用测试环境的https接口,该接口由nginx提供代理服务,报错,说是不支持tls1 ,需要升级到tls1.2

    环境: Ubuntu 16.04.5 LTS

    查看ssl版本

    1 cmd

    openssl s_client -connect domain:443 -tls1 (-tls1_1, -tls1_2)
    其中domain 表示nginx 域名配置中使用https的域名,以上命令可以查看,目前nginx支持的tls版本。

    2 chrome

    依次打开: 右键->审查(inspect) ->安全(security)。

    然后在当前页面访问配置的域名。然后 安全(security) 下点击要查看的域名,即可在右侧的连接中的协议下,看到 tls 版本号。
    在这里插入图片描述

    升级操作总共分三步:
    1 升级openssl 2 重新编译nginx (这一步可以尝试不操作,因为自己看openssl是以动态库的方式使用,但是自己没有试过跳过这一步) 3,修改配置文件

    1 升级安装openssl

    常见的比较方便的做法是使用系统的软件管理工具, 比如 apt, yum等。具体做法,可以在网上找资料。
    此处还是使用源码手动安装:

    下载openssl

    在官网下载相应源码, https://www.openssl.org/source/

    解压后安装

    ./config 
    make
    sudo make install
    

    默认的安装目录:

    /usr/local/ssl/bin/openssl
    /usr/local/ssl/include/openssl
    

    所以现在可以查看你安装的openssl 版本:

    /usr/local/ssl/bin/openssl version -a
    

    创建软连接

    依次执行以下操作

    mv /usr/bin/openssl /usr/bin/openssl.old
    mv /usr/include/openssl /usr/include/openssl.old
    ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
    ln -s /usr/local/ssl/include/openssl/ /usr/include/openssl
    

    然后

    sudo vim /etc/ld.so.conf
    

    /usr/local/ssl/lib 添加到上面文件中,报错退出,然后通过以下命令,可以看到自己安装的openssl版本号。

    openssl version -a
    

    2 nginx 重编译

    由于之前别人是使用apt之间安装的nginx,当然可以直接重新编译生成nginx,然后替换 sbin/nginx,即可,具体实现,参见我之前文章,
    给网站添加ssl证书(https)https://blog.csdn.net/a1368783069/article/details/80719768 中的 nginx 安装ssl模块 方法。
    个人建议安装nginx使用手动编辑安装。
    从官网下载nginx源码。解压文件,使用默认安装。

    ./configure
    make
    sudo make install
    

    执行 sudo /usr/local/nginx/sbin/nginx 会提示没有安装与ssl 相关的modules, 则重新编译nginx

    1、 生成文件 进入nginx安装文件目录,执行:

    ./configure --with-http_ssl_module
    make
    1 2 2、 替换nginx
    首先关闭nginx服务(很重要)
    在nginx安装文件目录下面,会生成一个 objs 目录,将 objs/nginx替换
    /usr/local/nginx/sbin/nginx(两者都是nginx的可执行文件)。 重启nginx服务就行。
    /usr/local/nginx/sbin/nginx -s reload

    以上的操作,主要是理解nginx这种更新操作过程。
    如果想一步到位,安装nginx,检测环境的时候,可以直接

    ./configure --with-http_ssl_module
    make
    sudo make install
    

    3 更改nginx 配置文件

    原来的配置文件中,
    对ssl的设置时

    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2 ;
    

    所有配置文件中的 ssl_protocols 都改为(有的会配置多个网站,每个都需要改):

    ssl_protocols   TLSv1.2 TLSv1.1 TLSv1 ;
    

    或者只保留 TLSv1.2 。
    一般,可以检测配置文件是否有问题

    /usr/local/nginx/sbin/nginx   -t
    

    然后查看ssl 版本号。

    其他

    查看nginx安装使用的配置,以及添加的模块

    nginx -V
    

    参考文章:
    为CentOS升级OpenSSL 让Nginx支持TLS 1.2
    https://www.sunbloger.com/2016/12/26/543.html

    nginx 配置TLS1.2无效总是TLS1.0 https://blog.csdn.net/wanderstarrysky/article/details/53336129

    展开全文
  • 1.访问页面提示TLS版本过时 原因: 这并不是心血来潮,而是准备已久的决定。 早在2018 年 10 月,春季TLS 1. 3 版本发布之后,苹果、谷歌、Mozilla和微软四大浏览器制造商便已联合宣布计划在 2020 年初取消对TLS ...

    1.访问页面提示TLS版本过时

    原因:

    这并不是心血来潮,而是准备已久的决定。

    早在2018 年 10 月,春季TLS 1. 3 版本发布之后,苹果、谷歌、Mozilla和微软四大浏览器制造商便已联合宣布计划在 2020 年初取消对TLS 1. 0 和TLS 1. 1 的支持。

    所以需要对TLS进行升级,以便浏览器能正常访问。

    2.解决方法

    备份:找到nginx配置文件nginx.conf。或者直接备份ssl_protocols  SSLv2 SSLv3 TLSv1;

    #ssl_protocols  SSLv2 SSLv3 TLSv1;

    改为  ssl_protocols  TLSv1.2 TLSv1.3;

    测试配置文件:nginx –t (nginx安装方法不同,命令也可能不同)

    如果配置正确,重新加载配置文件:nginx -s reload

    重新访问网页,不再提示TLS过时,说明升级完成。

    (服务配置不同,解决方法可能不同,该方法仅供参考)

    ssl和tls可以理解为是同一种协议,展示改了名字,发展历史,ssl1.0->ssl2.0->ssl3.0->tls1.0->tls1.1->tls1.2->tls1.3

    当前最常用tls1.2,最新为tls1.3

     

     

    展开全文
  • 版本SSL/TLS将被弃用,如何应对?

    万次阅读 2017-08-11 00:14:45
    版本SSL/TLS将被弃用,如何应对? 前言: 很长时间,公司都是使用authorize.net在线支付方案,最近收到通知,说'TLS Disablement Date Extended',明年2018年将会不支持旧版本TLS v1.1 v1.0和更旧的SSL。...


    旧版本SSL/TLS将被弃用,如何应对?


    前言:

    很长时间,公司都是使用authorize.net在线支付方案,最近收到通知,说'TLS Disablement Date Extended',明年2018年将会不支持旧版本TLS v1.1 v1.0和更旧的SSL。Sorry,什么东东?

    本文适用环境:Linux VPS,PHP 5,Apache、Mysql、HTTPS证书


    解决思路:

    1)学习什么是SSL/TLS?有什么版本?

    2)和自己的Linux服务器有什么关系?Apache?PHP?HTTPS?SSL证书?

    3)1.0~1.1被弃用,那我们在用的版本是多少?

    4)如果使用的TLS版本刚好被弃用,怎么升级?


    解决步骤:

    (超精简,文章后面有详细的介绍与链接)

    1)学习什么是SSL/TLS?有什么版本?

    HTTP是不加密的明文web传输协议,危险;

    SSL协议是HTTP的补充,使用加密等方法让HTTP更安全,版本为1、2、3;

    TLS是基于SSL v3的升级版协议,目前版本发展为v1.0 v1.1 v1.2;

    HTTPS协议=HTTP+SSL/TLS,简单来说;

    TLS=SSL升级版



    2)和自己的Linux服务器有什么关系?Apache?PHP?HTTPS?SSL证书?
    不同版本Linux支持的SSL、TLS不一样,

    Apache HTTP 服务器模块 mod_ssl 提供了与 OpenSSL 的接口;

    PHP借助apache能使用SSL、TLS,特别是cURL时;

    SSL证书是CA机构核发的,是apache服务器为某域名启用HTTPS连接的凭证,浏览器会检查对应的SSL证书;

    总结就是,SSL/TLS是HTTPS连接的基础,

    如果你网站没https,那就不要紧了。



    3)1.0~1.1被弃用,那我们在用的版本是多少?

    查看系统支持的SSL/TLS版本:

    openssl ciphers -v | awk '{print $2}' | sort | uniq


    查看网站被访问时使用的SSL/TLS版本:

    使用Chrome浏览器,打开你的https网站任意页面,在空白处右键,检查,在弹窗顶端找到'Security'选项卡,打开,找到右边'Secure Connection'的介绍,寻找例如'(TLS 1.2)'等字眼,即可。有时是TLS 1.2,TLS 1.1,SSL 3等等。


    查看网站主动访问其他服务器时所用的SSL/TLS版本:

    在https网站下新建一个php文件,输入以下内容,运行即可看到版本:
    <?php 
    $ch = curl_init('https://www.howsmyssl.com/a/check');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $data = curl_exec($ch);
    curl_close($ch);
    
    $json = json_decode($data);
    echo $json->tls_version;
    echo '<br><br>';
    echo $data;
    die;
    


    怎么判断我们是否解决了问题: 

    系统支持新的TLS版本,而且,我们网站对外正在使用这新版,还有就是网站主动访问其他服务器时用的TLS版本是不会被弃用的,

    那就没问题~



    4)如果使用的TLS版本刚好被弃用,怎么升级?

    升级服务器OS,

    实在不可以升级的话,请自行搜索 如何升级。

    (我的服务器已经支持TLS v1.2,不用升,所以这环节没有测试没有实践,不敢打包票)




    ----------- 搞定! ----------


    延伸学习:

    有什么命令能明确知道某版本的SSL或者TLS真的能用?

    openssl s_client -connect zhihu.com:443 -tls1
    openssl s_client -connect zhihu.com:443 -tls1_1
    openssl s_client -connect zhihu.com:443 -tls1_2
    openssl s_client -connect zhihu.com:443 -ssl1
    openssl s_client -connect zhihu.com:443 -ssl2
    openssl s_client -connect zhihu.com:443 -ssl3
    以上,能连接'Connected...'的就是能用,报错的说未知命令的就是不能用。


    研究HTTPS
    http://blog.csdn.net/wm_1991/article/details/51954571
    1994年,NetScape公司设计了SSL协议(Secure Sockets Layer)的1.0版,但是未发布。
    1995年,NetScape公司发布SSL 2.0版,很快发现有严重漏洞。
    1996年,SSL 3.0版问世,得到大规模应用。
    1999年,互联网标准化组织ISOC接替NetScape公司,发布了SSL的升级版TLS 1.0版。
    2006年和2008年,TLS进行了两次升级,分别为TLS 1.1版和TLS 1.2版。最新的变动是2011年TLS 1.2的修订版。
    目前,应用最广泛的是TLS 1.0,接下来是SSL 3.0。但是,主流浏览器都已经实现了TLS 1.2的支持。
    TLS 1.0通常被标示为SSL 3.1,TLS 1.1为SSL 3.2,TLS 1.2为SSL 3.3。


    我这次收到的通知邮件,旧版本SSL/TLS还勉强能再用到2018年头:
    From: Authorize.Net<no-reply@mail.authorize.net>
    Date: Wed, Aug 2, 2017 at 3:48 PM
    Subject: TLS Disablement Date Extended

    TLS Disablement Date Extended
    Dear Authorize.NetDeveloper:
    ... 
    updating your payment systems to disable TLS 1.0 and 1.1, Authorize.Nethas decided to extend our deadline from September 18, 2017. The new date for when we will no longer allow TLS 1.0 and 1.1 is February 28, 2018. 
    ...

    他们官网的说明:
    Authorize.Net Support for SSL/TLS FAQ
    https://support.authorize.net/authkb/index?page=content&id=A1623&actp=search&viewlocale=en_US&searchid=1496161288143

    PCI安全协会的全球通告:
    INFORMATION SUPPLEMENT: Migrating from SSL and Early TLS
    https://www.pcisecuritystandards.org/documents/Migrating_from_SSL_Early_TLS_Information%20Supplement_v1.pdf



    HTTP,SSL/TLS和HTTPS协议的区别与联系
    https://zhidao.baidu.com/question/1434192761402030819.html

    SSL与TLS的区别以及介绍
    http://kb.cnblogs.com/page/197396/

    SSL证书产品简介
    https://www.wosign.com/products/ssl.htm


    如何知道服务器所支持的所有SSL/TLS版本?
    How to find out the supported SSL/TLS versions for specific OpenSSL built
    https://stackoverflow.com/questions/27430158/
    openssl ciphers -v | awk '{print $2}' | sort | uniq


    如何判断浏览器是否正在使用SSL/TLS连接?
    How to determine if a browser is using an SSL or TLS connection?
    https://security.stackexchange.com/questions/19096/how-to-determine-if-a-browser-is-using-an-ssl-or-tls-connection/91948#91948


    (接上)一个简单好用的检测SSL/TLS版本的免费API,PHP的cURL可用
    https://www.howsmyssl.com/s/api.html


    如何知道服务器所支持的所有SSL/TLS版本?(2)
    How Can I Determine What SSL/TLS Versions Are Available for HTTPS Communication?
    http://thenubbyadmin.com/2014/02/17/how-can-i-determine-what-ssltls-versions-are-available-for-https-communication/

    apache https配置步骤
    http://www.cnblogs.com/best-jobs/p/3298258.html

    curl_setopt官方解释
    http://php.net/manual/en/function.curl-setopt.php

    curl 选项属性配置说明
    http://blog.csdn.net/hjq198988/article/details/46239051


    php - Verify if curl is using TLS - Stack Overflow
    https://stackoverflow.com/questions/27904854/verify-if-curl-is-using-tls

    <?php 
    $ch = curl_init('https://www.howsmyssl.com/a/check');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $data = curl_exec($ch);
    curl_close($ch);
    
    
    $json = json_decode($data);
    echo $json->tls_version;
    echo '<br><br>';
    echo $data;
    die;





    展开全文
  • TLS版本

    2019-07-26 05:21:37
    常见应用:https其实就是建构在SSL/...1) setProtocol="TLS" will enable SSLv3 and TLSv1 2) setProtocol="TLSv1.2" will enable SSLv3, TLSv1, TLSv1.1 and TLS v1.2 3) setProtocol="TLSv1.1" will enable SS...
  • TLS 1.0 RFC http://www.ietf.org/rfc/rfc2246.txt TLS 1.1 RFC http://www.ietf.org/rfc/rfc4346.txt TLS 1.2 RFC http://www.ietf.org/rfc/rfc5246.txt   TLS 1.3 见:...
  • TLS 版本查询

    万次阅读 2018-01-24 16:11:46
    openssl命令 openssl s_client -connect intl.jdair.net:443 -tls1(-tls1_1 -tls1_2)  网页查询的话 https://www.ssllabs.com/ssltest/analyze.html
  • HTTPS 加密时代已经来临,近两年,Google、Baidu、Facebook 等互联网巨头,不谋而合地开始大力推行 HTTPS, 2018 年 7 月 25 日,Chrome 68 上线,所有 HTTP 网站都会明确标记为“不安全”。国内外包括大到 Google、...
  • 微信小程序 TLS 版本必须大于等于1.2问题解决(自己以亲身试验可以用) 在解决这个问题之前,我们需要...windows2008R2在配置SSL做小程序开发时候提示小程序的TLS版本必须大于等于1.2。 解决方法: 请先备份导...
  • 微信小程序 TLS 版本必须大于等于1.2问题解决 此问题最近在微信小程序开发中,比较常见。 在解决这个问题之前,...windows2008R2在配置SSL做小程序开发时候提示小程序的TLS版本必须大于等于1.2。 解决方法: ...
  • 另外说一下,TLS版本的问题,这个也是很多朋友经常掉的坑,我也掉过,然后直接去微软官网查了一下资料发现 windows服务器系统的2008R2以下都不支持,所以大家xp、2003系统什么的就不用折腾了,没用的~~。切记windows...
  • 一、环境: CentOS 6.8 nginx 1.6.0 ...3、TLS 版本 1.2+ 1、2 两条都满足了,但是第三条亟待解决,导致小程序调用接口时报错: 三、正文 (1)为什么要满足 TLS 版本 1.2+ ? 2017年1月1日起,苹...
  • 微信小程序 TLS 版本必须大于等于1.2问题解决 此问题最近在微信小程序开发中,比较常见。 在解决这个问题之前,我们需要了解一下,...windows2008R2在配置SSL做小程序开发时候提示小程序的TLS版本必须大于等于1.2。
  • 微信小程序合法域名配置-不校验合法域名、web-view(业务域名)、TLS 版本以及 HTTPS 证书 很多教程说按照以上方式调用即可。但是当我们在程序中实际调用以上程序时,就会报错, http://14.116.211.92:8099 不在以下 ...
  • [转帖]TLS 版本问题

    2019-07-09 11:22:37
    转帖 From ... 一、环境: ... 二、背景 最近开发一个小程序,而小程序对后台接口服务器的要求是: ...1、请求域名在request合法域名中2、基于 https 协议3、TLS 版本 1.2+ 1、2 两条都满足了,但...
  • 微信小程序与第三方服务器通讯的域名的几个必要条件1、加ssl证书,也就是https://~~~2、HTTPS 服务器的 TLS 版本支持1.2及以下版本,一般就是1.0、1.1、1.2要同时支持这三个版本,一个也不能少,要不然就会出现下面...
  • 问题 最近开发微信小程序项目,向服务器发起请求时, 遇到一个问题: TLS 版本必须大于等于1.2 解决方案:如何解决:小程序要求的TLS版本必须大于等于1.2...
  • 如何查看自己服务器的TLS版本呢,windows服务器上可直接到注册表中查看 Ctrl + R 打开命令端 输入 "regedit" 打开注册表 进入路径:[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\...
  • 我这里出现此错误的原因是,搭载域名网站的服务器是windows2008 r2,配置的域名证书是TLS1.0版本,需要在服务器注册表中加入TLS的其他版本。 处理办法直接拷贝 小程序报错 TLS 版本必须大于等于 1.2 --文章...
  • 一、谷歌浏览器访问域名,查看TLS版本,下面是我解决后的已经是1.2了,解决之前一直是1.0,而小程序必须要TLS1.2 二、排查方向: 注意:要想服务器上支持 TLSv1.2,要求基于 OpenSSL 环境的,但是只有 OpenSSL ...
1 2 3 4 5 ... 20
收藏数 68,050
精华内容 27,220
关键字:

tls版本