アプレットのセキュリティが最近変更され、その結果問題が発生したため(主にLiveConnectで)、アプレットコード内から現在のセキュリティベースラインを確認し、現在のJREバージョンと比較する方法があるかどうか疑問に思いました。このようにして、単に黙って失敗するのではなく、ユーザーに警告するなどのアクションを実行できます。
編集:明確にするために、Java 7の時点で、Oracleは「セキュリティベースライン」を導入しました。これは、「安全」と見なされる最も低いJREバージョンです。例えば。現在は(私が思うに)1.7.0_45です。したがって、ユーザーがより低いJREをインストールしている場合、アプレットは起動しますが、一部の機能は機能しません。私の場合、JavaScriptからアプレットへの呼び出しはブロックされています。アプレットプラグインは現在のベースラインを動的にチェックするので、アプレットがこのベースラインを決定する方法があるかどうかを知りたいと思いました。
あなたはおそらく次の記事を参照しています:セキュリティベースラインの影響。私の知る限り、現在のベースラインを検出するメカニズムは現在ありませんが、解決策がある可能性があります。
少し前に、インストーラーの自動Javaバージョンチェックメカニズムを作成しました。それ(a)とJavaベースラインのバージョン管理メカニズムの理解(b)が必要になります。アプレットを起動し、liveconnectを実行する前に、Javaバージョンと現在のベースラインを確認して、ユーザーにエラーを表示します。
(b)について:私が正しく理解していれば、ベースラインは次のように決定されます。
7u25 was the previous secure baseline. 7u40 "only" contained bug fixes and did not contain security patches -> no update necessary. When 7u45 was released, this critical patch update contained security patches and raised the secure baseline -> Users had to update
更新:新しいバージョン番号スキームについて読みました。そして基本的に、それが限定的な更新のみ(新しい機能とセキュリティ以外の修正の追加)である場合、ベースラインは引き上げられません。CPU(重要なパッチ更新)の場合、ベースラインが引き上げられ、バージョン番号に奇数が含まれます。->パッチのバージョンがおかしいかどうかを確認できます... UPDATE END
(a)に関して現在のJavaバージョンを取得するには、次の3つの手順が必要です。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加