讀取 ipa 包的過期時間

綜述

企業(yè)帳號發(fā)布證書有效期是3年,而開發(fā)證書有效期為1年,而描述文件開發(fā)發(fā)布都是只有1年有效期。
個人帳號開發(fā)證書發(fā)布證書有效期都是1年,描述文件也全是1年有效期。

  • 證書過期時間 cer
  • 描述文件過期時間 mobileprovision

參考資料

cd '/Users/somePath'


unzip -q *.ipa

codesign -d --extract-certificates Payload/*.app
version=`openssl x509 -inform DER -in codesign0 -noout -nameopt -oneline -dates | awk '{if($1~/^notAfter/)print}'`

if [ ${#version} -gt 0 ] && [[ $version =~ "notAfter=" ]] ;then
v=${version:9}

### 先獲取證書過期時間,并轉化為時間戳
#echo `LANG=C date -j -u -f "%b %d %T %Y GMT" "$v" +%s` >> expired
cerExpiredTimestamp=$(LANG=C date -j -u -f "%b %d %T %Y GMT" "$v" +%s)
echo "證書過期時間"
echo $cerExpiredTimestamp

### 獲取描述文件過期時間,并轉化為時間戳
mobileprovisionExpireDate=`/usr/libexec/PlistBuddy -c "Print ExpirationDate" /dev/stdin <<< $(/usr/bin/security cms -D -i Payload/*.app/embedded.mobileprovision)`
mobileprovisionExpireTimestamp=$(LANG=C date -j -f "%a %b %d %T %Z %Y" "$mobileprovisionExpireDate" "+%s")
echo "描述文件過期時間"
echo $mobileprovisionExpireTimestamp

### 此處輸出過期時間戳至 iPa 目錄的下的 expired 文件內(nèi)
if [ $cerExpiredTimestamp -gt $mobileprovisionExpireTimestamp ]
then
    echo $mobileprovisionExpireTimestamp >> expired
else
    echo $cerExpiredTimestamp >> expired
fi

else
echo "版本號獲取失敗"
exit 1
fi

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容