8

最新の JRE (1.7.0_25) が更新された後、以前のようにアプリケーションが webstart から起動しなくなりました。新しい jar ファイルをデプロイしていないか、Web サーバー上の JNLP ファイルを変更していませんが、webstart からアプリを起動できません。IDE からも、ローカルの jar 実行からも問題なく動作します。

コントロール パネルの詳細タブですべての証明書チェックなどを無効にしようとしましたが、エラーが残ります。これが最新の JRE の新しいセキュリティ設定に関連しているのか、それとも他の何かが変更されたのか (おそらく Web 上で) はわかりませんサーバー?) 私は Web サーバーを制御していません。アプリが公開されているページがあり、jar ファイルのドライブの場所にアクセスできます。ドライブの場所などのアクセス許可は正しいです。今、何について迷っています。問題は!jar を再署名して、署名も検証してみました

人々が与えることができる助けに感謝します!完全なエラーは以下のとおりです。

            java.lang.NoClassDefFoundError: Could not initialize class sun.security.ec.SunEC
                at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
                at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
                at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
                at java.lang.reflect.Constructor.newInstance(Unknown Source)
                at java.lang.Class.newInstance(Unknown Source)
                at sun.security.jca.ProviderConfig$2.run(Unknown Source)
                at sun.security.jca.ProviderConfig$2.run(Unknown Source)
                at java.security.AccessController.doPrivileged(Native Method)
                at sun.security.jca.ProviderConfig.doLoadProvider(Unknown Source)
                at sun.security.jca.ProviderConfig.getProvider(Unknown Source)
                at sun.security.jca.ProviderList.getProvider(Unknown Source)
                at sun.security.jca.ProviderList.getService(Unknown Source)
                at sun.security.jca.GetInstance.getInstance(Unknown Source)
                at java.security.Security.getImpl(Unknown Source)
                at java.security.AlgorithmParameters.getInstance(Unknown Source)
                at sun.security.x509.AlgorithmId.decodeParams(Unknown Source)
                at sun.security.x509.AlgorithmId.<init>(Unknown Source)
                at sun.security.x509.AlgorithmId.parse(Unknown Source)
                at sun.security.x509.X509Key.parse(Unknown Source)
                at sun.security.x509.CertificateX509Key.<init>(Unknown Source)
                at sun.security.x509.X509CertInfo.parse(Unknown Source)
                at sun.security.x509.X509CertInfo.<init>(Unknown Source)
                at sun.security.x509.X509CertImpl.parse(Unknown Source)
                at sun.security.x509.X509CertImpl.<init>(Unknown Source)
                at sun.security.provider.X509Factory.engineGenerateCertificate(Unknown Source)
                at java.security.cert.CertificateFactory.generateCertificate(Unknown Source)
                at sun.security.provider.JavaKeyStore.engineLoad(Unknown Source)
                at sun.security.provider.JavaKeyStore$JKS.engineLoad(Unknown Source)
                at java.security.KeyStore.load(Unknown Source)
                at com.sun.deploy.security.RootCertStore$1.run(Unknown Source)
                at java.security.AccessController.doPrivileged(Native Method)
                at com.sun.deploy.security.RootCertStore.loadCertStore(Unknown Source)
                at com.sun.deploy.security.RootCertStore.load(Unknown Source)
                at com.sun.deploy.security.RootCertStore.load(Unknown Source)
                at com.sun.deploy.security.ImmutableCertStore.load(Unknown Source)
                at com.sun.deploy.security.LazyRootStore.loadJREStore(Unknown Source)
                at com.sun.deploy.security.LazyRootStore.getTrustAnchors(Unknown Source)
                at com.sun.deploy.security.TrustDecider.getValidationState(Unknown Source)
                at com.sun.deploy.security.TrustDecider.validateChain(Unknown Source)
                at com.sun.deploy.security.TrustDecider.isAllPermissionGranted(Unknown Source)
                at com.sun.javaws.security.AppPolicy.grantUnrestrictedAccess(Unknown Source)
                at com.sun.javaws.security.JNLPSignedResourcesHelper.checkSignedResourcesHelper(Unknown Source)
                at com.sun.javaws.security.JNLPSignedResourcesHelper.checkSignedResources(Unknown Source)
                at com.sun.javaws.Launcher.prepareResources(Unknown Source)
                at com.sun.javaws.Launcher.prepareAllResources(Unknown Source)
                at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
                at com.sun.javaws.Launcher.prepareToLaunch(Unknown Source)
                at com.sun.javaws.Launcher.launch(Unknown Source)
                at com.sun.javaws.Main.launchApp(Unknown Source)
                at com.sun.javaws.Main.continueInSecureThread(Unknown Source)
                at com.sun.javaws.Main.access$000(Unknown Source)
                at com.sun.javaws.Main$1.run(Unknown Source)
                at java.lang.Thread.run(Unknown Source)
4

1 に答える 1

1

jar 署名に示されているように jar に署名した後でも、ブラウザでアプレットを実行することはできません。署名が完了したら、 policytool.exe を使用して、アクティブな jdk/jre の java.polcy にクラス sun.security.ec.SunEC のアクセス許可を追加する必要があります。java.policy ファイルを変更できるようにするには、必ず管理者として実行して policytool.exe を実行してください。grant codeBase "file:${{java.ext.dirs}}/*" { permission java.security.AllPermission; のエントリを追加する必要があります。}; マットCの提案による

于 2015-05-22T08:31:03.483 に答える