windows 创建 TLS 客户端凭据时发生致命错误。内部错误状态为 10013

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/53121859/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-08 20:05:32  来源:igfitidea点击:

A fatal error occurred while creating a TLS client credential. The internal error state is 10013

windowsssltls1.2windows-server-2016exchange-server-2016

提问by neildt

Recently deployed a Windows 2016 Standard Server, with Active Directory and Exchange 2016.

最近部署了带有 Active Directory 和 Exchange 2016 的 Windows 2016 Standard Server。

We have disabled SSL 1.0, 2.0 and 3.0 for both Server and Client, and have disabled TLS 1.0 and TLS 1.1.

我们已经为服务器和客户端禁用了 SSL 1.0、2.0 和 3.0,并禁用了 TLS 1.0 和 TLS 1.1。

We are repeatedly getting the following entry in our system log. What is causing this, and how can I fix it.

我们在系统日志中反复获得以下条目。这是什么原因造成的,我该如何解决。

enter image description here

在此处输入图片说明

采纳答案by neildt

Basically we had to enable TLS 1.2for .NET 4.x. Making this registry changed worked for me, and stopped the event log filling up with the Schannel error.

基本上我们必须TLS 1.2.NET 4.x. 更改此注册表对我有用,并停止了填充 Schannel 错误的事件日志。

More information on the answer can be found here

可以在此处找到有关答案的更多信息

Linked Info Summary

链接信息摘要

Enable TLS 1.2 at the system (SCHANNEL) level:

在系统 (SCHANNEL) 级别启用 TLS 1.2:

Windows Registry Editor Version 5.00
[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
"Enabled"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server]
"DisabledByDefault"=dword:00000000
"Enabled"=dword:00000001

(equivalent keys are probably also available for other TLSversions)

(等效键可能也可用于其他TLS版本)

Tell .NET Framework to use the system TLSversions:

告诉 .NET Framework 使用系统TLS版本:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]
"SystemDefaultTlsVersions"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319]
"SystemDefaultTlsVersions"=dword:00000001

This may not be desirable for edge cases where .NET Framework 4.xapplications need to have different protocols enabled and disabled than the OS does.

对于.NET Framework 4.x应用程序需要启用和禁用与操作系统不同的协议的边缘情况,这可能是不可取的。

回答by Eric

This works for PowerShell too - was getting an error from connect-MSOLSservice "An error occurred while sending the request" with the same Event Code.

这也适用于 PowerShell - 使用相同的事件代码从 connect-MSOLSservice 收到错误“发送请求时发生错误”。

Applied the reg fix above and solved!

应用上面的reg修复并解决了!