【问题标题】:BufferNotEnough Could not create SSL/TLS secure channelBufferNotEnough 无法创建 SSL/TLS 安全通道
【发布时间】:2017-08-22 14:45:06
【问题描述】:

有时我们会收到错误“请求已中止:无法创建 SSL/TLS 安全通道..” 我试图调查这个问题,我得到的跟踪日志是:

System.Net Information: 0 : [4356] InitializeSecurityContext(In-Buffers count=2, Out-Buffer length=0, returned code=**BufferNotEnough**).
System.Net Error: 0 : [4356] Exception in HttpWebRequest#37434592:: - The request was aborted: Could not create SSL/TLS secure channel..
System.Net Error: 0 : [4356] Exception in HttpWebRequest#37434592::EndGetRequestStream - The request was aborted: Could not create SSL/TLS secure channel..

对于这种情况,BufferNotEnough 是什么意思?

谢谢。

【问题讨论】:

  • 让我猜猜 - 不受支持的 .NET 版本 (
  • 您使用的是什么 .NET 运行时?什么类型的 SSL? TLS1.1? TLS1.2? Jan 的回答可能适用于此,也可能不适用于此

标签: c# .net web-services ssl


【解决方案1】:

这似乎是 .NET 4.6.1 中 HttpWebRequest 中的一个错误 - 请参阅 https://connect.microsoft.com/VisualStudio/feedback/details/2777134/tls-1-2-handshake-error

【讨论】:

  • 并非如此 - 也许在某些有限的情况下,对于特定的操作系统版本。它适用于其他所有人。自 2015 年以来,很多 供应商开始要求 TLS1.2,.NET 4.5.2 及更高版本支持。如果有实际问题,很多人都会注意到
  • 根据我的经验(使用 .Net 4.6.1 网络应用程序),即使我们指定 TLS 1.2,在尝试连接到某些 http 服务器时,这个问题仍然有大约 1% 的时间发生。
  • 这个问题DHE_RSA Pubkey Length in TLS 1.2? 将问题缩小到 SCHANNEL 实现。不过,说这是问题仍然存在风险,因为 OP 没有提供运行时和 TLS 版本。
  • 您有此类服务器的示例吗?如果有客户端解决方法,检查 4.6.2 是否解决了问题会很有趣
  • 是的,我有例子。 (如果你愿意,我可以分享我们的 system.net 诊断跟踪的一部分。)我们的服务器运行的是 Windows 2012 R2,而接收 http 服务器很麻烦的是运行 IIS 7.5(根据我们收到的 http 标头)——这意味着 Windows 2008 服务器.仅供参考 - 这是我在跟踪日志中看到的标头的一部分:access-control-allow-headers: content-type X-UA-Compatible: IE=IE8 Content-Length: 0 Cache-Control: private Date: Tue, 28 Mar 2017 14:35:01 GMT 服务器:Microsoft-IIS/7.5 X-AspNet-Version:2.0.50727 X-Powered-By:ASP.NET
猜你喜欢
  • 2021-12-13
  • 2014-12-26
  • 2017-02-10
  • 2016-08-03
  • 2018-06-17
  • 1970-01-01
  • 2023-04-08
  • 1970-01-01
  • 2018-12-19
相关资源
最近更新 更多