30

OS X 10.8 の新しいリリースでは、署名付き Java アプレットを起動しようとすると、ゲートキーパーは次の警告を表示します。

ここに画像の説明を入力

アプレットは有効なコード署名証明書で署名されており、OS X の以前のバージョンだけでなく、他のプラットフォームでも正しく動作します。「ダウンロードしたアプリケーションを許可する:」を「どこでも」に変更すると、正しく動作します。

私が理解できる限り、「デジタル署名を検証できませんでした」とは、実際には「Mac 開発者 ID で署名が作成されていない」のような意味です。

では、Mac 開発者 ID で Java アプレットに署名できますか? Mac 開発者 ID と標準のコード署名証明書の両方で署名できますか? より良いアプローチはありますか?

4

2 に答える 2

10

Apple Developer Technical Support から得た回答は次のとおりです。

調査が完了するまで、しばらくお待ちいただきますようお願いいたします。

アラートは、Gatekeeper ではなく Java によって提示されます。ただし、OS X Mountain Lion で検証ロジックが変更されたことは間違いありません。

署名されたアプレットは Java サンドボックスをエスケープし、ユーザーのシステムに予期しない変更を加える可能性があるため、署名されたアプレットを実行すると、しばらくの間、ユーザーにこの警告が表示されていました。ユーザーが開発者を信頼している場合は、[次のすべてのアプレットを許可する] ボックスをオンにするオプションがあり、Java セキュリティの設定から項目を削除しない限り、アラートは再度表示されません。

Mountain Lion で変更されたのは、検証アラートが基本的にアプレットの署名が有効であることを意味するようになったことですが、アプレットは身元不明の開発者からのものであり、ゲートキーパーが有効になっているときに権限をエスカレートしようとしており、ユーザーはそれを許可するかどうかを決定する必要があります。

「不明な開発者」とは、Mac App Store または開発者 ID で識別された開発者以外のソースを意味します。Java アプレットは Developer ID プログラムに参加できないことに注意してください。

Gatekeeper が Mac App Store アプリのみを信頼するように設定されている場合、[詳細の表示] をクリックした後に表示されるシートを使用してアプレットの証明書をキーチェーンに追加しない限り、アプレットを信頼できるリストに追加することはできません。

署名されていないアプレットは、Java サンドボックスをエスケープすることはまったく許可されていません。

これは、ネイティブの Mac アプリに対する Gatekeeper の扱いと一致しています。身元不明の開発者によるアプリは、デフォルトでは実行できません。

アラートの文言を変更したい場合は、https://developer.apple.com/bugreporterでバグ レポートを提出してください。

これは基本的に、このメッセージが表示されないようにアプレットに署名する方法がないことを意味します。メッセージの文言を変更して、UNIDENTIFIED、UNVERIFIED、INSECURE などの単語を含めないようにバグ レポートを Apple に提出しました。また、アプレットの実行を許可する必要がある場合は、内部を居心地よくして、許可しようとしているものが問題なく検証され、コンピューターに害を及ぼさないことを保証します。目に見えるようになり、目を突くことができます。

于 2012-08-31T07:13:03.823 に答える
3

あなたはあなた自身の質問に答えました。Gatekeeper は、Apple によって発行されていない証明書/署名は信頼できないと見なします。

証明書をエクスポートする方法については、Apple のドキュメントを参照してください。その後、通常どおり使用できます。codesignコマンドでもうまくいくかもしれません

于 2012-07-30T18:24:47.007 に答える