【问题标题】:TLS Exception. Unknown Secure Transport error 'Closed Graceful'TLS 异常。未知的安全传输错误“正常关闭”
【发布时间】:2016-07-22 14:11:21
【问题描述】:

即使我的ServicePointManager.ServerCertificateValidationCallback 正在返回true,我也会不断收到此错误Unknown Secure Transport error 'ClosedGraceful'

完整的堆栈跟踪是...

     at Security.Tls.AppleTlsContext.CheckStatusAndThrow (SslStatus status, Security.SslStatus[] acceptable) [0x000b1] in /Users/builder/data/lanes/3339/39ebb778/source/maccore/src/Security/Tls/AppleTlsContext.cs:170 
  at Security.Tls.AppleTlsContext.Write (System.Byte[] buffer, Int32 offset, Int32 count, System.Boolean& wantMore) [0x0003f] in /Users/builder/data/lanes/3339/39ebb778/source/maccore/src/Security/Tls/AppleTlsContext.cs:883 
  at Security.Tls.MobileAuthenticatedStream.ProcessWrite (Security.Tls.AsyncProtocolRequest asyncRequest, AsyncOperationStatus status) [0x0002f] in /Users/builder/data/lanes/3339/39ebb778/source/maccore/src/Security/Tls/MobileAuthenticatedStream.cs:637 
  at Security.Tls.AsyncProtocolRequest.ProcessOperation (AsyncOperationStatus status) [0x00086] in /Users/builder/data/lanes/3339/39ebb778/source/maccore/src/Security/Tls/AsyncProtocolRequest.cs:199 
  at Security.Tls.AsyncProtocolRequest.ProcessOperation () [0x0000d] in /Users/builder/data/lanes/3339/39ebb778/source/maccore/src/Security/Tls/AsyncProtocolRequest.cs:159 
  at Security.Tls.AsyncProtocolRequest.StartOperation () [0x00000] in /Users/builder/data/lanes/3339/39ebb778/source/maccore/src/Security/Tls/AsyncProtocolRequest.cs:140 

我什至尝试过添加

<key>NSAppTransportSecurity</key>
<dict>
  <key>NSAllowsArbitraryLoads</key>
  <true/>
</dict>

info.plist,但仍然没有运气

编辑:目前使用 RestSharp

【问题讨论】:

  • 这似乎是一个错误,我也遇到过。尝试使用ModernHttpClient NuGet 包作为解决方法
  • 我目前正在使用 RestSharp,但我会研究 ModernHttpClient
  • 使用 ModernHttpClient 我仍然收到错误,NSURLSession/NSURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9813)
  • 您是否尝试过将属性 iOS Build > Advanced > SSL/TLS implementation 从 Apple 更改为 Mono?
  • 我完全不知道这意味着什么,只是 Apple 版本的 SSL/TLS 中断了我所有的 Web 服务调用。

标签: xamarin xamarin.ios xamarin.forms


【解决方案1】:

将属性 iOS Build > Advanced > SSL/TLS implementation 从 Apple 更改为 Mono。

【讨论】:

  • 我们在 VS 2017 中没有选项(SSL/TLS 实现)。
【解决方案2】:

接受的答案是正确的,但由于当前的 Visual Studio 没有该选项,我们需要在 iOSBuild 下输入 mtouch 参数-->代码生成和运行时-->附加 mtouch 参数

【讨论】:

  • 你必须添加哪些参数?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-25
  • 1970-01-01
  • 2010-10-22
  • 2015-11-29
相关资源
最近更新 更多