win2008R2/Win7啓用TLS 1.2實踐

因爲項目須要用到PayPal, 就去研究了下paypal,可是PayPal須要TLS 1.2, 就google了一把,這裏把整個流程寫下來php

準備

Tips:git

  1. 公司服務器總體結構是 windows 2008R2 + IIS + PHPgithub

  2. 使用PhpStudy,使用其餘的也沒問題apache

說一下win7也能夠, 能夠拿來作測試.若是使用win7來測試,須要控制面板>程序和功能>啓用和關閉windows組件 開啓IIS組件(怎樣開啓,自行google)windows

若是服務器是apache,只須要使用高版本的php_openssl擴展就好了,選用apche+PHP5.5n我已經確承認用, php5.6會報錯找不到某某加密函數api

PayPal的需求是bash

  1. PHP_VERSION >= 5.3服務器

  2. php_curl, php_openssl 必須啓用composer

  3. composer(怎樣安裝參考http://www.phpcomposer.com)curl

phpStudy切換到 IIS7/8 + PHP 5.5n

這裏說一聲, 選這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]

如圖

直接導入註冊表文件

以下, 是我從個人註冊表裏面導出來的, 新建文本文件, 後綴名改成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]

測試

打開網站, 個人是部署到局域網的,

192.168.1.99/paypal/sample


若是你配置了apiContent是有數據出來的,我沒有配置, 因此就只是No Data

相關文章
相關標籤/搜索