そこで、アプレットのセキュリティを強化する Java 7u21 リリースをインストールしました。残念ながら、それは私たちのアプレットがもう動かないほどそれを引き締めました. 良くない。
興味深いのは、JWS で運用している間だけ機能しなくなったことです。標準の Web ページから標準のアプレットとして起動すると、すべて正常に動作します。
JWS モードでは、少なくともリフレクションとjava.lang.Thread.setDefaultUncaughtExceptionHandler
.
証明書は問題ないようです。
Oracle のリリース ノートには、JWS に関連する情報はほとんどありません。
したがって、コミュニティへの私の質問は次のとおりです。これに対するアイデアまたは(さらに良い)解決策を誰かが持っていますか?
指定された提案/コメントに関連する追加情報:
このアプレットは世界中の何百ものサードパーティ クライアントによって実行されているため、残念ながらセキュリティ ポリシーを変更することはできません。この問題はクライアントで再現可能です。ただし、ポリシー ファイルを変更すると問題が解決することを確認できます。
Eclipse から起動した Tomcat からアプレットを実行すると (もちろん、署名されたアプレットはありません)、期待どおりにブラウザーに警告通知が表示されます。私はだまされやすい人間なので、自分の開発環境からアプレットを起動したので、アプレットの実行を許可します。これにより、セキュリティ エラーが引き続き発生します。
これがJavaのバグであるかどうかを考えましたが、同じ問題を見ている人が他にいるかどうかを確認したいと思います. バグを修正するためのオラクルのターンアラウンドタイムが常に最適であるとは限らないことは、誰もが知っていると思います...
ご意見ありがとうございます。
Tony に感謝します。あなたの提案により、7u21 で適切にアプレットを作成できるようになりました。私は、7u21 以上のブラウザ上でまだ多くのアプレットに署名し、目覚めさせているという事実を前進の一歩と考えました。私は今日それを早くするのをやめました。しかし、私が持っているレガシーアプリから最初のサードパーティアプレットを起動することに到達していないという事実で、数時間から閉じ込められます(つまり、JVM 1.6以前で正常に動作します)。
関連するアプレットに署名しましたが、常にエラーが発生します: SecurityException - "アプレット クラス名が正しくありません"。私はいくつかのアプレットを持っており、それらを呼び出すhtmlコードがあります。問題は、チェーン内の最初のアプレット(呼び出しチェーン内の他のアプレットのいずれでもない)が、他の署名されたアプレットが適切に動作しているように動作しない可能性があることです(これらのアプレットはトレーニング用のJava Webサイトからのものです) )、このサードパーティのアプレットは単純に実行されず、上記の例外がスローされます。私のサードパートアプレットは、内部で何をしているのかわかりません。申し訳ありませんが、ソース コードなしでは簡単に解決できない特定のケースを求めている可能性がありますが、それが何であれ、アイデアを教えてください。
よろしくお願いします