ios - 检查是否安装了 iOS 分发证书的命令

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

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

最佳答案

不幸的是,代码签名需要大量关于应用程序构建状态的信息(例如,发布与调试、有效的 AppID、有效的签名身份构建配置、有效的供应配置文件配置)以及存储的证书和 key 信息在当前用户的钥匙串(keychain)中。作为对您问题的直接回答:不,没有与 Xcode 一起打包的一次性“checkMySigningIdentity”工具可以为您提供全自动的二进制 Yes/No 我怀疑您正在寻找。通过 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。但是,您可能希望查看可用于构建自己的脚本的脚本或脚本片段的开源工具。

关于ios - 检查是否安装了 iOS 分发证书的命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33485124/

相关文章:

certificate - 我可以使用哪些工具来生成X.509证书?

ssl - 将自签名证书与 keytool 一起用于开发目的

ios - 找到多个匹配的代码签名身份(即证书和私钥对)

ios - 无法在 iMessage 扩展中显示文档目录中的贴纸

asp.net-core - 如何在 IIS 上运行的 aspnet core 应用程序的 appsettings.json 中配置 IdentityServer 的关键设置

ios - 如何在安装应用程序后立即隐藏苹果推送通知角标(Badge)计数?

ios - "No unexpired provisioning profiles found that contain any of the keychain' s 签名证书”恐怖

macos - Mountain Lion 操作系统中的证书签名请求

iphone - 从 UITableView 插入和删除行时如何正确更新数据源?

iphone - MPMediaQuery 搜索艺术家、专辑和歌曲