macos - CFNetwork SSL NSPOSIXErrorDomain Code=89 on Exchange Web Services

标签 macos ssl cfnetwork

我正在尝试连接到 Exchange Web 服务服务器,该服务器在 10 月 7 日之前曾在 CFNetwork 上运行,但现在不再运行了。我没有看到这段时间安装的任何软件包,所以我猜这是服务器更改。

我认为这是以某种方式代理的(我不运行服务器或无法访问它),因为一些 URL 在此服务器上工作,但有些则不能。您甚至不会收到身份验证提示。服务器是电子邮件点 fahc 点组织。您应该能够获得 OWA 登录页面,但尝试访问 EWS URL(例如 /ews/Services.wsdl)不起作用。我从 Firefox 或 Chrome 登录它没有问题,但 Safari、Mail、我自己的应用程序等都坏了。

这在 OS X 10.11 和 macOS 10.12 上被破坏了; OS X 10.10 没问题。

这是我在启用 CFNetwork 诊断的情况下使用 nscurl 进行测试时得到的结果。我看到它试图从 TLS 1.2 退回到 1.1 到 1.0,这在其他地方也有效,但我没有看到比 89 (ECANCELED) 更具体的错误,这有点不太有用。

Oct 26 14:31:56  nscurl[15026] <Notice>: CFNetwork Diagnostics [3:37] 14:31:56.438 {
               Did Fail
                 Loader: <CFURLRequest 0x7ffbc0502ed0 [0x7fff7552c440]> {url = https://[...]/ews/Services.wsdl, cs = 0x0}
                  Error: Error Domain=NSPOSIXErrorDomain Code=89 "Operation canceled" UserInfo={NSErrorPeerAddressKey=<CFData 0x7ffbc063a550 [0x7fff7552c440]>{length = 16, capacity = 16, bytes = 0x100201bb0a801e2e0000000000000000}, _kCFStreamErrorCodeKey=89, _kCFStreamErrorDomainKey=1}
    init to origin load: 0.00233305s
             total time: 0.205145s
            total bytes: 0
    } [3:37]

我有什么想法可以进一步深入研究这个问题,还是我应该提交一个错误?

谢谢。

最佳答案

这似乎与 VMware NAT 有关。将我的虚拟机切换到桥接网络后,这个问题就消失了(在 10.11 主机和 10.12 guest 上)。感谢 Twitter 上的@mikeymikey 的建议。

关于macos - CFNetwork SSL NSPOSIXErrorDomain Code=89 on Exchange Web Services,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40270009/

相关文章:

java - SSLSocket 是如何创建的?

objective-c - 如何获取 Mac OS X 上的默认临时目录?

java - 在我的应用程序中硬编码我的 keystore 的密码可以吗?

python - 使用 Python C API 时 MIDIGetNumberOfDestinations 返回 0

apache - 从不带 SSL 的 HTTPS ://WWW. 域重定向到带 SSL 的 HTTPS://DOMAIN

ios4 - 将CFNetwork版本号链接到iOS版本的列表

sockets - CFNetwork 在 iOS 和 MacOS 上优于 BSD 套接字和 GCD 的优势?

objective-c - Objective-C 中的 TCP/IP?

java - 如何在 Mac 上部署具有防火墙权限的应用程序?

c++ - 使用 `dlopen` 重新加载运行时库