Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 创建TLS客户端凭据时发生致命错误。内部错误状态为10013_Windows_Ssl_Tls1.2_Windows Server 2016_Exchange Server 2016 - Fatal编程技术网

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

Windows 创建TLS客户端凭据时发生致命错误。内部错误状态为10013,windows,ssl,tls1.2,windows-server-2016,exchange-server-2016,Windows,Ssl,Tls1.2,Windows Server 2016,Exchange Server 2016,最近部署了Windows 2016标准服务器,带有Active Directory和Exchange 2016 我们已经为服务器和客户端禁用了SSL 1.0、2.0和3.0,并禁用了TLS 1.0和TLS 1.1 我们在系统日志中反复获得以下条目。这是什么原因造成的,我如何修复它 基本上,我们必须为.NET 4.x启用TLS 1.2。更改此注册表对我来说很有效,并停止了事件日志中的Schannel错误填充 关于答案的更多信息可以找到 链接信息摘要 在系统(SCHANNEL)级别启用TLS 1.2

最近部署了Windows 2016标准服务器,带有Active Directory和Exchange 2016

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

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


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

关于答案的更多信息可以找到

链接信息摘要 在系统(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
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
(其他TLS版本也可能提供等效密钥)

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

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
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
对于需要启用和禁用与操作系统不同的协议的.NET Framework 4.x应用程序的边缘情况,这可能并不理想。

我在这里发现:

正确的文件权限 更正c:\ProgramData\Microsoft\Crypto\RSA\MachineKeys文件夹上的权限:

每个人访问:特殊适用于“仅此文件夹” 网络服务访问:读取和执行适用于“此文件夹、子文件夹和文件” 管理员访问:完全控制适用于“此文件夹、子文件夹和文件” 系统访问:完全控制应用于“此文件夹、子文件夹和文件” IUSR访问:完全控制应用于“此文件夹、子文件夹和文件” 内部错误状态为10013
在这些更改之后,重新启动服务器。10013错误应该消失。”

在对生产服务器进行任何更改后,我们开始收到此错误。在尝试了几种不同的方法并认为可能存在DNS问题后,重新启动IIS解决了该问题(仅重新启动站点并不能解决该问题)。它可能不适用于所有人,但如果我们先尝试,它会节省大量时间。

在2018年10月的上一轮Windows更新之后,我们也看到了完全相同的错误。还不确定确切的原因。在Windows 10上,我看到的唯一一个可能有影响的更新是KB4462933。10月份安装的补丁程序中唯一的其他更新是Adobe Flash。我很确定这不会造成任何后果。如果我发现任何其他问题,我会发布答案或更新。哦,我们还打开和禁用了FIP SSL 3.0、TLS 1.0和TLS 1.1。关闭FIPS并重新启用TLS 1.0目前似乎是一种解决办法。不过,请记住在更改后重新启动。我无法启用TLS 1.0,否则我们的PCI合规性扫描将失败。当然,您需要记住,这正是应该发生的事情。您可以防止应用程序使用错误风格的安全连接。下一步,您需要准确地找出生成此诊断的设备,以便修复/卸载它们。在像serverfault.com这样的网站上查找每天解决这些问题的人。在遇到相同的错误后,我使用IIS Crypto GUI()进行这些注册表更改。只需单击“最佳实践”,然后单击“应用”。重新启动。完成的工作手动添加到注册表或使用IISCrypto对我都不起作用。仍在寻找每10秒出现4个或以上错误的解决方案意味着几乎不可能在事件日志中检查任何其他内容。Set-ItemProperty“HKLM:\SOFTWARE\Microsoft\.NETFramework\v4.0.30319”-Name SystemDefaultTlsVersions-Value 1 Set-ItemProperty“HKLM:\SOFTWARE\wow6432node\Microsoft\.NETFramework\v4.0.30319”-NameSystemDefaultTlsVersions-Value 1I也通过IISCrypto解决了此问题,但我怀疑对该应用程序进行更改也会首先导致此问题。