プロビジョニングプロファイル
プロビジョニングプロファイルについてのメモ書き
主に iOS Hacker's Handbook から
DeveloperCertificates
base64 でエンコードされた証明書
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
で囲み openssl x509 -in /path/to/file -text
で情報を出力可能
検証
libmis の MISProvisioningProfileCheckValidity 関数で検証が行なわれる
- Applle iPhone Certificate Authority によって発行された証明書である
- 証明書の名前は Apple iPhone OS Provisioning Profile Signing である
- 証明書チェーンは3つまで
- ルート証明書は特定の SHA1 ハッシュ値を持つ
- プロファイルのバージョンは1である
- プロファイルにデバイスの UDID が存在するか、ProvisionsAllDevices キーが存在する
- プロファイルが有効期限内である
iOS Hacker's Handbook の P.77 から
Authority
AppStore で公開されているアプリとそれ以外での証明書の違い
AppStore
- iPhone OS Application Signing
- iPhone Certification Authority
- Apple Root CA
それ以外
- iPhone Developer: 名前 (ID)
- Apple Worldwide Developer Relations Certification Authority
- Apple Root CA
codesign -dvvv path/to/app
で確認できる
iOS Hacker's Handbook の P.78 から