Java.lang.NoClassDefFoundError: Failed to initialize sun.security.ec.SunEC class (occurred after a recent JRE update)

After updating the latest version of JRE (1.7.0_25), my application will not start from webstart, as it was before. I did not deploy the new jar files or change the JNLP file on the web server, but I cannot start the application from webstart. It works great with the IDE, as well as from performing a local banquet

I tried disabling certificate verification, etc. on the Advanced tab of the control panel, but the error remains, I'm not sure if this is due to a new security setting in the last JRE or if something has changed (maybe on a web server?) I do not control the web server. I have a page on which the application is published, and you have access to the disk location for jar files, permissions are correct for disk locations, etc. Now I am lost regarding the problem! I tried to put up with the banks and verify the signature.

I appreciate any help that people can give! full error below:

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) 
+6
source share
1 answer

Even after you sign your jar as the jar signature is shown, you will not be able to launch the applet in the browser. once you are done with the signature, you must add the access permission for the sun.security.ec.SunEC class to java.polcy of your active jdk / jre using policytool.exe. make sure that you run the policytool.exe file and run as administrator so that you are allowed to modify the java.policy file. you must add an entry for grant codeBase "file: $ {{java.ext.dirs}} / *" {permission java.security.AllPermission; }; as suggested by Matt S.

+1
source

Source: https://habr.com/ru/post/948753/


All Articles