精华内容
下载资源
问答
  • 最近给客户做一网站,用的windows server 2008 r2 + IIS + PHP域名要用SSL,SSL要TLS 1.2,但是windows2008 iis 默认的最高只有TLS 1.0,下面我们给windows server 2008 r2 的IIS添加上TLS 1.2准备:服务器已经安装好...

    最近给客户做一网站,用的windows server 2008 r2 + IIS + PHP

    域名要用SSL,SSL要TLS 1.2,但是windows2008 iis 默认的最高只有TLS 1.0,下面我们给windows server 2008 r2 的IIS添加上TLS 1.2

    准备:

    服务器已经安装好windows server 2008 r2 + iis + php,配置好网站可以正常打开访问

    域名申请好单域名SSL域名证书IIS版。

    网站访问证书显示:

    2206305C0-0.jpg

    下面开始配置TLS1.2

    下面开始给IIS配置TLS1.2(有三种方法,选其中一种就可以了)

    方法一:

    手动修改注册表

    打开注册表: 找到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocols右键->新建->项->新建TLS 1.2;TLS 1.2 右键->新建->项->新建Server, Client

    在新建的Server和Client中都新建如下的项(DWORD 32位值), 总共2个

    2206303913-1.jpg

    DisabledByDefault [Value = 0]

    Enabled [Value = 1]

    添加好以后如下图,然后重启服务器就可以了

    2206305B9-2.jpg

    方法二:

    导入注册表设置

    就是直接导入小编从注册表中导出来,设置好的,将下面信息复制到.txt 文件中然后保存,并修改后缀成.reg,复制到服务器双击导入

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.2]

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.2Client]

    "Enabled"=dword:00000001

    "DisabledByDefault"=dword:00000000

    [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS 1.2Server]

    "Enabled"=dword:00000001

    "DisabledByDefault"=dword:00000000

    然后删除TLS1.0即可。

    方法三:

    使用IIS Crypto工具设置,此方法最简单

    下载IIS Crypto,上传到服务器,打开,按下图图示,操作即可。

    (IIS Crypto 下载地址在上面教程使用软件中)

    220630F39-3.jpg

    以上三种方法都可以开启windows2008 IIS启用TLS 1.2,开启后,SSL显示TLS 1.2如下图:

    2206303309-4.jpg

    展开全文
  • 这点比较容易接受,因为Windows服务器默认并没有开启TLS1.2。 要提高服务器的评级,有3点需要做。 使用SHA256签名算法的证书。 禁用SSL3.0,启用TLS1.2 禁用一些弱加密算法。 由于目前服务器使用的证书是近3年前购买...
  • 在Windows服务器上启用TLS 1.2TLS 1.2基本原理 在Windows服务器上启用TLS 1.2TLS 1.2基本原理 最近由于Chrome40不再支持SSL 3.0了,GOOGLE认为SSL3.0已经不再安全了。所以也研究了一下SSL TLS加密。 首先在...

    在Windows服务器上启用TLS 1.2及TLS 1.2基本原理

    在Windows服务器上启用TLS 1.2及TLS 1.2基本原理

     

    最近由于Chrome40不再支持SSL 3.0了,GOOGLE认为SSL3.0已经不再安全了。所以也研究了一下SSL TLS加密。

    首先在这个网站上测试一下自己的服务器究竟处于什么水平。

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

    测试结果显示是支持SSL3.0的并且不支持TLS 1.2。证书使用SHA1签名算法不够强。这点比较容易接受,因为Windows服务器默认并没有开启TLS1.2。

    要提高服务器的评级,有3点需要做。

    • 使用SHA256签名算法的证书。

    • 禁用SSL3.0,启用TLS1.2

    • 禁用一些弱加密算法。

     

    由于目前服务器使用的证书是近3年前购买的,正好需要重新购买,顺便就可以使用SHA256签名算法来买新的证书就可以了。在生产环境部署之前,先用测试机测试一下。

     

    根据这篇文章中的3条命令把证书颁发机构的签名算法升级上去。测试环境是Windows2012 R2,默认的签名算法是SHA1

    UpgradeCertification Authority to SHA256

    http://blogs.technet.com/b/pki/archive/2013/09/19/upgrade-certification-authority-to-sha256.aspx

    certutil -setreg ca\csp\CNGHashAlgorithm SHA256

    net stop certsvc

    net start certsvc

    然后,在服务器中添加注册表键值并重启已启用TLS1.2和禁用SSL3.0

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS1.2\Server\Enabled        REG_DWORD类型设置为1.

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL3.0\Server Enabled        REG_DWORD类型设置为0.

    重新启动服务器,是设置生效。

     

    由于测试机没有公网地址,所以去下载个测试工具,方便测试。

    http://www.bolet.org/TestSSLServer/

    可以下载到EXE或者JAVA版本的测试工具,方便的在内网测试服务器支持的加密方式。

    测试了一下,发现TLS1.2没有启用。

    wKioL1Yp9oXAg-ZJAACt5VcTxAA626.jpg

     

    难道是启用方法不对?于是开始检查各种服务器的日志,也的确发现了TLS1.2不能建立的报错了。

    wKiom1Yp9mjQ4CUnAADQdByxZFc388.jpg

     

    网上查了很多文章,也没有说什么解决办法。后来换了下证书,用回SHA1的证书,TLS1.2就能显示成功启用了。

     

     wKiom1Yp9nnD8efOAAFE7QycR3c991.jpg

    难道是证书有问题,于是就各种搜索SHA1证书和SHA256证书的区别,同时也测试了一些别人的网站,结果发现别人用SHA256证书也能支持TLS1.2. 难道是我的CA有问题?

          又研究了几天,也测试了2008 R2的机器还是同样的问题。正好新买的公网证书也下来了。就拿这张证书先放到测试服务器上测试,结果还是不行。但是别人的服务器的确可以啊。

        在此期间发现两篇比较好的文章,用Powershell来帮助我们启用TLS1.2以及如何设定服务器的加密算法顺序。

    Setupyour IIS for SSL Perfect Forward Secrecy and TLS 1.2

    https://www.hass.de/content/setup-your-iis-ssl-perfect-forward-secrecy-and-tls-12

    EnablingTLS 1.2 on IIS 7.5 for 256-bit cipher strength

    http://jackstromberg.com/2013/09/enabling-tls-1-2-on-iis-7-5-for-256-bit-cipher-strength/

     

    那么问题究竟出在哪呢?可能的问题,SHA256证书有问题?服务器不支持TLS1.2?然后根据Windows日志中的错误继续查找,都没能找到什么有用的信息。

     

    于是求助朋友,朋友发来一段信息。

    TLS 1.2introduced signature algorithms extension where the client advertises supportedsignature and hash algorithm combinations. When the client offers TLS1.2 without signature algorithms extension,schannel server assumes that this client only understands SHA1. If the schannelserver only has a SHA256 certificate, it will terminate the handshake. However,the same client offering TLS≤1.1 will succeed.

    同时也提到了RFC5246中的一些信息。

    http://www.ietf.org/rfc/rfc5246.txt

    If the clientdoes not send the signature_algorithms extension, the

       server MUST do the following:

     

       -  Ifthe negotiated key exchange algorithm is one of (RSA, DHE_RSA,

          DH_RSA, RSA_PSK, ECDH_RSA, ECDHE_RSA),behave as if client had

          sent the value {sha1,rsa}.

     

       -  Ifthe negotiated key exchange algorithm is one of (DHE_DSS,

          DH_DSS), behave as if the client had sentthe value {sha1,dsa}.

     

       -  Ifthe negotiated key exchange algorithm is one of (ECDH_ECDSA,

          ECDHE_ECDSA), behave as if the client hadsent value {sha1,ecdsa}.

     

       Note: this is a change from TLS 1.1 wherethere are no explicit

       rules, but as a practical matter one canassume that the peer

       supports MD5 and SHA-1.

     

       Note: this extension is not meaningful forTLS versions prior to 1.2.

       Clients MUST NOT offer it if they areoffering prior versions.

       However, even if clients do offer it, therules specified in [TLSEXT]

       require servers to ignore extensions they donot understand.

     

       Servers MUST NOT send this extension.  TLS servers MUST support

       receiving this extension.

     

       When performing session resumption, thisextension is not included in

       Server Hello, and the server ignores theextension in Client Hello

       (if present).

     

     这和我遇到的问题完全符合啊,难道是客户端没有发送签名算法扩展?于是用IE试了下访问网站,发现是可以的,于是抓包看一下,用的协议是TLS1.2。证明TLS1.2在服务器上是已经启用的了。有client hello并且服务器也回应了serverhello。

     

    wKiom1Yp9q6g2fszAACxH0MapjY745.jpg

    wKioL1Yp9tuTK_uxAADljsegNO8094.jpg

     

     

     

    再仔细看客户端的client hello包,里面确实包含了extension信息。

    wKioL1Yp9u3DI4gfAAEq_Pd-_80186.jpg

     

    看之前Testtlsserver.exe测试失败并抓下来的包。并没有server hello的包回来。ClientHello里的确没有扩展信息。

     

    wKioL1Yp9xDxRTKcAACh7EPwdIU088.jpg

    wKioL1Yp9xCBz6ufAACVa-CXy3k220.jpg

    wKiom1Yp9uPSMKBtAACFd8WBFKk177.jpg

     

     

     

     

    于是,让同事帮忙把测试服务器发布到公网上,用https://www.ssllabs.com/ssltest/

    测试一下,果然没有问题。这个困扰我好久的问题终于有了解释。

     

    最后,附上不再支持SSL 3.0 Chrome厂商自家网站的测试结果供大家参考。

    转载于:https://www.cnblogs.com/qiyebao/p/6767405.html

    展开全文
  • SSL2.0和SSL3.0具有许多已知的漏洞,如POODLE(CVE-2014-3566),这就是为什么最新的浏览器已经删除了对这些易...仅在Nginx中启用TLS1.2在服务器上的配置文件中编辑域的Nginx服务器块部分,并添加如下ssl_protocols设...

    SSL2.0和SSL3.0具有许多已知的漏洞,如POODLE(CVE-2014-3566),这就是为什么最新的浏览器已经删除了对这些易受攻击的协议的支持。建议你将服务器移至使用TLS版本,特别是TLS 1.2。本篇文章将介绍关于使用Nginx Web服务器启用TLS 1.2。

    f413ef297df3bf12b7b77657dae179ec.png

    仅在Nginx中启用TLS1.2

    在服务器上的配置文件中编辑域的Nginx服务器块部分,并添加如下ssl_protocols设置。这将在Nginx服务器块中仅启用TLSv1.2协议。ssl_protocols TLSv1.2;

    使用ssl的最简单nginx服务器块如下所示server {

    listen 443 ssl;

    server_name example.com;

    ssl_protocols TLSv1.2;

    ssl_certificate /etc/pki/tls/cert.pem;

    ssl_certificate_key /etc/pki/tls/private/privkey.pem;

    同时启用TLS 1.1和1.2

    poodle漏洞从sslv3扩展到tls 1.0和1.1。因此,我们不建议将其用于生产服务器,但如果想为开发启用它的话。可以执行以下配置。ssl_protocols TLSv1.2 TLSv1.1;

    更改配置文件后,重新启动nginx服务以应用新设置。

    本篇文章到这里就已经全部结束了,更多其他精彩内容大家可以关注PHP中文网的Linux视频教程栏目!!!

    展开全文
  • I am trying to enable TLS 1.2 in my web app which uses JBoss 6.4 and Java 1.7. I have -Dhttp.protocols = TLSv1.2 in my application environment but it doesn't seem to work for me.Is there anything I co...

    I am trying to enable TLS 1.2 in my web app which uses JBoss 6.4 and Java 1.7. I have -Dhttp.protocols = TLSv1.2 in my application environment but it doesn't seem to work for me.

    Is there anything I could do to enable TLS 1.2?

    I wrote a simple program

    context = SSLContext.getInstance("TLSv1.2");

    context.init(null,null,null);

    SSLContext.setDefault(context);

    SSLSocketFactory factory = (SSLSocketFactory)context.getSocketFactory();

    SSLSocket socket = (SSLSocket)factory.createSocket();

    protocols = socket.getEnabledProtocols();

    After running this program within the app the TLS 1.2 gets enabled. I do not want to run this program but I want to directly enable it during app startup. Is there any way to do it?

    解决方案

    You can upgrade your Java 7 version to 1.7.0_131-b31

    For JRE 1.7.0_131-b31 in Oracle site :

    TLSv1.2 and TLSv1.1 are now enabled by default on the TLS client

    end-points. This is similar behavior to what already happens in JDK 8

    releases.

    展开全文
  • I have an SQL Server 2014 updated to the latest fixpack (12.0.... In the environment, the only protocol enabled is TLS1.2 (the registry keys has been set for the purpose). I can connect to the SQL ...
  • LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS1.2] [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS1.2\Client]...
  • 支持TLS1.2背景:现在许多网站,都要求tls1.2协议以上,像github、 pip3安装包网站https://pip.pypa.io/等。openssl现有版本不支持。需要升级openssl。git 底层使用curl库,curl库又调用的libopenssl库。如果希望git...
  • 1.远程登录服务器后打开注册表编辑器,点开HKEY-LOCAL-MACHINE,SYSTEM,CURRENTCONTROLSET下的Control2.找到SecurityProviders下的SCHANNEL...在任意磁盘下新建记事本TLS1.2,并输入以下代码后保存WindowsRegistryEdi...
  • 检测是否具有TLS1.2:www.ssllabs.com 实验过的办法: https://www.cnblogs.com/wqcheng/p/6618070.html http://www.ocbc.com.cn/business-banking/cn/e-banking/faq-system-requirements-tls.html ...
  • php不支持TLS1.2解决方法php不支持TLS1.2解决方法php不支持TLS1.2解决方法
  • TLS1.3和TLS1.2的区别

    千次阅读 2020-05-04 15:44:33
    TLS1.3和TLS1.2的区别 1、密钥协商机制改变,TLS1.3借助扩展进行密钥交换,TLS1.3只需要三次握手交互,TLS1.2则需要四次握手。 首先看TLS1.2,它通过KeyExchange进行密钥协商,即ServerKeyExchange和...
  • 问题网站配置了HTTPS,但是访问出现问题:用于加载此网站的连接使用的是 TLS 1.0 或 TLS 1.1,这两个 TLS 版本都已...服务器应启用 TLS 1.2 或更高版本。解决第一步:openssl版本1.0.1以上的版本支持 TLS1.21.1.1...
  • I use Retrofit and OkHttp3 for making ... I konw that in Android 4.4 TLS 1.1 and TLS 1.2 are not enabled by defult. So i'm trying to enable them. But so far i had no sucsess. I read that it coul...
  • tls1.1 tls1.2 传输级别安全性(TLS)1.2将默认设置为3月18日发布的标准Java的下一版本。TLS将提供加密的Internet通信,但不能完全解决Java的安全问题,因为Java的加密通信没有灵丹妙药有关安全问题的解释。 TLS...
  • H2 TLS1.2协议开发例子。最低net版本可以在2.0环境下,彻底解决了XP环境无法使用TLS1.2协议的情况
  • wpa_supplicant 设置tls1.2

    2020-07-16 10:01:35
    wpa_supplicant 设置tls1.2 我在vendor/etc/WIFI/目录下的配置文件中设置 dis_able_tls1.0=1 dis_able_tls1.1=1 dis_able_tls1.2=0 服务器那边设置只支持tls1.2 抓包发现hello Server还是tls1.0的 怎样设置...
  • SSL和TLS-TLS 1.2

    千次阅读 2018-11-12 11:00:30
    SSL和TLS-TLS 1.2TLS ExtensionsServer Name IndicationMaximum Fragment Length NegotiationClient Certificate URLTrusted CA KeysTruncated HMACCertificate Status RequestUser MappingAuthorizationCertificate...
  • vc6_tls1.2Demo with openssl

    2017-09-06 10:53:37
    vc6下编写的tls1.2Demo(也包含ssl的参考),支持vc6及以上版本.... 依赖库:openssl1.0.2e 可自行参考或跟进需求修改. 标签:tls tls1.2 tlsdemo vc6tls ssl
  • 让XP兼容TLS1.2.rar

    2019-09-05 11:10:48
    让WindowsXP兼容TLS1.1和TLS1.2,首先要往注册表中写入项,再安装微软的补丁,重启系统后生效。
  • nginx 配置TLS1.2无效总是TLS1.0

    千次阅读 2016-11-25 16:15:12
    最近因为证书过期要换证书,不过发现ios端访问总是证书验证不过,必须使用TLS1.2连接才可以,不过通过nginx配置成TLS1.2后,访问还是走的TLS1.0,网上也查了不少资料,openssl和nginx的版本均没问题,搞了很长时间,...
  • WITH_CAMELLIA_256_CBC_SHA | Compressors (1) | uncompressed | TLSv1.2 | Ciphers (15) | TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 |...
  • Android客户端与PC服务端进行双向认证,基于TLS1.2安全协议,完成双向认证。
  • 微信小程序 Windows2008 R2服务器配置TLS1.2方法 微信小程序免费SSL证书https、TLS版本问题的解决方案《二十四》request:fail错误(含https解决方案)(真机预览问题把下面的代码复制到PowerShell里运行一下,然后...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 27,498
精华内容 10,999
关键字:

tls1.2