gpt4 book ai didi

ios - 是否可以从 iOS 应用程序签名的证书中获取数据?

转载 作者:可可西里 更新时间:2023-11-01 04:44:05 27 4
gpt4 key购买 nike

我需要以编程方式从用于签署 iOS 应用程序的证书中获取数据(公钥)。有谁知道这是否可能?有一些API吗?看起来有几个适用于 MacOS 的解决方案,但没有一个适合 iOS。

最佳答案

尝试以下步骤:

<醇>
  • 提取您的 iOS 应用程序的内容(扩展名:.ipa)。为此,您可以简单地使用 Archive Utility。
  • 切换到提取的内容,您会在其中看到一个 App 文件(扩展名:.app)
  • 右键点击该应用并选择显示包内容
  • 您会在名称下看到您使用的配置文件:embedded.mobileprovision
  • 在终端中执行以下命令(使用正确的路径)或打开 embedded.mobileprovision使用您选择的应用程序,例如 TextWrangler。您将在 <data> 中找到签名证书 key (或证书,如果您使用了多个) PropertyList

    DeveloperCertificates 内的元素

    security cms -D -i embedded.mobileprovision


  • 此外,如果您想提取公钥并将其直接保存到文件中,请在终端中执行以下操作:

    1. 如果您尚未安装 Homebrew,请下载并安装它:

      ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go/install)"

    2. 安装 XMLStarlet 或任何其他帮助我们解析 plist 内容的工具:

      brew install xmlstarlet

    3. 像以前一样,我们使用 security cms命令解码 embedded.mobileprovision 配置文件,但这次我们直接将其提供给 XMLStarlet(xml 命令)以解析 DeveloperCertificates 的数据部分元素,其中包含公钥。我们用 openssl 读取它并写入一个文件,我们称之为 publickey.pem:

      security cms -D -i embedded.mobileprovision | xml sel -t -v "/plist/dict/key[. = 'DeveloperCertificates']/following-sibling::array[1]/data[1]" | awk '{print $1}' | sed '/^$/d' | base64 -D | openssl x509 -inform der > publickey.pem

    4. 您将在文件 publickey.pem 中找到公钥

    关于ios - 是否可以从 iOS 应用程序签名的证书中获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21116409/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com