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

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline ВикторVAZ  
#1 Оставлено : 3 февраля 2012 г. 16:18:16(UTC)
ВикторVAZ

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

Группы: Участники
Зарегистрирован: 31.01.2012(UTC)
Сообщений: 17
Откуда: Москва

Добрый день!
Пытаюсь подключиться к удаленному серверу следующим образом (код ниже). JCP, JTLS установлены, ошибка при инициализации SSLContext java.lang.NullPointerException, помогите пожалуйста, в чем проблема?

Цитата:

URL myurl;
HttpsURLConnection connection = null;
KeyStore ks = null;
KeyStore kss = null;

//настройки для клиента
System.setProperty("javax.net.ssl.trustStoreType", "HDImageStore");
System.setProperty("javax.net.ssl.trustStore","C:\\trust.store");
System.setProperty("javax.net.ssl.trustStorePassword", "111111");

try {

ks = KeyStore.getInstance("HDImageStore", "JCP");
ks.load(new FileInputStream("C:\\trust.store"), "111111".toCharArray());

TrustManagerFactory tmf = null;
tmf = TrustManagerFactory.getInstance("SunX509");
tmf.init(ks);

TrustManager tms [] = tmf.getTrustManagers();

SecureRandom rnd = SecureRandom.getInstance("CPRandom", "JCP");

connection.setHostnameVerifier(new NullHostnameVerifier());
SSLContext sc = SSLContext.getInstance("TLS", "JCP");
sc.getDefault();
sc.init(null, tms, rnd);
connection.setDefaultSSLSocketFactory(sc.getSocketFactory());

myurl = new URL(httpsURL);
Reader reader;
connection = (HttpsURLConnection)myurl.openConnection();
connection.setDoInput(true);
connection.setDoOutput(true);
//--------------------
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-length", String.valueOf(request.getContentLength()));
connection.setRequestProperty("Content-Type", request.getContentType());

DataOutputStream outs = new DataOutputStream(connection.getOutputStream());
logger.info("Send request...");
outs.writeChars(message);
//--------------------

DataInputStream input = new DataInputStream(connection.getInputStream());
reader= new BufferedReader(new InputStreamReader(input, "windows-1251"));
logger.info("Read response...");
readWriteStream(reader, out, "response");

connection.disconnect();
reader.close();
input.close();
outs.close();
}
Offline ВикторVAZ  
#2 Оставлено : 3 февраля 2012 г. 16:37:43(UTC)
ВикторVAZ

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

Группы: Участники
Зарегистрирован: 31.01.2012(UTC)
Сообщений: 17
Откуда: Москва

Извиняюсь проблема в этой строке
Цитата:
connection.setHostnameVerifier(new NullHostnameVerifier());


,но если ее закоментировать, то получаю такое исключение
Цитата:
java.security.cert.CertificateException: No subject alternative names matching IP address {ip сервера} found
Offline ВикторVAZ  
#3 Оставлено : 3 февраля 2012 г. 17:07:23(UTC)
ВикторVAZ

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

Группы: Участники
Зарегистрирован: 31.01.2012(UTC)
Сообщений: 17
Откуда: Москва

Уточняю exception:
Цитата:
javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No subject alternative names matching IP address {ip сервера} found


т.е., как я понимаю, при у "пожатии" возникает...

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

Offline ВикторVAZ  
#4 Оставлено : 3 февраля 2012 г. 17:40:34(UTC)
ВикторVAZ

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

Группы: Участники
Зарегистрирован: 31.01.2012(UTC)
Сообщений: 17
Откуда: Москва

С верификацие вроде разобрался, но теперь падает тут:
Цитата:
connection.setDefaultSSLSocketFactory(sc.getSocketFactory());


javax.net.ssl.SSLProtocolException: Server did not send a DH Server Key Exchange message
Offline ВикторVAZ  
#5 Оставлено : 3 февраля 2012 г. 19:07:44(UTC)
ВикторVAZ

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

Группы: Участники
Зарегистрирован: 31.01.2012(UTC)
Сообщений: 17
Откуда: Москва

Попробовал поменять инстанс для контекста:
Цитата:
SSLContext sc = SSLContext.getInstance("GostTLS");

теперь возникает такое исключение:
Цитата:
javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: Unknown authType: GOST3410DH


кто-то сталкивался с этим?
Offline asd09  
#6 Оставлено : 3 февраля 2012 г. 19:13:24(UTC)
asd09

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

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

Сказал(а) «Спасибо»: 2 раз
1 в 1 как у меня проблема, просветления уже неделю как нет.
Offline ВикторVAZ  
#7 Оставлено : 3 февраля 2012 г. 19:20:01(UTC)
ВикторVAZ

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

Группы: Участники
Зарегистрирован: 31.01.2012(UTC)
Сообщений: 17
Откуда: Москва

может вместе поборем...)

поменял инстанс в TrustManager
Цитата:
tmf = TrustManagerFactory.getInstance("GostX509");

теперь такое получаю
Цитата:
javax.net.ssl.SSLException: java.lang.UnsupportedOperationException

Offline ВикторVAZ  
#8 Оставлено : 3 февраля 2012 г. 19:31:29(UTC)
ВикторVAZ

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

Группы: Участники
Зарегистрирован: 31.01.2012(UTC)
Сообщений: 17
Откуда: Москва

А не нужно ли для SSLContext какой-то КриптоПро инстанс указывать?
Offline ВикторVAZ  
#9 Оставлено : 3 февраля 2012 г. 19:59:11(UTC)
ВикторVAZ

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

Группы: Участники
Зарегистрирован: 31.01.2012(UTC)
Сообщений: 17
Откуда: Москва

вот полный трейс

Цитата:
javax.net.ssl.SSLException: java.lang.UnsupportedOperationException
at ru.CryptoPro.ssl.K.a(Unknown Source) [cpSSL.jar:1.0.2391]
at ru.CryptoPro.ssl.t.a(Unknown Source) [cpSSL.jar:1.0.2391]
at ru.CryptoPro.ssl.t.a(Unknown Source) [cpSSL.jar:1.0.2391]
at ru.CryptoPro.ssl.t.a(Unknown Source) [cpSSL.jar:1.0.2391]
at ru.CryptoPro.ssl.t.startHandshake(Unknown Source) [cpSSL.jar:1.0.2391]
at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:434) [:1.6]
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:166) [:1.6]
at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:904) [:1.6.0_18]
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:230) [:1.6]
at servlet.MessageServlet.httpsConnect(MessageServlet.java:122) [:]
at servlet.MessageServlet.service(MessageServlet.java:253) [:]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [:1.0.0.Beta2]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324) [:6.0.0.20100911-M5]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.0.0.20100911-M5]
at org.jboss.resteasy.plugins.server.servlet.FilterDispatcher.doFilter(FilterDispatcher.java:63) [:6.0.0.20100911-M5]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274) [:6.0.0.20100911-M5]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.0.0.20100911-M5]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [:6.0.0.20100911-M5]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) [:6.0.0.20100911-M5]
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:181) [:6.0.0.20100911-M5]
at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.event(CatalinaContext.java:285) [:1.1.0.CR3]
at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.invoke(CatalinaContext.java:261) [:1.1.0.CR3]
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88) [:6.0.0.20100911-M5]
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100) [:6.0.0.20100911-M5]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) [:6.0.0.20100911-M5]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [:6.0.0.20100911-M5]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [:6.0.0.20100911-M5]
at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53) [:6.0.0.20100911-M5]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [:6.0.0.20100911-M5]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [:6.0.0.20100911-M5]
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653) [:6.0.0.20100911-M5]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951) [:6.0.0.20100911-M5]
at java.lang.Thread.run(Thread.java:619) [:1.6.0_18]
Caused by: java.lang.UnsupportedOperationException
at javax.crypto.CipherSpi.engineGetKeySize(DashoA13*..) [:1.6]
at javax.crypto.Cipher.b(DashoA13*..) [:1.6]
at javax.crypto.Cipher.a(DashoA13*..) [:1.6]
at javax.crypto.Cipher.a(DashoA13*..) [:1.6]
at javax.crypto.Cipher.a(DashoA13*..) [:1.6]
at javax.crypto.Cipher.init(DashoA13*..) [:1.6]
at javax.crypto.Cipher.init(DashoA13*..) [:1.6]
at ru.CryptoPro.ssl.a.d.a(Unknown Source) [cpSSL.jar:1.0.2391]
at ru.CryptoPro.ssl.a.a.a(Unknown Source) [cpSSL.jar:1.0.2391]
at ru.CryptoPro.ssl.a.a(Unknown Source) [cpSSL.jar:1.0.2391]
at ru.CryptoPro.ssl.a.a(Unknown Source) [cpSSL.jar:1.0.2391]
at ru.CryptoPro.ssl.L.a(Unknown Source) [cpSSL.jar:1.0.2391]
at ru.CryptoPro.ssl.t.a(Unknown Source) [cpSSL.jar:1.0.2391]
at ru.CryptoPro.ssl.t.i(Unknown Source) [cpSSL.jar:1.0.2391]
... 29 more


такое ощущение, что лезет не в ту ветку и ломается там, т.к. что-то не риализовано...

Отредактировано пользователем 3 февраля 2012 г. 20:07:48(UTC)  | Причина: Не указана

Offline ВикторVAZ  
#10 Оставлено : 3 февраля 2012 г. 20:38:16(UTC)
ВикторVAZ

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

Группы: Участники
Зарегистрирован: 31.01.2012(UTC)
Сообщений: 17
Откуда: Москва

Нашел похожие ошибки на форуме, импортировал политики безопасности с оф. сайта,
теперь получаю вот такой трейс:

Цитата:
ru.CryptoPro.JCP.tools.SelfTesterException: URL is incorrect
at ru.CryptoPro.JCP.tools.SelfTester.checkClass(Unknown Source) [JCP.jar:1.0.3099]
at ru.CryptoPro.JCP.tools.z.a(Unknown Source) [JCP.jar:1.0.3099]
at ru.CryptoPro.JCP.KeyStore.JCPKeyStore.engineLoad(Unknown Source) [JCP.jar:1.0.3099]
at java.security.KeyStore.load(KeyStore.java:1185) [:1.6.0_18]
at servlet.MessageServlet.httpsConnect(MessageServlet.java:95) [:]
at servlet.MessageServlet.service(MessageServlet.java:253) [:]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [:1.0.0.Beta2]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324) [:6.0.0.20100911-M5]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.0.0.20100911-M5]
at org.jboss.resteasy.plugins.server.servlet.FilterDispatcher.doFilter(FilterDispatcher.java:63) [:6.0.0.20100911-M5]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:274) [:6.0.0.20100911-M5]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.0.0.20100911-M5]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [:6.0.0.20100911-M5]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) [:6.0.0.20100911-M5]
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:181) [:6.0.0.20100911-M5]
at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.event(CatalinaContext.java:285) [:1.1.0.CR3]
at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.invoke(CatalinaContext.java:261) [:1.1.0.CR3]
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88) [:6.0.0.20100911-M5]
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100) [:6.0.0.20100911-M5]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) [:6.0.0.20100911-M5]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [:6.0.0.20100911-M5]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [:6.0.0.20100911-M5]
at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53) [:6.0.0.20100911-M5]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [:6.0.0.20100911-M5]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [:6.0.0.20100911-M5]
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653) [:6.0.0.20100911-M5]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951) [:6.0.0.20100911-M5]
at java.lang.Thread.run(Thread.java:619) [:1.6.0_18]
Caused by: java.lang.Exception: URL is incorrect
... 28 more
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (2)
2 Страницы12>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.