Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

3 Страницы123>
Опции
К последнему сообщению К первому непрочитанному
Offline sergey_it  
#1 Оставлено : 3 июля 2012 г. 14:53:50(UTC)
sergey_it

Статус: Участник

Группы: Участники
Зарегистрирован: 03.07.2012(UTC)
Сообщений: 19

Добрый день!
Настраиваю загрузку апплета в IE 9.
При подгрузке апплета IE java plugin используется для доступа к https инфраструктуру java.

Установлены и настроены Java 1.0.6_33, jcp 1.0.53, jtls 1.0.53
ssl на сервере StoneGate SSL с поддержкой ГОСТ алгоритмов.


в JVM прописаны свойства:

-Djavax.net.debug=all -Djavax.net.ssl.trustStoreType=jks -Djavax.net.ssl.trustStorePassword=password -Djavax.net.ssl.trustStore=C:\tmp\openstore\openStore.jks -Djavax.net.ssl.supportGVO=true

Тестовое приложение с указанными настройками java application устанавливает соединение с нужным адресом https://ssl.test.ru.


При открытии странички с апплетом в браузере в консоли видно следующее:

.....
trustStore is: C:\tmp\openstore\openStore.jks
trustStore type is : jks
trustStore provider is :
init truststore
setting up default SSLSocketFactory
class ru.CryptoPro.ssl.SSLSocketFactoryImpl is loaded
03.07.2012 13:23:15 ru.CryptoPro.ssl.SSLContextImpl d
FINE: keyStore is :
03.07.2012 13:23:15 ru.CryptoPro.ssl.SSLContextImpl d
FINE: keyStore type is :
03.07.2012 13:23:15 ru.CryptoPro.ssl.SSLContextImpl d
FINE: keyStore provider is :
03.07.2012 13:23:15 ru.CryptoPro.ssl.SSLContextImpl d
FINE: init keystore
03.07.2012 13:23:15 ru.CryptoPro.ssl.SSLContextImpl d
INFO: defaultStoreProvider =
03.07.2012 13:23:15 ru.CryptoPro.ssl.SSLContextImpl d
INFO:
03.07.2012 13:23:15 ru.CryptoPro.ssl.SSLContextImpl d
FINE: default context init failed: java.lang.NullPointerException
SSLSocketFactory instantiation failed: java.lang.RuntimeException: Default SSL context init failed:

Т.е. происходит какая то ошибка при инициализации trustStore, однако узнать подробнее что происходит и почему не проходит инициализация настройками logging не удалось.

далее происходит ожидаемая ошибка:

X509KeyManager passed to SSLContext.init(): need an X509ExtendedKeyManager for SSLEngine use
trigger seeding of SecureRandom
done seeding SecureRandom

Отсутствие ГОСТОВСКИХ алгоритмов:

Allow unsafe renegotiation: false
Allow legacy hello messages: true
Is initial handshake: true
Is secure renegotiation: false
%% No cached client session
*** ClientHello, TLSv1
RandomCookie: GMT: 1324457191 bytes = { 255, 120, 238, 175, 86, 113, 90, 179, 205, 137, 94, 233, 136, 220, 37, 134, 254, 158, 2, 48, 158, 226, 178, 97, 141, 55, 253, 98 }
Session ID: {}
Cipher Suites: [SSL_RSA_WITH_RC4_128_MD5, SSL_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_256_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA, SSL_RSA_WITH_DES_CBC_SHA, SSL_DHE_RSA_WITH_DES_CBC_SHA, SSL_DHE_DSS_WITH_DES_CBC_SHA, SSL_RSA_EXPORT_WITH_RC4_40_MD5, SSL_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA, SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA, TLS_EMPTY_RENEGOTIATION_INFO_SCSV]
Compression Methods: { 0 }
***

и alert от сервера.

thread applet-ru.it.poltava.eds.applet.JCPApplet.class-1, READ: TLSv1 Alert, length = 2
thread applet-ru.it.poltava.eds.applet.JCPApplet.class-1, RECV TLSv1 ALERT: fatal, handshake_failure
thread applet-ru.it.poltava.eds.applet.JCPApplet.class-1, called closeSocket()


Предполагаю что проблема в этих строках

FINE: default context init failed: java.lang.NullPointerException
SSLSocketFactory instantiation failed: java.lang.RuntimeException: Default SSL context init failed:

На jcp/jtls 1.0.52 проблема та же самая только без строки

FINE: default context init failed: java.lang.NullPointerException

выдается только: SSLSocketFactory instantiation failed: java.lang.RuntimeException: Default SSL context init failed:

Отредактировано пользователем 3 июля 2012 г. 14:56:05(UTC)  | Причина: Не указана

Offline Евгений Афанасьев  
#2 Оставлено : 3 июля 2012 г. 15:16:11(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 4,031
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 729 раз в 687 постах
Здравствуйте. JCP/JTLS не поддерживают формат JKS. В панели нужно создать хранилище сертификата формата HDImageStore.
Offline Евгений Афанасьев  
#3 Оставлено : 3 июля 2012 г. 15:16:53(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 4,031
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 729 раз в 687 постах
.

Отредактировано пользователем 3 июля 2012 г. 15:21:43(UTC)  | Причина: Не указана

Offline sergey_it  
#4 Оставлено : 3 июля 2012 г. 15:30:54(UTC)
sergey_it

Статус: Участник

Группы: Участники
Зарегистрирован: 03.07.2012(UTC)
Сообщений: 19

сейчас попробую. только интересно почему java application с этим jks работает без проблем:

etting up default SSLSocketFactory
class ru.CryptoPro.ssl.SSLSocketFactoryImpl is loaded
03.07.2012 14:27:31 ru.CryptoPro.ssl.SSLContextImpl d
FINE: keyStore is :
03.07.2012 14:27:32 ru.CryptoPro.ssl.SSLContextImpl d
FINE: keyStore type is :
03.07.2012 14:27:32 ru.CryptoPro.ssl.SSLContextImpl d
FINE: keyStore provider is :
03.07.2012 14:27:32 ru.CryptoPro.ssl.SSLContextImpl d
FINE: init keystore
03.07.2012 14:27:32 ru.CryptoPro.ssl.SSLContextImpl d
INFO: defaultStoreProvider =
03.07.2012 14:27:32 ru.CryptoPro.ssl.SSLContextImpl d
INFO:
03.07.2012 14:27:32 ru.CryptoPro.JCP.tools.SelfTester <init>
FINE: SelfTester ctor.
03.07.2012 14:27:32 ru.CryptoPro.JCP.pref.JCPPref get
CONFIG: System Preference Node: /ru/CryptoPro/JCP/tools.SelfTester_external_clas
sNames=null
03.07.2012 14:27:32 ru.CryptoPro.JCP.tools.SelfTester <init>
FINE: SelfTester ctor OK.
03.07.2012 14:27:32 ru.CryptoPro.JCP.tools.Starter check
INFO: Loading JCP 1.0.53
03.07.2012 14:27:32 ru.CryptoPro.JCP.tools.SelfTester run
FINE: SelfTester run.

Ошибок нет.

...

03.07.2012 14:27:33 ru.CryptoPro.ssl.SSLContextImpl d
FINE: init trustmanager of type GostX509
03.07.2012 14:27:33 ru.CryptoPro.ssl.k a
FINE:
%% adding as trusted certificates %%

...

FINE: --handshake finished--
03.07.2012 14:27:33 sun.net.www.protocol.http.HttpURLConnection writeRequests
FINE: sun.net.www.MessageHeader@207f55805 pairs: {GET / HTTP/1.1: null}{User-Age
nt: Java/1.6.0_33}{Host: ssl.test.ru}{Accept: text/html, image/gif, image/jpeg,
*; q=.2, */*; q=.2}{Connection: keep-alive}
03.07.2012 14:27:33 ru.CryptoPro.ssl.Z a
FINE: MAC: D3 DA 83 C7
03.07.2012 14:27:33 ru.CryptoPro.ssl.a.b a
FINE: Begin encrypt...
03.07.2012 14:27:33 ru.CryptoPro.ssl.a.b a
FINE: Encrypted...
03.07.2012 14:27:34 ru.CryptoPro.ssl.M a
FINE: --WRITE--
03.07.2012 14:27:34 ru.CryptoPro.ssl.s read
FINE: begin reading data: r.available() = 0
03.07.2012 14:27:34 ru.CryptoPro.ssl.M a
FINE: Reading and processing packages...
03.07.2012 14:27:34 ru.CryptoPro.ssl.M a
FINE: --READ--
03.07.2012 14:27:34 ru.CryptoPro.ssl.a.b b
FINE: Begin decrypt...
03.07.2012 14:27:34 ru.CryptoPro.ssl.a.b b
FINE: Decrypted...
03.07.2012 14:27:34 ru.CryptoPro.ssl.M a
FINE: data size: r.available() = 932
03.07.2012 14:27:34 ru.CryptoPro.ssl.s read
FINE: reading data was done: r.available() = 932
03.07.2012 14:27:34 sun.net.www.protocol.http.HttpURLConnection getInputStream
FINE: sun.net.www.MessageHeader@4f4db0e36 pairs: {null: HTTP/1.1 200 Ok}{Date: T
ue, 03 Jul 2012 08:27:34 GMT}{Content-Type: text/html; charset=UTF-8}{Set-Cookie
: WASID=a9ec0dcfabd2d570; path=/}{Set-Cookie: WAAK=828abfa235b80b780da49d4dca481
a74; path=/; secure}{Transfer-Encoding: chunked}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR
/xhtml1/DTD/xhtml1-frameset.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>StoneGate SSL VPN
</title>
</head>
<frameset rows="0,0,*" border="0">
<frame src="/wa/blank.html" id="EPAssess" name="EPAssess" marginheig
ht="0" marginwidth="0" scrolling="no" frameborder="0" />
<frame src="/wa/blank.html" id="EPAbolish" name="EPAbolish" marginhe
ight="0" marginwidth="0" scrolling="no" frameborder="0" />
<frame src="/wa/_welcome.html" id="LoginArea" name="LoginArea" margi
nheight="0" marginwidth="0" frameborder="0" />
</frameset>
</html>

Документ получен.

Отредактировано пользователем 3 июля 2012 г. 18:27:02(UTC)  | Причина: Не указана

Offline sergey_it  
#5 Оставлено : 3 июля 2012 г. 15:39:53(UTC)
sergey_it

Статус: Участник

Группы: Участники
Зарегистрирован: 03.07.2012(UTC)
Сообщений: 19

К сожалению ничего не изменилось:

trustStore is: C:\tmp\openstore\ces
trustStore type is : HDImageStore
trustStore provider is :
init truststore
setting up default SSLSocketFactory
class ru.CryptoPro.ssl.SSLSocketFactoryImpl is loaded
03.07.2012 14:38:33 ru.CryptoPro.ssl.SSLContextImpl d
FINE: keyStore is :
03.07.2012 14:38:33 ru.CryptoPro.ssl.SSLContextImpl d
FINE: keyStore type is :
03.07.2012 14:38:33 ru.CryptoPro.ssl.SSLContextImpl d
FINE: keyStore provider is :
03.07.2012 14:38:33 ru.CryptoPro.ssl.SSLContextImpl d
FINE: init keystore
03.07.2012 14:38:33 ru.CryptoPro.ssl.SSLContextImpl d
INFO: defaultStoreProvider =
03.07.2012 14:38:33 ru.CryptoPro.ssl.SSLContextImpl d
INFO:
03.07.2012 14:38:33 ru.CryptoPro.ssl.SSLContextImpl d
FINE: default context init failed: java.lang.NullPointerException
SSLSocketFactory instantiation failed: java.lang.RuntimeException: Default SSL context init failed:
Offline Евгений Афанасьев  
#6 Оставлено : 3 июля 2012 г. 15:52:04(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 4,031
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 729 раз в 687 постах
Выполните проверку:
java -cp samples.jar ComLine.CheckConfFull
Offline sergey_it  
#7 Оставлено : 3 июля 2012 г. 16:57:15(UTC)
sergey_it

Статус: Участник

Группы: Участники
Зарегистрирован: 03.07.2012(UTC)
Сообщений: 19

выполнил команду:

...

FINE: --WRITE--
03.07.2012 15:54:11 ComLine.CheckConfFull tls
INFO: GET complete
03.07.2012 15:54:11 ru.CryptoPro.ssl.M a
FINE: Thread-9, SEND TLSv1 ALERT: warning, description = CLOSE_NOTIFY
03.07.2012 15:54:11 ru.CryptoPro.ssl.Z a
FINE: MAC: 3A C1 29 26
03.07.2012 15:54:11 ru.CryptoPro.ssl.a.b a
FINE: Begin encrypt...
03.07.2012 15:54:11 ru.CryptoPro.ssl.a.b a
FINE: Encrypted...
03.07.2012 15:54:11 ru.CryptoPro.ssl.M a
FINE: --WRITE--
03.07.2012 15:54:11 ComLine.CheckConfFull main
INFO:
JTLS - OK

все прошло хорошо.

Предпологаю, что в в java plugin не хватает каких то permissions.
Offline sergey_it  
#8 Оставлено : 3 июля 2012 г. 18:22:48(UTC)
sergey_it

Статус: Участник

Группы: Участники
Зарегистрирован: 03.07.2012(UTC)
Сообщений: 19

судя по исходному коду SSLSocketFactory:

String clsName = getSecurityProperty("ssl.SocketFactory.provider");
if (clsName != null) {
log("setting up default SSLSocketFactory");
try {
Class cls = null;
try {
cls = Class.forName(clsName);
} catch (ClassNotFoundException e) {
ClassLoader cl = ClassLoader.getSystemClassLoader();
if (cl != null) {
cls = cl.loadClass(clsName);
}
}
log("class " + clsName + " is loaded");

SSLSocketFactory fac = (SSLSocketFactory)cls.newInstance();
log("instantiated an instance of class " + clsName);
theFactory = fac;
return fac;
} catch (Exception e) {
log("SSLSocketFactory instantiation failed: " + e.toString());
theFactory = new DefaultSSLSocketFactory(e);
return theFactory;
}
}

Исключение происходит в конструкторе класса ru.CryptoPro.ssl.SSLContextImpl, т.к. в логах есть :

class ru.CryptoPro.ssl.SSLSocketFactoryImpl is loaded

но отсутствует:

instantiated an instance of class ru.CryptoPro.ssl.SSLSocketFactoryImpl

Только что может вызывать nullPointer??
Offline Евгений Афанасьев  
#9 Оставлено : 3 июля 2012 г. 18:42:59(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 4,031
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 729 раз в 687 постах
Не могли бы вы приложить полный лог?
Offline sergey_it  
#10 Оставлено : 3 июля 2012 г. 19:22:41(UTC)
sergey_it

Статус: Участник

Группы: Участники
Зарегистрирован: 03.07.2012(UTC)
Сообщений: 19

afev написал:
Не могли бы вы приложить полный лог?

лог конкретно чего?
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
3 Страницы123>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.