阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Windows Server 2008 R2 中IIS启用TLS 1.2

116次阅读
没有评论

共计 2503 个字符,预计需要花费 7 分钟才能阅读完成。

由于项目需要用到 PayPal, 就去研究了下 PayPal,但是 PayPal 需要 TLS 1.2, 就 Google 了一把,这里把整个流程写下来

准备

Tips:

  1. 公司服务器整体结构是 Windows Server 2008 R2+ IIS + PHP

  2. 使用 PhpStudy,使用其他的也没问题

说一下 win7 也可以, 可以拿来做测试. 如果使用 Win7 来测试,需要控制面板 > 程序和功能 > 启用和关闭 Windows 组件 开启 IIS 组件(怎样开启,自行 Google)

如果服务器是 apache,只需要使用高版本的 php_openssl 扩展就行了,选用 apche+PHP5.5n 我已经确认可用, php5.6 会报错找不到某某加密函数

PayPal 的需求是

  1. PHP_VERSION >= 5.3

  2. php_curl, php_openssl 必须启用

  3. composer(怎样安装参考 http://www.phpcomposer.com)

phpStudy 切换到 IIS7/8 + PHP 5.5n
Windows Server 2008 R2 中 IIS 启用 TLS 1.2

这里说一声, 选这 PHP 5.5 之前的版本, 由于 openssl 扩展的版本过低, 可能不支持, 我选 5.4 就不支持

下载 PayPal 的 sdk

地址:https://github.com/paypal/Pay…
克隆到你的网站目录
打开 git bash

git clone https://github.com/paypal/PayPal-PHP-SDK.git paypal
cd paypal
composer update

其实就是把代码下载下来, 复制到 paypal 目录, 然后在目录在命令行执行composer update

配置 TLS1.2

分为 2 步, 添加 TLS 配置和禁用老的 SSL 版本

配置 TLS1.2

提供两种方法, 选择其中一种就行了

手动设置

找到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols 右键 -> 新建 -> 项 -> 新建 TLS 1.1,TLS 1.2
TLS 1.1 和 TLS 1.2 右键 -> 新建 -> 项 -> 新建Server, Client
在新建的 Server 和 Client 中都新建如下的项(DWORD 32 位值), 总共 4 个

DisabledByDefault [Value = 0]
Enabled [Value = 1]

如图
Windows Server 2008 R2 中 IIS 启用 TLS 1.2

直接导入注册表文件

如下, 是我从我的注册表里面导出来的, 新建文本文件, 后缀名改为 reg 就行了, 双击导入

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Client]
"DisabledByDefault"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client]
"DisabledByDefault"=dword:00000000
"Enable"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server]
"DisabledByDefault"=dword:00000000
"Enable"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2]

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client]
"DisabledByDefault"=dword:00000000
"Enable"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server]
"DisabledByDefault"=dword:00000000
"Enable"=dword:00000001

禁用老 SSL 配置

打开HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Client 配置如下

DisabledByDefault [Value = 0]
Enabled [Value = 0]

Windows Server 2008 R2 中 IIS 启用 TLS 1.2

测试

打开网站, 我的是部署到局域网的,

192.168.1.99/paypal/sample

Windows Server 2008 R2 中 IIS 启用 TLS 1.2
Windows Server 2008 R2 中 IIS 启用 TLS 1.2

如果你配置了 apiContent 是有数据出来的, 我没有配置, 所以就只是No Data

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-04/142744.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2503字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中