使用证书签名:适用于自购证书进行签名,签名的有效期为 1 年。
使用 Apple ID 签名:适用于开发者或普通用户免费使用 Apple ID 进行签名,签名的有效期为 7 天。
在爱思助手“工具箱”中打开“IPA 签名” :
点击“添加 IPA 文件”选择需要签名的 IPA 文件:
点击“导入证书”选择用于签名的证书、描述文件,添加完成后输入该证书密码:
(没有企业证书的选择 “ 使用Apple ID 签名 ” ,并按提示登录自己的Apple ID即可 参照下方【 使用 Apple ID 签名方法 】教程)
添加完所有 IPA 文件和证书文件后,可以根据自己的需求选择签名后的文件保存路径:
勾选用于签名的 IPA 文件和证书,点击“开始签名”即可。
选择“使用 Apple ID 签名 - 添加 Apple ID”,随后输入用于签名的 Apple ID、密码并选择或输入对应设备的设备标识(指签名后 IPA 文件要安装的设备):
检查无误后点击“确定”。建议 *** 作前需要将 iOS 设备连接至爱思助手,并保证可以读出“设备标识”,如果未连接设备,需要手动输入设备标识。Apple ID 添加完成后下方列表就会显示签名信息:
之后,添加需要签名的 IPA 文件并勾选 IPA 文件和用于签名的 Apple ID,点击“开始签名”即可,签名成功后就可以通过爱思助手安装该应用了。安装完成后,在 iOS 设备上首次打开前记得去“设置 - 通用 - 描述文件”内信任该应用。
请务必注意,已签名的 IPA 文件和原文件保存路径可能并不相同,签名后应该点击“打开已签名 IPA 位置”按钮,可用于安装的已签名 IPA 文件都会储存在该目录下,请注意分辨。
通过”OpenSSL解码X509证书文件”里,讲述了如何使用OpenSSL将证书文件解码,得到证书上下文结构体X509的方法。因为苹果证书的加密机制所以没有带签名的IPA不能安装到手机上,山猪签通过模拟电脑上的签名环境实现在手机上签名安装,将证书的加密方式一起模拟到程序里面实现在手机上直接安装原理就是这样的,百度上,搜索可以找到山猪签.X509_CINF*cert_infoX509_ALGOR*sig_algASN1_BIT_STRING*signatureintvalidintreferenceschar*name苹果证书上是一个结构体,可以通过电脑用openssl解析,不过苹果证书难于获取,不过山猪签这款工具里面自带证书,可以在手机上修改程序的证书签名,然后替换证书实现手机上直接安装程序证书的签名算法,是指证书用来签名时使用的算法(包含HASH算法)。签名算法用结构体X509中sig_alg字段来表示,可以通过sig_alg的子字段algorithm返回签名算法对象,从而得到签名算法的Oid,如何绕过证书安装程序呢,使用山猪签这款工具就可以在手机上体替换证书,从而直接安装程序,度娘上搜一下就有了1. 需要有有效企业证书和描述文件(xxx.mobileprovision)及对应的Bundle identifier2.将ipa包的文件后缀改为zip格式,在解压!
3.打开Payload文件,右击选择显示包内容
4.找到一个叫embedded.mobileprovision文件,用我们自己的描述文件进行替换(注意:自己的描述文件名字一定要改成embedded.mobileprovision)
5.使用embedded.mobileprovision制作entitlements.plist 文件,打开终端
xianghaodeMacBook-Pro:~ Johnhao$ security cms -D -i /Users/Johnhao/Downloads/Payload/LotteryProject.app/embedded.mobileprovision >/Users/Johnhao/Downloads/Payload/LotteryProject.app/entitlements_full.plistxianghaodeMacBook-Pro:~ Johnhao$ /usr/libexec/PlistBuddy -x -c'Print:Entitlements'/Users/Johnhao/Downloads/Payload/LotteryProject.app/entitlements_full.plist >/Users/Johnhao/Downloads/Payload/LotteryProject.app/entitlements.plist
security cms -D -i embedded.mobileprovision文件路径 >生成entitlements_full.plist文件的路径
/usr/libexec/PlistBuddy -x -c 'Print:Entitlements' entitlements_full.plist文件的路径 >生成entitlements.plist文件的路径
6.完成以上步骤后,打开info.plist文件,更改我们自己描述文件对应的bundle id
7.重签,安装一下步骤执行,出现replacing existing signature说明你成功了!就可以发布到蒲公英或者fir.im了。
xianghaodeMacBook-Pro:~ Johnhao$ /usr/bin/codesign --continue-f -s"iPhone Distribution: Xiaofu Ecommerce (Beijing) Co., Ltd."--entitlements"/Users/Johnhao/Downloads/Payload/LotteryProject.app/entitlements.plist""/Users/Johnhao/Downloads/Payload/LotteryProject.app"
/Users/Johnhao/Downloads/Payload/LotteryProject.app: replacing existing signature
/usr/bin/codesign --continue -f -s "证书(在钥匙串访问中找到你的企业证书,在右击显示简介,拷贝组织)" --entitlements "entitlements.plist路径" "app文件路径"
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)