install4j v8.0.8で作成された DMG の公証に苦労しています。これが私がすることです:
- install4j は Windows マシンで実行されます
- DMG にパッケージ化された「MacOS フォルダー アーカイブ」メディアを使用します。
- すべてが有効な「開発者 ID アプリケーション」証明書で必要に応じて署名されています
- DMG は MacOS マシン (Big Sur) に送られ、そこで独自のスクリプトで公証を行います
- 1 つの特定のファイルを指している「バイナリの署名が無効です」というエラーで公証が失敗する
そのバイナリの署名を Mac ツールで確認すると、まったく問題ないように見えます。DMG の署名を確認すると、問題ないように見えます。
$ codesign -vd --verbose=4 path-to-failed-binary
$ codesign -vvv --deep --display path-to.dmg
この特定のバイナリをパッケージから削除すると、アプリは正常に公証されます (パッケージ内には JRE などの他の多くのバイナリがあります)。周りを見回すと、パッケージの圧縮方法に関連する同様の問題が見られます。
install4j を使用して Windows マシンで DMG を作成し、Mac で手動で公証を行うことさえ可能であるとすれば、私は不思議に思います。または、DMG パッケージを作成する install4j に何か問題がありますか?