利用security命令为电脑安装iOS证书以及描述文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用security命令为电脑安装iOS证书以及描述文件相关的知识,希望对你有一定的参考价值。

参考技术A 做过ios开发或者测试的童鞋相信一定对iOS证书和描述文件不陌生。对于iOS证书和描述文件的安装,只要我们手动对其双击,就可以直接安装到我们的钥匙串或者iOS工程里面。但是如果我们在做一些自动化脚本时候,拿到一份证书或者描述文件时,想要自动安装到我们电脑上时,那么security将是一个不错的选择。

其实security里面集成了很多有用的命令,包括安装,查询,和删除你本地的证书。这里我们只简单阐述一下如何安装。

1.证书安装

首先我们需要进行解锁操作

security unlock-keychain -p macpassword /Users/yourname/Library/Keychains/login.keychain

安装证书首先需要对你的电脑进行解锁,macpassword为你的电脑密码,yourname为你的电脑登录用户名。

然后,进行导入证书操作

security import p12filepath -k /Users/yourname/Library/Keychains/login.keychain -P p12password -T /usr/bin/codesign

这一步,就将我们的p12证书导入进来,其中p12filepath为你的p12文件的路径,p12password为你的证书打开密码,如果为空请写""!如果为空请写""!如果为空请写""!重要的事情说三次。。

2.描述文件的安装

对于描述文件的安装,其实就很简单啦,当我们双击描述文件进行安装时,其实是吧他们拷贝到 ~/资源库/MobileDevice/Provisioning Profiles/ 文件夹下,并以描述文件里的uuid为文件名进行保存了。那首先我们需要获取描述文件里的uuid

对于描述文件的打开,你可以用vim命令行对其操作,这里我们仍然用security转化为plist文件进行读取

security cms -D -iyourprovisionfile > plistfile

其中yourprovisionfile是你描述文件的路径,plistfile是要生成的plist文件的路径,注意以.plist结尾。

将描述文件生成为plist文件的格式之后,我们就可以获取到其uuid,当然我们也可以获取到其他一些有用的信息,比如teamid,比如teamName,可以用这些数据来校验描述文件和证书的一致性。

好啦!关于security安装证书和描述文件就先介绍到这里啦!!

检查是不是安装了 iOS 分发证书的命令

【中文标题】检查是不是安装了 iOS 分发证书的命令【英文标题】:Command to check if iOS distribution certificate is installed检查是否安装了 iOS 分发证书的命令 【发布时间】:2015-11-02 19:13:39 【问题描述】:

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

【问题讨论】:

从命令行重新安装会有所帮助吗? ***.com/questions/23410890/… 【参考方案1】:

不幸的是,代码签名需要大量有关应用程序构建状态的信息(例如,发布与调试、有效的 AppID、有效的签名身份构建配置、有效的供应配置文件配置)以及证书和密钥信息存储在当前用户的钥匙串中。作为对您问题的直接回答:不,没有与 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。但是,您可能希望查看可用于构建自己的脚本的脚本或脚本片段的开源工具。

【讨论】:

尽管安全手册页通过“-s”指定可选字符串匹配,但协议“-p codesigning”不支持字符串过滤器,这可能也毫无价值。

以上是关于利用security命令为电脑安装iOS证书以及描述文件的主要内容,如果未能解决你的问题,请参考以下文章

利用Appuploader上架IPA步骤

jdk添加三方证书,解决sun.security.validator.ValidatorException: PKIX path building failed

jdk添加三方证书,解决sun.security.validator.ValidatorException: PKIX path building failed

jdk添加三方证书,解决sun.security.validator.ValidatorException: PKIX path building failed

iOS包重签名技术知识

iOS 证书申请和使用详解(详细版)