用于检查是否已安装iOS分发证书的命令

时间:2015-11-02 19:13:40

标签: ios ssl-certificate keychain ad-hoc-distribution

是否有任何命令检查是否已在mac keychain中安装了iOS应用程序分发证书。使用证书名称识别证书没有帮助,因为Apple开发者帐户可以拥有多个分发证书,并且这些证书具有相同的名称。

1 个答案:

答案 0 :(得分:4)

不幸的是,代码签名需要大量有关应用程序构建状态的信息(例如,发布与调试,有效的AppID,有效的签名身份构建配置,有效的Provisioning Profile配置)以及证书和密钥信息。存储在当前用户的钥匙串中。作为您问题的直接答案:不,没有与Xcode打包的一次性“checkMySigningIdentity”工具可以为您提供全自动的二进制是/否我怀疑您正在寻找。通过security CLI公开了一组工具,可用于验证签名身份或查询已安装证书的内容。例如,您可以grep security find-identity -v -p codesigning的输出内容:

bmusial@BKM-rMBP:~$ security find-identity -p codesigning -v
  1) A1B2C3D4E5F6198609D8AACF3F3041F05163A3EC "iPhone Developer: Bryan Musial (1234567890)"
  2) 8FDF5DCEC607FE669BB6C728CB51A1B2C3D4E5F6 "iPhone Developer: Bryan Musial (0987654321)"
     2 valid identities found

然后在括号中查找与已知分发证书匹配的标识符(显然我只安装了开发证书,但对于分发证书也是如此)。您可以更进一步,从Keychain获取有问题的证书,然后查询用户ID,组织单位或序列号,以获得额外的验证级别。

最终结果是,目前没有单触式CLI可用于获取您正在寻找的通过/失败结果。但是,您可能希望查看可用于构建自己脚本的脚本或脚本片段的开源工具。