操作无法完成。 (kCFStreamErrorDomainSSL 错误 -9847。)使用 xmpp 聊天在 ejabberd 中注册新用户时

Posted

技术标签:

【中文标题】操作无法完成。 (kCFStreamErrorDomainSSL 错误 -9847。)使用 xmpp 聊天在 ejabberd 中注册新用户时【英文标题】:The operation couldn’t be completed. (kCFStreamErrorDomainSSL error -9847.) while registering new user in ejabberd using xmpp chat 【发布时间】:2015-12-31 10:47:17 【问题描述】:

我正在尝试在 ejabberd 服务器中注册新用户以进行 xmpp 聊天,但出现此错误

 The operation couldn’t be completed. (kCFStreamErrorDomainSSL error -9847.)

当这个方法被调用时

-(void)xmppStreamDidDisconnect:(XMPPStream *)sender withError:(NSError *)error


    NSLog(@"%@",error.localizedDescription);


请帮我解决这个问题

【问题讨论】:

【参考方案1】:

您使用的是自签名证书,因此您的客户不信任该证书。

您可以在委托方法xmppStream:didReceiveTrust:completionHandler:中实现自己的信任验证算法

XMPPFramework 有关安全性的文档将为您提供一些详细信息:https://github.com/robbiehanson/XMPPFramework/wiki/Security

通过调用值为@YES 的完成处理程序,您将接受证书。请注意不要在您的代码中永久更改该更改,以免在您的代码中引入安全问题。

【讨论】:

以上是关于操作无法完成。 (kCFStreamErrorDomainSSL 错误 -9847。)使用 xmpp 聊天在 ejabberd 中注册新用户时的主要内容,如果未能解决你的问题,请参考以下文章

NSValidationMissingMandatoryPropertyError - 操作无法完成。 (可可错误 1570。)

VS2013 - 操作无法完成

调用 Web 服务时出错,无法完成操作

Graph API - 权限不足,无法完成操作

操作无法完成。 (OSStatus 错误 -54。)

由于错误 80020101 无法完成操作