【问题标题】:How to list certificates from the iPhone keychain inside my app?如何在我的应用程序中列出来自 iPhone 钥匙串的证书?
【发布时间】:2011-11-30 16:48:12
【问题描述】:

我正在创建一个 iPhone 应用程序,我们希望在其中使用 x.509 证书进行客户端身份验证。用户可以通过电子邮件安装他们的证书...它显示在设置 -> 常规 -> 配置文件下... 但是我无法从我的应用程序中读取这些证书...

我想提供一个类似于 Junos Pulse VPN 客户端提供的界面...一个配置窗口,列出设备钥匙串中的所有证书,并让用户选择他们的身份。

我该如何实现这一目标???

【问题讨论】:

    标签: iphone ios ipad


    【解决方案1】:

    Search 是你的朋友。我用过:iphone access keychain

    【讨论】:

    • @CocoaFu - 请不要编辑我的帖子来改变它们的意思。无法使用您的编辑获得我发布的结果,因为它使用特定于 stackoverflow 的模式(我显然没有得到我的结果)
    【解决方案2】:

    您无法访问该钥匙串。而且,是的,使用搜索。

    来自 Apple 文档:

    iOS 只允许应用程序访问它自己的钥匙串项。

    在此处阅读更多信息:Keychain Services Programming Guide

    【讨论】:

    • 很多帖子都这么说...但是 Junos Pulse 应用程序如何读取系统钥匙串以获取证书???
    • 我不知道“Junos Pulse 应用程序”是什么,您确定它不是从自己的钥匙串中读取证书吗?
    • 我有一个带有基于证书的客户端身份验证的 https 站点设置。当我在 Safari(在 iPad 上)中访问此站点时,它会显示一个列出所有身份证书的弹出窗口。 Junos Pulse 应用程序(适用于 iOS 的瞻博网络 SSL VPN 客户端应用程序)显示了相同的证书列表。这让我得出结论,Pulse 正在从 Safari 的钥匙串中读取数据。
    • 是否可以从自己的应用keyChain获取公钥?
    【解决方案3】:

    Junos Pulse 应用程序显然是通过 VPN 插件获得访问权限的,该插件是 Apple 提供的私有 API,仅限受邀者使用。该 API 让应用程序可以访问那些证书,否则这些证书只能由 Safari 等内置 iOS 应用程序访问。

    查看以下在我研究该主题时非常有用的内容: iOS get Configuration Profiles that are installed (其中一个答案中链接了 Apple Development 帖子) https://devforums.apple.com/message/660579#660579

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-31
      相关资源
      最近更新 更多