4

開発者 ID 証明書によって署名された AppStore の外部で配布される Mono Mac アプリがあります。Gatekeeper は OS X 10.9 (10.9.4 でテスト済み) でアプリを受け入れますが、10.10 DP 7 では受け入れられません。

10.10 DP 7 でのいくつかのトラブルシューティング コマンドの出力:

mactesters-Mac-mini:myapp 1 mactester$ spctl --assess -v ./myapp.app
./myapp.app: rejected
source=obsolete resource envelope

mactesters-Mac-mini:myapp 1 mactester$ codesign -v myapp.app
myapp.app: resource envelope is obsolete (custom omit rules)

mactesters-Mac-mini:myapp 1 mactester$ codesign -dv myapp.app/
Executable=/Volumes/myapp 1/myapp.app/Contents/MacOS/myapp.sh
Identifier=com.Company.myapp
Format=bundle with generic
CodeDirectory v=20100 size=145 flags=0x0(none) hashes=1+3 location=embedded
Signature size=8531
Timestamp=03 Sep 2014 16:55:21
Info.plist entries=32
TeamIdentifier=not set
Sealed Resources version=2 rules=5 files=813
Internal requirements count=2 size=224
mactesters-Mac-mini:myapp 1 mactester$ 

10.9 での同じアプリケーションの出力:

macadmins-iMac:myapp mactester$ spctl --assess -v ./myapp.app
./myapp.app: accepted
source=Developer ID

macadmins-iMac:myapp mactester$ codesign --verify --deep --verbose=4 ./myapp.app
./myapp.app: valid on disk
./myapp.app: satisfies its Designated Requirement

macadmins-iMac:myapp mactester$ codesign -dv myapp.app
Executable=/Volumes/myapp/myapp.app/Contents/MacOS/myapp.sh
Identifier=com.Company.myapp
Format=bundle with generic
CodeDirectory v=20100 size=145 flags=0x0(none) hashes=1+3 location=embedded
Signature size=8531
Timestamp=03 Sep 2014 16:54:50
Info.plist entries=32
TeamIdentifier=not set
Sealed Resources version=2 rules=5 files=813
Internal requirements count=2 size=224

使用されるコード署名コマンドには --resource-rules フラグが含まれていません。

codesign -v --force --sign 'dev id...' /Volumes/myapp/myapp.app/Contents/MonoBundle/libMonoPosixHelper.dylib
codesign -v --force --sign 'dev id...' /Volumes/myapp/myapp.app

カスタム省略ルールとは何を意味しますか? この問題はどのように解決できますか?

4

1 に答える 1

1

「カスタム省略ルール」エラーは、署名中に --resource-rules フラグを使用したことが原因です。このフラグはしばらくの間廃止されており、OSX 10.9.5 の時点で Gatekeeper によって受け入れられなくなりました。安全に削除できますが、バージョン 2 の署名は下位互換性があり、OSX 10.6 でも動作します (私はそれをテストしました)。

于 2014-09-11T15:13:46.493 に答える