初回:
kome login
kome keygen
kome sign2回目以降:
kome signkome signは次を順に実行します。
Kome.tomlとPackage IDを検証する- 入力が新しい場合にbuildとunsigned MPKG生成を行う
- application鍵を生成または検証する
- 保存済みCLI sessionをrefreshする
- DeveloperCAのDeveloper一覧からDeveloperを解決する
- 既存Developer Certificateを検証し、必要なら取得する
- 一時MPKGへ
developer.certとmanifest.sigを追加する - 一時MPKGをローカル検証する
- 成功した場合だけ
dist/<name>.mpkgへ配置する
未ログイン時はログイン方法を表示して終了し、勝手にDevice Authorizationを開始しません。
明示的に同じコマンドからログインする場合だけkome sign --loginを使用できます。
Developerの解決順:
Kome.tomlの[developer].idkome developer useで保存したdefault Developer- 発行可能なDeveloperが1件なら自動選択
- 複数なら対話選択
- 0件ならConsoleでの作成を案内
Certificate再利用時はMCER、Issuer署名、application公開鍵、Developer ID、Package ID scope、全required Capability、有効期間を検証します。鍵、Developer、Package ID、 Capability、期限のいずれかが変わると再取得します。
署名対象:
"mochios-mpkg-manifest-v1\0" || SHA-256(manifest.tomlの正確なbyte列)
署名後のentry:
signatures/developer.cert
signatures/manifest.sig
ローカル検証ではMPKG header、ustar制約、MCER、Issuer署名、Certificate期限とscope、 Capability、manifest署名、payload size/digest、重複・未列挙payloadを確認します。
低レベル操作はfixtureや形式調査に限定してください。
msign package sign \
dist/Example-unsigned.mpkg \
--certificate keys/developer.cert \
--key keys/application.key \
--output dist/Example.mpkg
msign package verify \
dist/Example.mpkg \
--root-public-key keys/developer.issuer.pub