7

そこで、アプレットのセキュリティを強化する Java 7u21 リリースをインストールしました。残念ながら、それは私たちのアプレットがもう動かないほどそれを引き締めました. 良くない。

興味深いのは、JWS で運用している間だけ機能しなくなったことです。標準の Web ページから標準のアプレットとして起動すると、すべて正常に動作します。

JWS モードでは、少なくともリフレクションとjava.lang.Thread.setDefaultUncaughtExceptionHandler.

証明書は問題ないようです。

Oracle のリリース ノートには、JWS に関連する情報はほとんどありません。

したがって、コミュニティへの私の質問は次のとおりです。これに対するアイデアまたは(さらに良い)解決策を誰かが持っていますか?

指定された提案/コメントに関連する追加情報:

このアプレットは世界中の何百ものサードパーティ クライアントによって実行されているため、残念ながらセキュリティ ポリシーを変更することはできません。この問題はクライアントで再現可能です。ただし、ポリシー ファイルを変更すると問題が解決することを確認できます。

Eclipse から起動した Tomcat からアプレットを実行すると (もちろん、署名されたアプレットはありません)、期待どおりにブラウザーに警告通知が表示されます。私はだまされやすい人間なので、自分の開発環境からアプレットを起動したので、アプレットの実行を許可します。これにより、セキュリティ エラーが引き続き発生します。

これがJavaのバグであるかどうかを考えましたが、同じ問題を見ている人が他にいるかどうかを確認したいと思います. バグを修正するためのオラクルのターンアラウンドタイムが常に最適であるとは限らないことは、誰もが知っていると思います...

ご意見ありがとうございます。


Tony に感謝します。あなたの提案により、7u21 で適切にアプレットを作成できるようになりました。私は、7u21 以上のブラウザ上でまだ多くのアプレットに署名し、目覚めさせているという事実を前進の一歩と考えました。私は今日それを早くするのをやめました。しかし、私が持っているレガシーアプリから最初のサードパーティアプレットを起動することに到達していないという事実で、数時間から閉じ込められます(つまり、JVM 1.6以前で正常に動作します)。

関連するアプレットに署名しましたが、常にエラーが発生します: SecurityException - "アプレット クラス名が正しくありません"。私はいくつかのアプレットを持っており、それらを呼び出すhtmlコードがあります。問題は、チェーン内の最初のアプレット(呼び出しチェーン内の他のアプレットのいずれでもない)が、他の署名されたアプレットが適切に動作しているように動作しない可能性があることです(これらのアプレットはトレーニング用のJava Webサイトからのものです) )、このサードパーティのアプレットは単純に実行されず、上記の例外がスローされます。私のサードパートアプレットは、内部で何をしているのかわかりません。申し訳ありませんが、ソース コードなしでは簡単に解決できない特定のケースを求めている可能性がありますが、それが何であれ、アイデアを教えてください。

よろしくお願いします

4

4 に答える 4

1

署名されていないアプレットを使用しているすべての開発者への追加のヒント。先週の JAX2013 カンファレンスで、Oracle の Wolfgang Weigand 氏は、2013 年 10 月の Java 7 リリース以降、アプレットのセキュリティ スライダーは最高レベルのみになると述べました。つまり、信頼できる (自己署名ではない) 証明書で署名されたアプレットのみが実行可能になります。 . 現在のところ、この情報は公式の Oracle Web サイトにはまだ公開されていません。

JAVA6 セキュリティ ページから引用した上記の回答は、Java プラットフォームの最新のセキュリティ変更により、少し古くなっている可能性があります。

于 2013-04-29T21:00:50.103 に答える
1

Java SE ドキュメントのセキュリティページからの次の引用が適切です。

「標準の Java ポリシー ファイルを使用して、信頼できないアプリに付与されるアクセス許可を強化できます。(すべての Java プログラムで使用される) に加えて$JRE_HOME/lib/security/java.policy$USER_HOME/.java.policyJava Web Start および Java Plug-in によってロードされるアプリケーションとアプレットは、2 つの追加のポリシー ファイルをロードします。場所は、配置構成プロパティによって構成できます: deployment.user.security.policy および deployment.system.security.policy."

それらの場所にあるポリシー ファイルを確認します。

于 2013-04-18T13:00:39.150 に答える