web-dev-qa-db-ja.com

セキュリティ設定により、有効期限が切れた証明書またはまだ有効でない証明書で署名されたアプリケーションの実行がブロックされています

クライアントのWindows8 OSのセキュリティ設定エラーによりアプリケーションがブロックされました

上記の質問を確認しましたが、他の解決策を探すのに役立ちませんでした。

アプレットのコード署名証明書が失効する数日前。更新して、新しいjarを作成して、更新された証明書でこのアプレットに署名したところ、例外が発生します。

com.Sun.deploy.security.BlockedException: Your security settings have blocked an application signed with an expired or not-yet-valid certificate from running
    at com.Sun.deploy.security.SandboxSecurity.showBlockedDialog(Unknown Source)
    at com.Sun.deploy.security.TrustDecider.askUser(Unknown Source)
    at com.Sun.deploy.security.TrustDecider.validateChain(Unknown Source)
    at com.Sun.deploy.security.TrustDecider.isAllPermissionGranted(Unknown Source)
    at Sun.plugin2.applet.Plugin2ClassLoader.isTrustedByTrustDecider(Unknown Source)
    at Sun.plugin2.applet.Plugin2ClassLoader.getTrustedCodeSources(Unknown Source)
    at com.Sun.deploy.security.CPCallbackHandler$ParentCallback.strategy(Unknown Source)
    at com.Sun.deploy.security.CPCallbackHandler$ParentCallback.openClassPathElement(Unknown Source)
    at com.Sun.deploy.security.DeployURLClassPath$JarLoader.getJarFile(Unknown Source)
    at com.Sun.deploy.security.DeployURLClassPath$JarLoader.access$1000(Unknown Source)
    at com.Sun.deploy.security.DeployURLClassPath$JarLoader$1.run(Unknown Source)
    at Java.security.AccessController.doPrivileged(Native Method)
    at com.Sun.deploy.security.DeployURLClassPath$JarLoader.ensureOpen(Unknown Source)
    at com.Sun.deploy.security.DeployURLClassPath$JarLoader.<init>(Unknown Source)
    at com.Sun.deploy.security.DeployURLClassPath$3.run(Unknown Source)
    at Java.security.AccessController.doPrivileged(Native Method)
    at com.Sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
    at com.Sun.deploy.security.DeployURLClassPath.getLoader(Unknown Source)
    at com.Sun.deploy.security.DeployURLClassPath.getResource(Unknown Source)
    at Sun.plugin2.applet.Plugin2ClassLoader$2.run(Unknown Source)
    at Java.security.AccessController.doPrivileged(Native Method)
    at Sun.plugin2.applet.Plugin2ClassLoader.findClassHelper(Unknown Source)
    at Sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
    at Sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
    at Sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
    at Sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
    at Sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
    at Sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
    at Java.lang.ClassLoader.loadClass(Unknown Source)
    at Sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
    at Sun.plugin2.applet.Plugin2Manager.initAppletAdapter(Unknown Source)
    at Sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
    at Java.lang.Thread.run(Unknown Source)

Javaコントロールパネルから既存の証明書をすべて削除し、アプレットで新しい証明書の詳細を取得するWebサイトを開きます。有効期限は最新ですが、Runをクリックするとスローされます例外。

enter image description here

私はJavaコントロールパネルをもう一度チェックしてから、古い証明書を表示していますが、Javaで新しい証明書が使用されないのはなぜですか?

enter image description here

4
Vicky Thakor

基本的に、デプロイされたear/war内のJARに、新しい信頼できる証明書で再署名する必要があります。それまでは回避策があります。ここでできることは2つあります。

  1. コントロールパネルに移動-> Java->セキュリティ->サイトリストの編集

アプリケーションのURLを追加すると、ワイルドカードを使用できます。新しい構成を読み取れるようにするには、ブラウザを閉じてから再起動する必要がある場合があります。

  1. Javaコントロールパネルの[セキュリティ]タブで、セキュリティレベルを[中]に下げ、ブラウザに適用して[OK]をクリックします。ブラウザは正常に機能するはずです。

enter image description here

5
vmishra

ユーザーのホームディレクトリにファイルを作成します。

/usr/home/username/.Java/deployment/security/security/exception.sites

例外を与える必要のあるサイトを追加します。

https://192.168.70.10

ただし、GUIアプリケーションを使用する場合は、JControlを実行して、例外サイトリストを作成します。

1
John.J