HTTPS 与 NSURLConnection - NSURLErrorServerCertificateUntrusted

2024-02-08

我有一个可以通过 http 连接良好的应用程序。尝试 https 时,我收到错误消息,指出根证书不受信任。我找到了我的站点证书、其 CA 证书和 CA 根证书的 URL,并通过 Safari 将它们添加到手机中。现在,当我进入“首选项”->“常规”->“配置文件”时,我可以看到我的所有证书一直在链上。每张证书上都有一个未签名的红色标签。当我连接时,我仍然收到 NSURLErrorServerCertificateUntrusted 错误。我正在考虑下一步该去哪里。

任何帮助都会很棒。唯一可能影响此问题的事情是我正在连接到一个奇怪的端口。所以我的网址是 www.domain.com:port。端口号是否会导致证书-域名不匹配?

现在我已经使用 iPhone 配置实用程序将配置文件添加到手机中。它有我的根证书、ca 证书和站点证书。手机上的个人资料显示已验证。在详细信息中我可以看到我的三张证书。但是当我尝试连接时,我仍然收到不受信任的证书错误。有什么建议么?

只是想看看其他人是否可以提供帮助?


有一个受支持的 API,用于在 NSURLConnection 加载期间忽略错误的证书。为此,只需将类似的内容添加到您的 NSURLConnection 委托中:

- (BOOL)connection:(NSURLConnection *)connection canAuthenticateAgainstProtectionSpace:(NSURLProtectionSpace *)protectionSpace {
  return [protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust];
}

- (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge {
  if ([challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust])
    if (... user allows connection despite bad certificate ...)
      [challenge.sender useCredential:[NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust] forAuthenticationChallenge:challenge];

  [challenge.sender continueWithoutCredentialForAuthenticationChallenge:challenge];
}

请注意,connection:didReceiveAuthenticationChallenge: 可以在(很长时间)之后(在必要时向用户显示对话框等之后)将其消息发送到challenge.sender。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HTTPS 与 NSURLConnection - NSURLErrorServerCertificateUntrusted 的相关文章

随机推荐

  • 开发游戏服务器用什么语言好?

    我只是想知道什么语言是开发支持大量 数千 用户的游戏服务器的不错选择 我涉足Python 但意识到这太麻烦了 因为它不会跨核心产生线程 意味着8个核心服务器 1个核心服务器 我也不太喜欢这种语言 自我 的东西让我感到恶心 我知道 C 就性能
  • 在xamarin forms pcl项目中打开远程pdf的最佳方法

    在适用于 Ios 和 Android 的 xamarin pcl 应用程序中 在服务器上加载 pdf 的最佳方式是什么 是否有一个好的 nuget 或者我们必须编写自定义渲染器 在应用程序中打开 PDF 您有几个选项 iOS 在其 WebV
  • 使用 Cython 将 Python 链接到共享库

    我正在尝试集成用以下语言编写的第三方库C和我的python应用程序使用Cython 我已经为测试编写了所有 python 代码 我无法找到设置此功能的示例 我有一个pyd pyx我手动创建的文件 第三方给了我一个header file h
  • 使用Delphi RTTI获取接口的字符串名称

    我已经证明我可以使用 Delphi 2010 从其 GUID 获取接口的名称 例如 IMyInterface 转换为字符串 IMyInterface 我想在 Delphi 7 中实现此目的 为了兼容性 这可能吗 或者是存在基本的编译器限制
  • 哪种数据结构最适合 VirtualStringTree?

    我想每个曾经使用过Delphi的VirtualStringTree的人都会同意它是一个很棒的控件 它是一个 虚拟 控件 您的数据必须保存在其他地方 所以我在想什么数据结构最适合这样的任务 IMO认为数据结构必须支持层次结构 它必须快速且易于
  • 扩展器的默认控制模板

    有人 可能使用 Blend 可以为我提供 WPF Expander 的工作默认 ControlTemplate 吗 我想做一些细微的修改 但似乎找不到有效模板的来源 提前致谢 我有混合 可以帮助你 这是 Blend 为我生成的内容
  • 根据日期分割数据框

    我正在尝试根据日期将数据框分成两个 此处的相关问题已解决 根据日期将数据帧分成两部分 https stackoverflow com questions 37532098 split dataframe into two on the ba
  • Chrome 语音合成具有较长的文本

    我在 Chrome 33 中尝试使用语音合成 API 时遇到问题 它可以完美地处理较短的文本 但如果我尝试较长的文本 它就会停在中间 一旦停止后 语音合成将无法在 Chrome 中的任何地方工作 直到浏览器重新启动 示例代码 http js
  • 责任链模式是否可以很好地替代一系列条件?

    当您需要按特定顺序执行一系列操作时 责任链模式是否可以很好地替代一系列条件 用这样的条件替换简单的方法是个好主意吗 public class MyListener implements MyHttpListener if false the
  • 线程安全类是否应该在其构造函数末尾有一个内存屏障?

    当实现一个线程安全的类时 我是否应该在其构造函数末尾包含一个内存屏障 以确保任何内部结构在可以访问之前已完成初始化 或者消费者有责任在使实例可供其他线程使用之前插入内存屏障 简化问题 下面的代码中是否存在竞争危险 由于初始化和线程安全类的访
  • 使用 Tensorflow.js 计算损失梯度

    我正在尝试使用 Tensorflow js 计算与网络可训练权重相关的损失梯度 以便将这些梯度应用于我的网络权重 在 python 中 这可以使用 tf gradients 函数轻松完成 该函数需要两个表示 dx 和 dy 的最小输入 但是
  • Scala 中如何按字符串拆分字符串

    在 Ruby 中 我做了 string1 string2 split 在 Scala 中 我找不到如何split使用字符串 而不是单个字符 REPL 甚至比 Stack Overflow 更容易 我只是按原样粘贴了您的示例 Welcome
  • 动态添加一个类到 Bootstrap 'popover' 容器

    我想用一个data 元素 例如 data class或类似 将新类 或 ID 我不再挑剔了 附加到顶级弹出窗口 div 我目前的代码如下 jQuery a rel popover popover placement bottom trigg
  • 如何生成键盘事件?

    简短的摘要 我正在尝试创建一个程序 将键盘事件发送到计算机 出于所有目的 模拟事件应被视为键盘上的实际击键 原帖 我正在寻找一种使用 python 生成键盘事件的方法 假设该函数接收到一个必须模拟按下的键 如下所示 keyboardeven
  • 如何监控 FIFO?

    我想通过设置该流量的只读终端窗口来调试两个进程之间的问题 我可以简单地使用现有的标准 Linux 实用程序来实现这一点吗 FIFO 位于 run myfifo并在其中一个进程中创建 Create a FIFO if one doesn t
  • 如何将 luaXML 与 LUA 5.3 一起使用

    我将使用 LUA 我的目标是运行一个使用 lausocket 和 luaXML 来完成其任务的脚本 我使用的是 Windows 2012 Server 64 位 我的 IBM IDOL 11 文件夹中已经有 LUA 编译器的两个文件 lua
  • 我认为 SqlParameter.IsNullable 仅在……时才有意义?

    1 When SqlParameter IsNullable被设定为true 已收到null值转换为DBNull Value并发送到数据库 因此我假设设置IsNullable to true仅当 GridView 的情况下才有意义Param
  • WPF - 将组合框项目前景绑定到其值

    我创建了一个组合框 列出了 System Windows Media Colors 预定义的颜色 使用此问题中所述的方法 如何使用 XAML 在 WPF 中列出颜色 https stackoverflow com questions 562
  • Jenkins:使用 Groovy 清理工作空间

    我的 Jenkins 设置没有节点 所有构建都在同一台机器上运行 我想设置一个 Groovy 脚本来清理旧工作区 所以我想使用 proj scm processWorkspaceBeforeDeletion Nonnull Job
  • HTTPS 与 NSURLConnection - NSURLErrorServerCertificateUntrusted

    我有一个可以通过 http 连接良好的应用程序 尝试 https 时 我收到错误消息 指出根证书不受信任 我找到了我的站点证书 其 CA 证书和 CA 根证书的 URL 并通过 Safari 将它们添加到手机中 现在 当我进入 首选项 gt