Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Ошибка соединения с SSL / 25 сообщений из 29, страница 1 из 2
31.08.2017, 18:24
    #39513619
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка соединения с SSL
Подскажите как решить данную проблему

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
TRANSFER_CERT_PATH=E:\\Options\\test.pfx
TRANSFER_CERT_PASS=123456

public class SSLConnection {

	private static final String TRANSFER_CERT_PATH = ApplicationParamsManager.getParam("TRANSFER_CERT_PATH");
	private static final String TRANSFER_CERT_PASS = ApplicationParamsManager.getParam("TRANSFER_CERT_PASS");
	private SSLContext sslContext;

	private static SSLConnection instance;

	public static SSLConnection getInstance() {
		if (instance == null) {
			instance = new SSLConnection();
		}
		return instance;
	}

	public SSLContext createSSL() {
		if (sslContext != null)
			return sslContext;
		try {
			switch (Helper.INFRASTRUCTURE) {
				case IDEA:
				case MMB:
					System.setProperty("javax.net.ssl.trustStore", TRANSFER_CERT_PATH);
					System.setProperty("javax.net.ssl.trustStorePassword", TRANSFER_CERT_PASS);

					KeyStore keyStore = KeyStore.getInstance("PKCS12");
					keyStore.load(new FileInputStream(TRANSFER_CERT_PATH), TRANSFER_CERT_PASS.toCharArray());

					KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
					kmf.init(keyStore, TRANSFER_CERT_PASS.toCharArray());
					KeyManager[] kms = kmf.getKeyManagers();

					TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
					tmf.init(keyStore);
					TrustManager[] tms = tmf.getTrustManagers();

					sslContext = SSLContext.getInstance("TLS");
					sslContext.init(kms, tms, new SecureRandom());
					// sslContext = SSLContexts.custom().loadKeyMaterial(keyStore, TRANSFER_CERT_PASS.toCharArray()).build();
					break;
				default:
					LoggerUtil.getDEBUG_LOGGER().error("SSLConnection#createSSL - don't work with this InfraName");
			}
		} catch (KeyStoreException | NoSuchAlgorithmException | UnrecoverableKeyException | KeyManagementException | CertificateException | IOException e) {
			LoggerUtil.getDEBUG_LOGGER().error("Error create SSLConnection#createSSL", e);
		}
		return sslContext;
	}
}



Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
	at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
	at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1959)
	at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:302)
	at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:296)
	at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1514)
	at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:216)
	at sun.security.ssl.Handshaker.processLoop(Handshaker.java:1026)
	at sun.security.ssl.Handshaker.process_record(Handshaker.java:961)
	at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1072)
	at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1385)
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1413)
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1397)
	at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:543)
	at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:409)
	at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:177)
	at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:304)
	at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:611)
	at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:446)
	at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:882)
	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55)
	at org.jboss



Если пытаться отправить запрос через запрос напрямую через SOAPUI подложив test.pfx
Все работает корректно

Не хотелось, бы манипуляции вида
https://www.mkyong.com/webservices/jax-ws/suncertpathbuilderexception-unable-to-find-valid-certification-path-to-requested-target/
...
Рейтинг: 0 / 0
31.08.2017, 18:33
    #39513627
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка соединения с SSL
-Djavax.net.debug=all
А как вы test.pfx в SOAP UI подкладываете?
...
Рейтинг: 0 / 0
31.08.2017, 18:43
    #39513633
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка соединения с SSL
Blazkowicz,
...
Рейтинг: 0 / 0
31.08.2017, 18:56
    #39513643
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка соединения с SSL
-=Koba=-,

Так это. trustStore это для пути к Java Key Store файлу. JKS. А у вас PFX, формат которого PKCS #12.
...
Рейтинг: 0 / 0
31.08.2017, 19:06
    #39513647
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка соединения с SSL
Blazkowicz-=Koba=-,

Так это. trustStore это для пути к Java Key Store файлу. JKS. А у вас PFX, формат которого PKCS #12.

Говорит убирает и сыпится ошибка
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
2017-08-31 19:03:22,168 ERROR [WsdlSubmit] Exception in request: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
2017-08-31 19:03:22,169 ERROR [errorlog] javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
 at sun.security.ssl.Alerts.getSSLException(Unknown Source)
 at sun.security.ssl.Alerts.getSSLException(Unknown Source)
 at sun.security.ssl.SSLSocketImpl.recvAlert(Unknown Source)
 at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
 at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
 at sun.security.ssl.SSLSocketImpl.writeRecord(Unknown Source)
 at sun.security.ssl.AppOutputStream.write(Unknown Source)
 at org.apache.http.impl.io.AbstractSessionOutputBuffer.flushBuffer(AbstractSessionOutputBuffer.java:131)
 at org.apache.http.impl.io.AbstractSessionOutputBuffer.flush(AbstractSessionOutputBuffer.java:138)
 at org.apache.http.impl.conn.LoggingSessionOutputBuffer.flush(LoggingSessionOutputBuffer.java:95)
 at org.apache.http.impl.AbstractHttpClientConnection.doFlush(AbstractHttpClientConnection.java:270)
 at org.apache.http.impl.AbstractHttpClientConnection.flush(AbstractHttpClientConnection.java:275)
 at org.apache.http.impl.conn.AbstractClientConnAdapter.flush(AbstractClientConnAdapter.java:197)
 at org.apache.http.protocol.HttpRequestExecutor.doSendRequest(HttpRequestExecutor.java:258)
 at com.eviware.soapui.impl.wsdl.support.http.HttpClientSupport$SoapUIHttpRequestExecutor.doSendRequest(HttpClientSupport.java:119)
 at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:123)
 at org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:633)
 at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:454)
 at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820)
 at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:754)
 at com.eviware.soapui.impl.wsdl.support.http.HttpClientSupport$Helper.execute(HttpClientSupport.java:233)
 at com.eviware.soapui.impl.wsdl.support.http.HttpClientSupport.execute(HttpClientSupport.java:323)
 at com.eviware.soapui.impl.wsdl.submit.transports.http.HttpClientRequestTransport.submitRequest(HttpClientRequestTransport.java:297)
 at com.eviware.soapui.impl.wsdl.submit.transports.http.HttpClientRequestTransport.sendRequest(HttpClientRequestTransport.java:227)
 at com.eviware.soapui.impl.wsdl.WsdlSubmit.run(WsdlSubmit.java:119)
 at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
 at java.util.concurrent.FutureTask.run(Unknown Source)
 at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
 at java.lang.Thread.run(Unknown Source)
...
Рейтинг: 0 / 0
31.08.2017, 19:17
    #39513652
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка соединения с SSL
То есть основываясь на поведении SOAP UI вы решили что вот этот вот код имеет право на жизнь?
Код: java
1.
2.
System.setProperty("javax.net.ssl.trustStore", TRANSFER_CERT_PATH);
System.setProperty("javax.net.ssl.trustStorePassword", TRANSFER_CERT_PASS);



https://docs.oracle.com/javase/8/docs/technotes/guides/security/jsse/JSSERefGuide.html java.security.KeyStoreException: TrustedCertEntry Not Supported

Problem: Attempt to store trusted certificates in PKCS12 keystore throws java.security.KeyStoreException: TrustedCertEntry not supported.

Cause: Storing trusted certificates in a PKCS12 keystore is not supported. PKCS12 is mainly used to deliver private keys with the associated certificate chains. It does not have any notion of "trusted" certificates. In terms of interoperability, other PKCS12 vendors have the same restriction. Browsers such as Mozilla and Internet Explorer do not accept a PKCS12 file with only trusted certificates.

Solution: Use the JKS keystore for storing trusted certificates.
...
Рейтинг: 0 / 0
31.08.2017, 23:34
    #39513740
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка соединения с SSL
BlazkowiczТо есть основываясь на поведении SOAP UI вы решили что вот этот вот код имеет право на жизнь?
Код: java
1.
2.
System.setProperty("javax.net.ssl.trustStore", TRANSFER_CERT_PATH);
System.setProperty("javax.net.ssl.trustStorePassword", TRANSFER_CERT_PASS);



https://docs.oracle.com/javase/8/docs/technotes/guides/security/jsse/JSSERefGuide.html java.security.KeyStoreException: TrustedCertEntry Not Supported

Problem: Attempt to store trusted certificates in PKCS12 keystore throws java.security.KeyStoreException: TrustedCertEntry not supported.

Cause: Storing trusted certificates in a PKCS12 keystore is not supported. PKCS12 is mainly used to deliver private keys with the associated certificate chains. It does not have any notion of "trusted" certificates. In terms of interoperability, other PKCS12 vendors have the same restriction. Browsers such as Mozilla and Internet Explorer do not accept a PKCS12 file with only trusted certificates.

Solution: Use the JKS keystore for storing trusted certificates.

Эти две строчки я нашел на stackoverflow, прежде чем писать сюда вопрос

Подскажите в каком направлении смотреть
Есть еще вот такая инфа по повjду сервера куда стучусь

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
curl_setopt($curl, CURLOPT_URL, $req);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, true);
curl_setopt($curl, CURLOPT_SSLCERT,'./example/your_cert.crt');
curl_setopt($curl, CURLOPT_SSLKEY,'./example/your_key.pk');
curl_setopt($curl, CURLOPT_SSLKEYPASSWD,'your_ssl_pass');

openssl x509 -noout -modulus -in cert.pem
openssl rsa -noout -modulus -in privkey.pem
...
Рейтинг: 0 / 0
01.09.2017, 01:19
    #39513754
Sergunka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка соединения с SSL
-=Koba=-,

походу моя статья бьет все рекорды уже не первый год

https://vyatkins.wordpress.com/2013/11/19/java-base-ssl-connection-to-tomcat-with-server-and-client-certifications/
...
Рейтинг: 0 / 0
01.09.2017, 07:13
    #39513783
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка соединения с SSL
-=Koba=-Эти две строчки я нашел на stackoverflow, прежде чем писать сюда вопрос

Невероятно.

-=Koba=-Подскажите в каком направлении смотреть
Есть еще вот такая инфа по повjду сервера куда стучусь

Вы всю эту галиматью написали чтобы по обычному HTTPS куда-то обратиться?
...
Рейтинг: 0 / 0
01.09.2017, 09:59
    #39513852
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка соединения с SSL
Blazkowicz-=Koba=-Эти две строчки я нашел на stackoverflow, прежде чем писать сюда вопрос

Невероятно.

-=Koba=-Подскажите в каком направлении смотреть
Есть еще вот такая инфа по повjду сервера куда стучусь

Вы всю эту галиматью написали чтобы по обычному HTTPS куда-то обратиться?

Нет это предоставил сервер, с комментарием может поможет
Обращение через "галиматью"

P.S. Опять не с той ноги встали?
...
Рейтинг: 0 / 0
01.09.2017, 10:17
    #39513871
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка соединения с SSL
Sergunka-=Koba=-,

походу моя статья бьет все рекорды уже не первый год

https://vyatkins.wordpress.com/2013/11/19/java-base-ssl-connection-to-tomcat-with-server-and-client-certifications/

Я не совсем понимаю как мне это статья поможет...
...
Рейтинг: 0 / 0
01.09.2017, 10:29
    #39513889
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка соединения с SSL
-=Koba=-P.S. Опять не с той ноги встали?
У меня обе ноги не те. Для того чтобы работать с HTTPS нужно просто серфтификаты импортировать в KeyStore. Возможно, чуток больше телодвижений если нужна SSL аутентификация. Но никакая гора говнокода для реализации стандартных протоколов нафиг не нужна.
...
Рейтинг: 0 / 0
01.09.2017, 10:39
    #39513891
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка соединения с SSL
Blazkowicz-=Koba=-P.S. Опять не с той ноги встали?
У меня обе ноги не те. Для того чтобы работать с HTTPS нужно просто серфтификаты импортировать в KeyStore. Возможно, чуток больше телодвижений если нужна SSL аутентификация. Но никакая гора говнокода для реализации стандартных протоколов нафиг не нужна.

Не могли б вы более подробно рассказать или поделиться ссылкой куда копать
Заранее спасибо
...
Рейтинг: 0 / 0
01.09.2017, 10:42
    #39513893
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка соединения с SSL
-=Koba=-,

https://www.google.com/search?q=java pfx to jks
А потом запускать Java с -Djavax.net.ssl.trustStore=путь к jks файлу.
...
Рейтинг: 0 / 0
01.09.2017, 10:50
    #39513901
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка соединения с SSL
Blazkowicz-=Koba=-,

https://www.google.com/search?q=java pfx to jks
А потом запускать Java с -Djavax.net.ssl.trustStore=путь к jks файлу.


А еще вопросик один

А если у меня программа коннектится к разным серверам у которой свой сертификаты

То как быть здесь
-Djavax.net.ssl.trustStore=путь к jks файлу
...
Рейтинг: 0 / 0
01.09.2017, 10:54
    #39513904
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка соединения с SSL
-=Koba=-А еще вопросик один
А если у меня программа коннектится к разным серверам у которой свой сертификаты
То как быть здесь
-Djavax.net.ssl.trustStore=путь к jks файлу
JKS это хранилище. Туда можно поместить все нужные сертификаты.
...
Рейтинг: 0 / 0
01.09.2017, 10:55
    #39513905
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка соединения с SSL
-=Koba=-,

Был ещё такой инструмент KeyTool IUI. Удобно чтобы с командной строкой не возится.
...
Рейтинг: 0 / 0
01.09.2017, 11:29
    #39513942
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка соединения с SSL
Blazkowicz-=Koba=-,

https://www.google.com/search?q=java pfx to jks
А потом запускать Java с -Djavax.net.ssl.trustStore=путь к jks файлу.

Сделал как говорите

VM -Djavax.net.debug=all -Djavax.net.ssl.trustStore=E:\\Options\\idea\\www.ideabank.by.jks

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
	private ResteasyClient getResteasyClient() {
		// SSLContext sslContext = SSLConnection.getInstance().createSSL();
		// if (sslContext != null) {
		ResteasyClientBuilder clientBuilder = new ResteasyClientBuilder().socketTimeout(TRANSFER_TIMEOUT, TimeUnit.SECONDS);
//.sslContext(sslContext);
		ResteasyClient resteasyClient = clientBuilder.build().register(new LoggingRequestFilter()).register(new LoggingResponseFilter());
		return resteasyClient;
		// } else
		// return null;
	}



Ошибка та же сама возникает
...
Рейтинг: 0 / 0
01.09.2017, 11:34
    #39513949
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка соединения с SSL
-=Koba=-,

пароль указали для JKS? Зачем слеши экранировать в командной строке? Что за VM такое?
...
Рейтинг: 0 / 0
01.09.2017, 12:02
    #39513982
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка соединения с SSL
Blazkowicz-=Koba=-,

пароль указали для JKS? Зачем слеши экранировать в командной строке? Что за VM такое?

Как-то так запускаю
...
Рейтинг: 0 / 0
01.09.2017, 13:08
    #39514054
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка соединения с SSL
-=Koba=-Как-то так запускаю
Ещё и JBoss до кучи. Чтобы не было слишком просто SSL дебаг выискивать в выхлопе.
...
Рейтинг: 0 / 0
01.09.2017, 13:26
    #39514069
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка соединения с SSL
Blazkowicz-=Koba=-Как-то так запускаю
Ещё и JBoss до кучи. Чтобы не было слишком просто SSL дебаг выискивать в выхлопе.

У вас талант отвечтаь загадками.. (
...
Рейтинг: 0 / 0
01.09.2017, 13:52
    #39514092
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка соединения с SSL
-=Koba=-,

У вас талант игнорировать то что написано.
javax.net.debug=all для чего указан? Чтобы детали SSL логировались. Они логируются? И что там пишут?
...
Рейтинг: 0 / 0
01.09.2017, 14:08
    #39514104
-=Koba=-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка соединения с SSL
Blazkowicz,

Вот что имею на выходе

Модератор: удалено
...
Рейтинг: 0 / 0
01.09.2017, 14:45
    #39514132
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка соединения с SSL
-=Koba=-,

А
keytool -list -keystore www.ideabank.by.jks
что показывает?
Судя по логу, нужного сертификата в вашем JKS нет.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Ошибка соединения с SSL / 25 сообщений из 29, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]