让Windows XP支援TLS 1.2 以可以使用Outlook访问ExchangeOnline

canca3年前 (2021-01-28)网络作品1061

因为MS最近的升级,在WinXP的电脑上Outlook 2010无法再访问Exchangeonline,表现为验证通不过.
根本的原因为MS逐步关闭了对TLS1.0的支持,而XP只支持TLS1.0方式.
幸运的是,我们知道MS后来发布了一个基本WinX
P的Windows Embedded POSReady 2009 和 Windows Embedded Standard 2009,最吊的地方在于这两个产品还生命周期内,所以会有更新.

1.修改注册表,将XP伪装为POSReady 2009

[HKEY_LOCAL_MACHINE\SYSTEM\WPA\PosReady]
"Installed"=dword:00000001

2.找到和TLS 1.2有关的补丁,并安装

kb4019276和kb4467770,这两个独立的补丁其实作用并不一样.
KB4019276(http://www.catalog.update.microsoft.com/Search.aspx?q=KB4019276)的作用是让xp支持TLS 1.2.
安装了这个之后,有些第三方软件就可以使用TLS1.2了.
KB4467770(http://www.catalog.update.microsoft.com/Search.aspx?q=KB4467770)的作用是让调用Winhttp服务来建立SSL连接时可以使用TLS1.2.
Outlook等MS自家的必须要装上这个才行.

3.装完后按需修正注册表后重启.

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

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

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

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

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp]
"DefaultSecureProtocols"=dword:00000800

详细注册表说明参考下面:
https://support.microsoft.com/en-us/help/4019276/update-to-add-support-for-tls-1-1-and-tls-1-2-in-windows
https://support.microsoft.com/en-us/help/4467770/update-to-enable-tls-1-1-and-tls-1-2-as-secure-protocols-on-winhttp

4.调试工具

处理过程使用Fiddler 验证及确认:
XP 下原来SSL送出的是TLS1.0 所以没法建立连接
装完补丁改完注册表后可以看到Outlook送出的是TLS 1.2
邪门的是Win7下outlook连接Exo也是送出的TLS 1.0,但就可以用.你要说微软没在背后捣鬼,我是不信的.


转自:https://blog.csdn.net/shidb/article/details/87428233

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。