完全な信頼で実行する必要があるJavaアプレットがあります。
開発中およびプレリリーステスト中に、自己署名証明書を使用して署名します(製品版は実際のコード署名証明書で署名されています)。
しかし、OS X 10.8のプレリリースで自己署名アプレットを起動しようとすると、実行を許可することを選択できなくなります。 「許可」ボタンは単に無効になっています:
「詳細を表示...」を押すと、証明書を「常に信頼する」ことを選択できますが、これは違いはありません。
同じバージョンのJava JRE on OS X Lion 10.7で動作するため、JREではなくOSの問題であると思われます。
回避策はありますか?
テストに実際のコード署名証明書を使用したくない:実際のコード署名証明書を使用して署名するということは、アプレットが安全であり、信頼されるべきであると会社が主張することを意味します。それをテストする前に、それを主張することはほとんどできません。
これはMacOS Xの新しいセキュリティ機能であり、デフォルトではMacストアと信頼できる開発者のアプリのみがそこで実行できます。幸いなことに、変更は簡単です。MacOSXの設定でこれを許可する必要があります。
[設定]-> [セキュリティとプライバシー]に移動し、南京錠をクリックして変更を許可します。
次に、[アプリケーションのダウンロードを許可する]で[どこでも]を選択します。
その後、Javaダイアログのボタンが有効になります。
「Application Blocked by Security Settings
」メッセージが表示された場合は、System Preferences: Java: Security
に移動して、サイトを例外リストに追加するか、security level
をMedium
に減らす必要があります。
OS X Lionでは、組み込みのキーチェーンアクセスツールを使用して、証明書を信頼されたルート証明書として手動で追加できます。私はまだOSX Mountain Lionにアクセスできないので、Mountain Lionで動作するかどうかはわかりませんが、試してみる価値があるようです。 Lionの手順は次のとおりです。
証明書をJavaキーストアで直接生成した場合、スタンドアロンの証明書ファイルがない可能性があります。簡単に このガイドを使用してOracleからエクスポートする 。
あなたのスクリーンショットには「この証明書はこのアカウントに対して信頼できるものとしてマークされています」と書かれていることに注意してください。これは受け入れられると期待しているので不思議です。たぶん、OS X Mountain Lionのユーザーが追加したルート証明書は、Appleが配布する公式の証明書よりもステータスが低いのでしょうか。上記の手順が機能しない場合は、証明書を公式のルートキーチェーンに追加してみてください。 Keychain Accessではそれができませんが、組み込みのcerttool
を使用して、/System/Library/Keychains/SystemRootCertificates.keychain
にあるキーチェーンを手動で編集できると思います。それを達成するために。