用户工具

站点工具


ios_security_system_notes

iOS 安全体系笔记

Resource

Provisioning Profile

.mobileprovision 其实是一个 DER 格式的 PKCS#7 文件。

如下命令可以显示 .mobileprovision 中内含的所有证书:

openssl pkcs7 -inform DER -in embedded.mobileprovision -print_certs

开发者证书:

  • Extension: Apple Developer Certificate (Development) ( 1.2.840.113635.100.6.1.2 )
  • Critical: YES
  • Data: 05 00

提交证书:

  • Extension: Apple Developer Certificate (Submission) ( 1.2.840.113635.100.6.1.4 )
  • Critical: YES
  • Data: 05 00

签过名的 IPA 文件其实是个 ZIP 包,解开以后里面有个 Payload 目录,Payload 目录里就是 xxx.app,xxx.app 里面有个 embedded.mobileprovision。xxx.app 里面还有个 _CodeSignature 目录。_CodeSignature 里面有个叫 CodeResources 的文件,里面列出了此 App 的所有文件还有文件的签名。

内容举例如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>files</key>
    <dict>
        <key>foo.png</key>
        <data>
        TsI4oCFPF/Wd1x7TVIVvMEAjYCU=
        </data>
        <!-- 一大堆文件列表,结构同上:key + data -->
    </dict>
    <key>rules</key>
    <dict>
        <key>.*</key>
        <true/>
        <key>Info.plist</key>
        <dict>
            <key>omit</key>
            <true/>
            <key>weight</key>
            <real>10</real>
        </dict>
        <key>ResourceRules.plist</key>
        <dict>
            <key>omit</key>
            <true/>
            <key>weight</key>
            <real>100</real>
        </dict>
    </dict>
</dict>
</plist>
ios_security_system_notes.txt · 最后更改: 2013/07/24 05:44 由 2ndboy