开发者证书、授权文件的管理

本文介绍如何管理和清理mobileprovisioning文件,避免因测试设备更新而导致的授权文件混乱。包括命令行操作步骤、p12转pem的方法及查看证书细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mobileprovisioning 的管理

当添加测试机时,mobileprovisioning 就需要更新(下文称为授权文件),久而久之,电脑里面就会存在大量的授权文件,而且,这些授权文件由于具有同样的名字,在 xcode 中,有可能会误选。
举个例子,假设原来的授权文件A,对应测试机a、b,后来在开发者账号里面添加了新的测试机c,于是对授权文件进行更新,生成新的授权文件B,此时,开发者甲拥有授权文件A、B,他把授权文件B发给了新加入的开发者乙,但是甲在项目中选择对应的授权文件的时候,选错了A文件,因为A、B在xcode中看是同名的,并提交到了 Git 上,开发者乙拉到代码之后,就会显示找不到对应的授权文件。
由于测试设备的添加导致授权文件的更新这种情况是非常常见的,久而久之,机子上就会存在大量无用的、多余的授权文件,容易出现各种混乱,最好养成定时清理的习惯。清空授权文件的命令行操作如下:

$ cd ~/Library/MobileDevice/Provisioning\ Profiles/
$ rm *.mobileprovision

以下命令行可以用来获取授权文件的uuid

$ /usr/libexec/PlistBuddy -c "Print UUID" /dev/stdin <<< 'security cms -D -i xxxxx.mobileprovision'

有时执行以上命令会报错 “Error Reading File: /dev/stdin”,于是后来我改用以下命令,读取mobileprovision的详细信息。首先,进入到mobileprovision所在路径,

$ security cms -D -i *.mobileprovision

你会得到一个dict结构的详细信息。

p12 & pem 的转化与查看

切换到p12文件所在路径下,使用以下命令,可把p12文件转化为pem文件。

$ openssl pkcs12 -in xxxx.p12 -out xxxx.pem -nodes
$ Enter Import Password:
$ MAC verified OK

末尾的参数 -nodes 表示不需要对私钥进行加密,如果不带上 -nodes ,你将被要求输入pem文件的密码,且加密之后,使用记事本打开pem文件将只能看到 CERTIFICATE 部分,看不到 PRIVATE KEY 部分。想获取更详细的信息,可使用以下命令,将证书的内容输出到 xxxx.txt 文件中:

$ openssl x509 -in xxxx.pem -noout -text > xxxx.txt
更多内容可参考: [mac下查看.mobileprovision文件及钥匙串中证书.cer文件](https://www.aliyun.com/jiaocheng/364717.html) [openssl查看证书细节](https://blog.youkuaiyun.com/zahuopuboss/article/details/53415811)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值