iOS 基于 embedded.mobileprovision 描述文件查看 ipa 包证书到期时间

iOS开发中,embedded.mobileprovision 描述文件包含了证书信息,如调试设备UDID、Entitlements、AppIDName、DeveloperCertificates等大量关于此安装包和证书的信息,此文件是二进制格式,无法直接打开

.ipa 的安装包,后缀改为 .zip ,解压后 payload/APP名称 右键显示包内容,可以获取 embedded.mobileprovision 描述文件

可以利用命令行工具查看其相关信息,比如证书到期时间等

1、查看描述文件到期时间

# 查看描述文件到期时间
$ security cms -D -i embedded.mobileprovision
复制代码

可以看到描述文件到期时间,如下:

<key>ExpirationDate</key>
<date>2021-10-26T02:31:28Z</date>
复制代码

但在此命令下无法得知证书的到期时间,DeveloperCertificates 字段对应的值为Base64加密,无法正常解析出来,一般个人或公司为一年,企业为三年,描述文件都是一年有效期

2、查看证书文件到期时间

命令1:

# 会生成一个temp.plist的临时文件
$ security cms -D -i embedded.mobileprovision > tmp.plist && /usr/libexec/PlistBuddy -c 'Print DeveloperCertificates:0' tmp.plist | openssl x509 -inform DER -noout -enddate
复制代码

命令2:

# 不会生成temp.plist的临时文件
$ /usr/libexec/PlistBuddy -c 'Print DeveloperCertificates:0' /dev/stdin <<< $(security cms -D -i embedded.mobileprovision) | openssl x509 -inform DER -noout -enddate
复制代码

命令3:

# 看全部信息,即把上面命令后面的 -enddate 换成 -text
$ /usr/libexec/PlistBuddy -c 'Print DeveloperCertificates:0' /dev/stdin <<< $(security cms -D -i embedded.mobileprovision) | openssl x509 -inform DER -noout -text 
复制代码

其他方案:

参考文章: blog.csdn.net/mapboo/arti…

分类:
iOS
标签: