APP签名
Code Signature
codesign -dvvvv 可执行文件
查看签名信息
签名流程:
1 在本地生成certificatesigningrequest.certsigningrequest给苹果服务器,然后苹果对其进行私钥加密,生成ios_develpment.cer的证书,然后用其对APP进行签名;在进行签名的时候会使用本地的私钥进行加密(其对应的公钥为certificatesigningrequest.certsigningrequest),ios系统在安装应用的时候会进行一个验证,验证证书是不是合法,会用一个公钥进行解密.
手动签名:
- 找到电脑上可用于签名的证书列表
命令:
security find-identity -v -p codesigning
-
找到一个可用的证书之后,拷贝一个配置文件到目标app文件夹下边,可以在现有工程app包中找到
copy embedded.mobileprovision
查看描述文件内容
security cms -D -i embedded.mobileprovision
根据描述文件生成plist文件
security cms -D -i embedded.mobileprovision > enti.plist
- 用证书的字符串和授权文件和app文件进行签名,如果app有extension和注入动态库,要对这两个进行重签名
重签名app:
codesign -fs "iPhone Developer: 史超 王 (RRKUW9DNGU)" --no-strict --entitlements=环境文件位置 Payload/xxx.app
重签名extension:codesign -fs "iPhone Developer: 史超 王 (RRKUW9DNGU)" extension
- 生成payload文件夹,将app拖到文件夹中,
mkdir Payload
- 对payload进行压缩生成ipa文件,
zip -qry xxx.ipa ./Payload