使用客户端证书身份验证时,为什么我不断收到 NSURLErrorDomain Code=-1206?

2024-02-18

以下代码是我使用之前有关 ios 客户端证书身份验证的帖子中的代码。每个人都说这有效,但为什么它对我有效?!?!

我不断收到以下错误:

connection didFailWithError: Error Domain=NSURLErrorDomain Code=-1206 "The server “www.mywebsite.com” requires a client certificate.

我在 stackoverflow 上关注了至少 4 篇关于同一主题的帖子,在其他类似网站上关注了 2 篇。他们都说同样的话,但它不起作用。

我知道我的PKCS12文件之所以有效,是因为我通过电子邮件将其发送到我的 ipad,并将其安装在 ipad 钥匙串上,并且我可以使用 Safari 使用证书身份进行访问和授权。正是当我尝试使用NSURLConnection在第三方应用程序中,它拒绝允许我这样做。

欢迎任何建议,我觉得我已经用尽了我的选择。


    // Download PKCS12 Cert from my FTP server.

    NSString *stringURL = @"ftp://user:password@myipaddress/myclientId.p12";        
    NSString* webStringURL = [stringURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    NSURL  *url = [NSURL URLWithString:webStringURL];
    NSData *p12Data = [NSData dataWithContentsOfURL:url];


    if ( p12Data )
    {   
        CFDataRef inP12data = (__bridge CFDataRef)p12Data;

        SecIdentityRef myIdentity;
        SecTrustRef myTrust;
        OSStatus errMsg = NULL;

        // This is the same function that has been reposted in all the other posts about ios client certification authentication.  So i'm not going to repost that.
        errMsg = extractIdentityAndTrust(inP12data, &myIdentity, &myTrust);

        SecCertificateRef myCertificate;
        SecIdentityCopyCertificate(myIdentity, &myCertificate);

        const void *certs[] = { myCertificate };

        CFArrayRef certsArray = CFArrayCreate(NULL, certs, 1, NULL);

        NSURLCredential *credential = [NSURLCredential credentialWithIdentity:myIdentity certificates:(__bridge NSArray*)certsArray persistence:NSURLCredentialPersistenceNone];

        [[challenge sender] useCredential:credential forAuthenticationChallenge:challenge];

错误就在这条线上。第二个参数需要设置为“nil”

    NSURLCredential *credential = [NSURLCredential credentialWithIdentity:myIdentity certificates:(__bridge NSArray*)certsArray persistence:NSURLCredentialPersistenceNone];

变成:

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

使用客户端证书身份验证时,为什么我不断收到 NSURLErrorDomain Code=-1206? 的相关文章

  • 创建类似于邮件应用程序菜单的 iPhone 弹出菜单

    当您想要回复消息时 我想创建一个类似于邮件应用程序中的弹出菜单 我在多个应用程序中看到过这一点 所以我不确定框架中是否内置了某些内容或一些示例代码 在 Swift 中创建操作表 代码已使用 Swift 5 进行测试 从 iOS 8 开始 U
  • 部署目标是什么意思?

    这是我假设的一个非常简单的问题 有人可以告诉我部署目标是什么意思吗 如果我选择 iOS 10 是否意味着只有 iOS 10 的用户才能下载该应用程序 选择较低的部署目标是否不好 另外 继续部署目标 是否不建议在较低的部署目标上运行 假设您已
  • CLLocation Manager如何在一定距离后更新

    我正在使用 CLLocationManager didupdatelocations 如下所示 func locationManager manager CLLocationManager didUpdateLocations locati
  • 如何在 iOS 上压缩 Realm DB?

    我想定期压缩 iOS 上的 Realm 实例以回收空间 我认为该过程是将数据库复制到临时位置 然后将其复制回来并使用新的default realm 文件 我的问题是Realm 其行为就像单例并回收对象 因此我无法真正关闭它并告诉它打开新的
  • Swift 中的“funcobserveValueForKeyPath(keyPath:NSString,object:AnyObject,change:NSDictionary,context:Void)”问题

    我已经为 AVPlayer 添加了一个观察者 如下所示 self audioPlayer addObserver self forKeyPath currentItem status options NSKeyValueObservingO
  • UITextView 动画更改框架不会动画文本重新分配

    我有一个 UITextView 我试图在用户点击按钮时为框架的变化设置动画 基本上 文本视图会变大以适应屏幕 以便可以显示更多文本 然后当用户再次点击按钮时 它会缩小到原始框架 我使用块执行动画 如下所示 if isDisplayingDe
  • 由 Xcode 机器人运行时,在文本视图中键入文本时 UI 测试失败

    我有以下 XCTest UI 测试 将文本键入文本视图 let textView app textViews elementBoundByIndex 0 textView tap textView typeText Hello world
  • 检查定位服务是否开启

    我一直在对 CoreLocation 进行一些研究 最近 我遇到了一个在其他地方 但在 Objective C 和 iOS 8 中 已经讨论过的问题 我觉得问这个问题有点傻 但是如何在 iOS 9 上使用 swift 检查是否启用了位置服务
  • SwiftUI 列表与右侧的部分索引?

    是否可以有一个在右侧有索引的列表 就像下面 SwiftUI 中的示例一样 我在 SwiftUI 中做了这个 Contacts swift TestCalendar Created by Christopher Riner on 9 11 2
  • MYSQL 区分大小写的 utf8 搜索(使用 hibernate)

    我的登录表具有 utf8 字符集和 utf8 排序规则 当我想要检查用户名并检索该特定用户名的其他信息时 hql 查询会为我提供小写和大写相同的结果 我应该如何处理适用于案例的 HQL 查询 我使用 Mysql 5 和 java hiber
  • Twitter 登录说明

    我想在 Android 中创建一个 Twitter 应用程序 为此 我想创建一个登录页面并登录到 Twitter 为此 我们需要消费者密钥和消费者密钥 这是什么意思 要创建此登录页面 除了 Twitter 帐户之外 我们还需要其他任何东西吗
  • 如何使用 NSUserDefaults 在 Swift 中存储自定义类的数组?

    我有一个名为的自定义类Person当某人输入信息时 它会存储有关某人的各种属性 class Person Person dictionary variable var name String var age String var html
  • 在 Swift 中从 UIScrollView 创建 PDF 文件

    我想从 UIScrollView 的内容创建一个 PDF 文件 func createPdfFromView aView UIView saveToDocumentsWithFileName fileName String let pdfD
  • 更改组织以使用 Xcode 9 在 iTunes Connect 上上传二进制文件

    我在 Xcode9 上配置了多个团队 当我尝试将二进制文件上传到 Xcode 9 上的 iTunes Connect 时 没有更改团队的选项 并且出现以下错误 ERROR ITMS 4088 来自苹果开发者论坛的解决方案 1 正常存档2 窗
  • UIButton的高亮状态由什么控制事件开始和结束

    我正在创建类似钢琴的视图UIButton作为钢琴键 什么UIControlEvents当按钮获得和失去突出显示状态时 我应该监听以获得回调吗 我试图创建子类UIButton并添加属性观察者highlighted并且运行良好 然而 有时我需要
  • 覆盖层不与 UITableView 一起滚动 - iOS

    我有一个 UITableView 类 它使用以下方法在转到下一个屏幕时调用加载覆盖 问题是这个加载屏幕不随列表滚动 所以如果你滚动一点并单击某些东西 加载屏幕不会显示 因为它位于顶部 如何让加载屏幕始终保持在 UITableView 的顶部
  • 推送动画,没有阴影和停电

    我有一个简单的iOS NavigationController基于应用程序 二UICollectionViews 相继 如果元素打开 第一个合集 被点击时 第二集 将被打开 非常简单 重要的提示 Both UICollectionViews
  • AVAssetExportSession 为零 iPhone 7 - Plus 模拟器

    AVAssetExportSession在 iPhone 6 及以下版本上运行良好 但在 iPhone 7 iPhone 7 Plus 模拟器上运行不佳 Xcode 8 0 这段代码return nil在exportSession中 当在i
  • 在 UIScrollview 上显示缩略图的最佳方法是什么(从服务器下载)

    我想在 UIScrollview 如照片应用程序 上显示许多图像 作为缩略图 所有图像将从服务器下载 据我所知 有几种选择 1 通过创建 UIImageviews 然后将它们添加为主滚动视图上的子视图 2 通过子类化一个UIView类 然后
  • iOS - UITableViewCell 使文本加粗

    我有一个字符串 NSString userInfo James Johnson james 我想做的就是大胆James Johnson并保留 james正常字体 所以我尝试过的是使用NSAttributedString但为了完成这个过程 我

随机推荐

  • Guzzle:处理 400 个错误请求

    我在 Laravel 4 中使用 Guzzle 从另一台服务器返回一些数据 但我无法处理错误 400 错误请求 status code 400 reason phrase Bad Request using client gt get ht
  • Github - 流量 - 奇怪的“Git 克隆”统计数据

    我有一个 Github 存储库 其中包含一些令人困惑的 Git 克隆统计信息 如下所示 该存储库没有大量访问者或 Stars 但在 9 月 29 日显示了相对较多的克隆 GitHub流量帮助页面 https help github com
  • 如何在 SVG / raphael 中的贝塞尔曲线末端绘制箭头?

    我有一条由此生成的曲线 var path M x1 toFixed 3 y1 toFixed 3 L arrow left x arrow left y L arrow right x arrow right y L x1 toFixed
  • Python 错误:io.UnsupportedOperation:fileno

    我正在使用服务器和客户端程序here http www bogotobogo com python python network programming tcp server client chat server chat client s
  • 等待 IO 的可重用测试代码

    我正在尝试在 WCF 公开的方法 服务上使用 async await 一切工作正常 但我想模拟实际等待 IO 的服务方法 以便服务调用将注册到 IO 完成端口 并将线程放回到线程池中 澄清一下 我只是尝试确认 IO 完成端口的使用情况 并更
  • 通过 Wi-Fi 扫描 MFI 产品

    在 iOS 8 中 Apple 允许我们通过 Wifi direct 连接到设备并与其共享 WiFi 网络凭据 我们可以在 wifi 设置页面中执行此操作 也可以在应用程序中执行此操作 我正在尝试启动扫描来查找 wifi MFI 设备 我可
  • 从 aws lambda 函数调用 django 函数视图

    我想在 AWS Lambda 上运行我的 django 视图 为此 我创建了一个 lambda 函数来调用该视图函数 AWS lambda 函数是这样的 gt import app views as v def functionA hand
  • 日语 COBOL 代码:G 文字和标识符的规则?

    我们正在处理IBMEnterprise日语COBOL源代码 准确描述 G 类型文字中允许的内容的规则 标识符的允许范围尚不清楚 IBM 手册指出 G 文字 引号内的第一个字符必须为 SHIFT OUT 以及 SHIFT IN 作为结束引号之
  • 如何在不使用任何第三方库的情况下在C++中反序列化json字符串[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在 vc 创建一个应用程序以 j
  • Jenkins 与 Jest 集成

    有没有办法将 Jenkins 集成到基于 Jasmine 构建的 Javascript Jest 测试框架中 我尝试将 Jest 与茉莉花记者 https github com larrymyers jasmine reporters 但未
  • R 中 LINQ 风格的数据操作

    我感兴趣 R 中是否有一个包支持调用链式数据操作 例如 C LINQ F 我想启用这样的样式 var list new 1 5 10 12 1 var newList list Where x gt x gt 5 GroupBy x gt
  • 在 for 循环内动态创建按钮以在滚动视图中使用

    我在动态创建按钮时遇到问题 我使用了提供的帮助如何在 Android 中动态创建按钮 https stackoverflow com questions 3011092 how can i dynamically create a butt
  • 每两个表行的第 n 个子级

    我需要将表格的每两行设为灰色 如果可能的话 我更愿意使用 nth child 我已经搞乱了Chris Coyier 的第 n 个孩子测试员 http css tricks com examples nth child tester 但仍然无
  • 在 Haskell 中快速更新大状态

    对于 Haskell 中的矢量图形库 我必须携带一个相当大的状态 线条描边参数 颜色 剪辑路径等 我知道有两种方法可以做到这一点 引用来自的评论哈斯克尔咖啡馆 http www mail archive com haskell cafe h
  • Angular 2 JSONP注入脚本没有调用回调错误

    我正在 localhost 3000 上使用 npm 服务器运行应用程序 服务文件 import Injectable from angular core import Jsonp from angular http import rxjs
  • 为什么在 Java 中要在单独的文件中声明枚举?

    为什么这个枚举在它自己的文件中声明 这样做有什么好处吗 另外我如何才能将其放入两个文件之一中 我真的不知道我在做什么 还请用简单的方式解释一下 因为这是教科书示例 而且我对 Java 还很陌生 刻度名称 java enum ScaleNam
  • 如何使用对象数组中的 usestate 更新状态?

    我在使用 React useState 挂钩时遇到了一些问题 我有一个带有复选框按钮的待办事项列表 我想将 完成 属性更新为 true 该属性与 单击 复选框按钮的 id 具有相同的 id 如果我 console log 我的 toggle
  • 如何使用 PowerShell 使用两个 echo 命令在一行上打印数据

    下面是我用来查找用户创建日期和上次登录日期的代码 然后将其写入 csv 文件 users Get ADuser SearchBase OU testou1 dc US dc ITOPS dc COM Filter properties sa
  • 如何制作一个具有真正多语言字符串的应用程序?

    为不同语言制作字符串的最佳方法应该是什么 我有这个问题 我试图显示 月 月 年 年 等字符串 目前我正在研究我所知道的 3 种语言 西班牙语 英语和波兰语 对于英语和西班牙语来说 这很简单 但例如 在波兰语中 年 可以变成 lata 数字
  • 使用客户端证书身份验证时,为什么我不断收到 NSURLErrorDomain Code=-1206?

    以下代码是我使用之前有关 ios 客户端证书身份验证的帖子中的代码 每个人都说这有效 但为什么它对我有效 我不断收到以下错误 connection didFailWithError Error Domain NSURLErrorDomain