web-dev-qa-db-ja.com

Java OS X MountainLionの自己署名証明書付きアプレット

完全な信頼で実行する必要があるJavaアプレットがあります。

開発中およびプレリリーステスト中に、自己署名証明書を使用して署名します(製品版は実際のコード署名証明書で署名されています)。

しかし、OS X 10.8のプレリリースで自己署名アプレットを起動しようとすると、実行を許可することを選択できなくなります。 「許可」ボタンは単に無効になっています:

Disabled "Allow" button

「詳細を表示...」を押すと、証明書を「常に信頼する」ことを選択できますが、これは違いはありません。

enter image description here

同じバージョンのJava JRE on OS X Lion 10.7で動作するため、JREではなくOSの問題であると思われます。

回避策はありますか?

テストに実際のコード署名証明書を使用したくない:実際のコード署名証明書を使用して署名するということは、アプレットが安全であり、信頼されるべきであると会社が主張することを意味します。それをテストする前に、それを主張することはほとんどできません。

15
Rasmus Faber

これはMacOS Xの新しいセキュリティ機能であり、デフォルトではMacストアと信頼できる開発者のアプリのみがそこで実行できます。幸いなことに、変更は簡単です。MacOSXの設定でこれを許可する必要があります。

[設定]-> [セキュリティとプライバシー]に移動し、南京錠をクリックして変更を許可します。

次に、[アプリケーションのダウンロードを許可する]で[どこでも]を選択します。

その後、Javaダイアログのボタンが有効になります。

Mac OS X Security & Privacy Preferences

14
sarsonj

Application Blocked by Security Settings」メッセージが表示された場合は、System Preferences: Java: Securityに移動して、サイトを例外リストに追加するか、security levelMediumに減らす必要があります。

5
user3220190

OS X Lionでは、組み込みのキーチェーンアクセスツールを使用して、証明書を信頼されたルート証明書として手動で追加できます。私はまだOSX Mountain Lionにアクセスできないので、Mountain Lionで動作するかどうかはわかりませんが、試してみる価値があるようです。 Lionの手順は次のとおりです。

  • キーチェーンアクセスを開く(/アプリケーション/ユーティリティにあります)
  • クリックファイル| アイテムをインポート...
  • 宛先キーチェーンをシステムに変更します
  • 証明書ファイルを見つけて、[開く]をクリックします
  • 「これから、[...]によって署名された証明書をコンピュータに信頼させますか?」と表示されます。 Always Trustをクリックします。

証明書をJavaキーストアで直接生成した場合、スタンドアロンの証明書ファイルがない可能性があります。簡単に このガイドを使用してOracleからエクスポートする

あなたのスクリーンショットには「この証明書はこのアカウントに対して信頼できるものとしてマークされています」と書かれていることに注意してください。これは受け入れられると期待しているので不思議です。たぶん、OS X Mountain Lionのユーザーが追加したルート証明書は、Appleが配布する公式の証明書よりもステータスが低いのでしょうか。上記の手順が機能しない場合は、証明書を公式のルートキーチェーンに追加してみてください。 Keychain Accessではそれができませんが、組み込みのcerttoolを使用して、/System/Library/Keychains/SystemRootCertificates.keychainにあるキーチェーンを手動で編集できると思います。それを達成するために。

0
gutch