IOS ipa包(无源码)企业证书签名手动替换

阅读: 评论:0

IOS ipa包(无源码)企业证书签名手动替换

IOS ipa包(无源码)企业证书签名手动替换

由于ios的企业证书有期限,到期限后就会导致App不能使用,故需要重新进行签名,先整理一份自己在mac上手动替换签名的方法和步骤。

原理:

IOS安装包企业签名ipa包里面包含的是payload文件夹,文件夹中包含了资源文件和_CodeSignature签名文件夹以及bileprovision证书配置文件,而其中关于ios授权签名的就是_CodeSignature签名文件夹和bileprovision证书配置文件 只要替换这两个文件就搞定。

_CodeSignature签名文件夹 需要用 *.plist 授权文件去自动生成。


*.plist文件配置如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" ".0.dtd">
<plist version="1.0">
<dict><key>application-identifier</key><string>${application-identifier}</string><key>com.am-identifier</key><string>${com.am-identifier}</string><key>get-task-allow</key><false/><key>keychain-access-groups</key><array><string>${application-identifier}</string></array>
</dict>
</plist>

其中 ${application-identifier} 和 ${com.am-identifier} 在 企业证书文件中 *.mobileprovision 中拷贝



       实施步骤:

  • 你的有原始的ios安装包,*.ipa
  • 你得有在有效期内的的企业证书,如下文件:
    • *.mobileprovision
    • <
    • distribution.p12
  • 将cer证书输入密码安装在当前的mac机器上
  • 命名*.mobileprovision 为bileprovision
  • 解压ipa包
    unzip *.ipa
  • 删除_CodeSignature签名文件夹
    rm -rf Payload/*.app/_CodeSignature

  • 替换*app中的bileprovision
    bileprovision Payload/*.app/ 
  • 创建*.plist文件并用该文件签名
    /usr/bin/codesign -f -s "iPhone Distribution: ${cerName}" --entitlements *.plist Payload/*.app
其中 ${cerName}是证书名称,可以在钥匙串证书中看到
  •  修改Payload/*.app中Info(info).plist中bundleIdentifier的值为你自己的bundleIdentifier实际值
  • 打包ipa
    zip -r xxx.ipa Payload

      拿到xxx.ipa进行验证去吧。

本文发布于:2024-02-05 06:56:06,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170726796164165.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:源码   证书   企业   IOS   ipa
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23