Сообщение
  • Пожалуйста, прежде пройдите авторизацию
  • Пожалуйста, прежде пройдите авторизацию

Ошибка при повторной загрузке апплета.
(1 чел.) (1) гость
  • Страница:
  • 1

ТЕМА: Ошибка при повторной загрузке апплета.

Ошибка при повторной загрузке апплета. 4 года, 2 мес. назад #1651

  • ratabayev
  • Новый участник
  • Постов: 2
  • Репутация: 0
Добрый день.

Ранее мы получили апплет с добавленной функцией подписи файлов и исправлением выбора файлов в Mac OS.
При использовании данной версии апплета возникла странная ситуация.

При первой загрузке апплет загружается и нормально отрабатывает.
При втором обращении что-то ломается и апплет не загружается.
Если переименовать файл, то один раз он опять нормально отрабатывает.
В настройках Java включил дополнительное логирование и в результате получил следующую ошибку.

java.lang.ExceptionInInitializerError
	at javax.crypto.JceSecurity.loadPolicies(JceSecurity.java:318)
	at javax.crypto.JceSecurity.setupJurisdictionPolicies(JceSecurity.java:263)
	at javax.crypto.JceSecurity.access$000(JceSecurity.java:48)
	at javax.crypto.JceSecurity$1.run(JceSecurity.java:81)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.crypto.JceSecurity.<clinit>(JceSecurity.java:78)
	at javax.crypto.JceSecurityManager.<clinit>(JceSecurityManager.java:65)
	at javax.crypto.Cipher.getConfiguredPermission(Cipher.java:2587)
	at javax.crypto.Cipher.getMaxAllowedKeyLength(Cipher.java:2611)
	at sun.security.ssl.CipherSuite$BulkCipher.isAvailable(CipherSuite.java:548)
	at sun.security.ssl.CipherSuite$BulkCipher.isAvailable(CipherSuite.java:527)
	at sun.security.ssl.CipherSuite.isAvailable(CipherSuite.java:194)
	at sun.security.ssl.SSLContextImpl.getApplicableCipherSuiteList(SSLContextImpl.java:346)
	at sun.security.ssl.SSLContextImpl.getDefaultCipherSuiteList(SSLContextImpl.java:304)
	at sun.security.ssl.SSLSocketImpl.init(SSLSocketImpl.java:614)
	at sun.security.ssl.SSLSocketImpl.<init>(SSLSocketImpl.java:525)
	at sun.security.ssl.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImpl.java:72)
	at sun.net.www.protocol.https.HttpsClient.createSocket(HttpsClient.java:409)
	at sun.net.NetworkClient.doConnect(NetworkClient.java:162)
	at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
	at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
	at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:275)
	at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:371)
	at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191)
	at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1104)
	at sun.net.www.protocol.http.HttpURLConnection$6.run(HttpURLConnection.java:988)
	at sun.net.www.protocol.http.HttpURLConnection$6.run(HttpURLConnection.java:986)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessController.doPrivileged(AccessController.java:713)
	at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:985)
	at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1512)
	at sun.net.www.protocol.http.HttpURLConnection.access$200(HttpURLConnection.java:90)
	at sun.net.www.protocol.http.HttpURLConnection$9.run(HttpURLConnection.java:1432)
	at sun.net.www.protocol.http.HttpURLConnection$9.run(HttpURLConnection.java:1430)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.AccessController.doPrivileged(AccessController.java:713)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1429)
	at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480)
	at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:338)
	at sun.plugin2.applet.Applet2ClassLoader.resourceExists(Unknown Source)
	at sun.plugin2.applet.Applet2ClassLoader.findResources(Unknown Source)
	at java.lang.ClassLoader.getResources(ClassLoader.java:1139)
	at org.apache.commons.logging.d.run(SourceFile)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.apache.commons.logging.LogFactory.a(SourceFile)
	at org.apache.commons.logging.LogFactory.getFactory(SourceFile)
	at org.apache.commons.logging.LogFactory.getLog(SourceFile)
	at org.apache.xml.security.Init.<clinit>(SourceFile)
	at kz.gov.pki.knca.applet.utils.XmlUtil.loadXMLSecurity(XmlUtil.java:33)
	at kz.gov.pki.knca.applet.MainApplet.init(MainApplet.java:90)
	at com.sun.deploy.uitoolkit.impl.awt.AWTAppletAdapter.init(Unknown Source)
	at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.SecurityException: Framework jar verification can not be initialized
	at javax.crypto.JarVerifier.<clinit>(JarVerifier.java:189)
	... 54 more
Caused by: java.lang.RuntimeException: algorithm identifier 1.2.840.10040.4.1 in key not recognised
	at kz.gov.pki.kalkan.jce.provider.JDKKeyFactory.createPublicKeyFromPublicKeyInfo(JDKKeyFactory.java:221)
	at kz.gov.pki.kalkan.jce.provider.X509CertificateObject.getPublicKey(X509CertificateObject.java:524)
	at javax.crypto.JarVerifier.testSignatures(JarVerifier.java:720)
	at javax.crypto.JarVerifier.access$400(JarVerifier.java:34)
	at javax.crypto.JarVerifier$1.run(JarVerifier.java:183)
	at javax.crypto.JarVerifier$1.run(JarVerifier.java:149)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.crypto.JarVerifier.<clinit>(JarVerifier.java:148)
	... 54 more


Логи java консоли при успешной и неуспешной загрузки апплета приложил.
Со старым апплетом данная проблема не воспроизводиться.
Вложения:

Re: Ошибка при повторной загрузке апплета. 4 года, 2 мес. назад #1658

  • Magzhan.Artykov
  • Новый участник
  • Постов: 2
  • Репутация: 0
Это ошибка скорее всего возникает когда несколько экземпляров java апплета запускается на одном JVM. Попробуйте сделать так чтобы каждый экземпляр запускался на разных JVM. Для этого внутри javascript функций, где указываются параметры вызова апплета добавьте строку:

function insertApplet() {
.................................

document.writeln('<param name="separate_jvm" value="true">');

}
С уважением,
Артыков Магжан.
Ведущий разработчик НУЦ.

Re: Ошибка при повторной загрузке апплета. 4 года, 1 мес. назад #1702

  • vprokof
  • Осваиваюсь на форуме
  • Постов: 28
  • Репутация: 0
Вы смогли решить проблему ?
  • Страница:
  • 1
FaLang translation system by Faboba