|
|
|
Received fatal alert: handshake_failure
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток! В общем, такая беда. Имеется связка сертификата + privatekey в хранилище PKCS12. Устанавливаю соединение через RestTemplate спринга. Инициализирую его самописным классом MySimpleClientHttpRequestFactory extends SimpleClientHttpRequestFactory Включаю ссл-дебаг, идёт сервер-клиент хеллоу, обмен сертификатами, и, как я понимаю, доходит до последнего шага, где моя сторона должна отправить случайную фразу, зашифрованную, на сервере должны её расшифровать, перешифровать своим алгоритмом и отправить мне. И вот на этом этапе у меня валит ошибка. 2й день поиска не даёт никаких результатов. verify_data: { 110, 99, 169, 173, 154, 211, 104, 225, 206, 199, 188, 193 } *** [write] MD5 and SHA1 hashes: len = 16 0000: 14 00 00 0C 6E 63 A9 AD 9A D3 68 E1 CE C7 BC C1 ....nc....h..... Padded plaintext before ENCRYPTION: len = 32 0000: 14 00 00 0C 6E 63 A9 AD 9A D3 68 E1 CE C7 BC C1 ....nc....h..... 0010: 52 A2 7C 0D DF E6 3F DB 54 D1 7C BF B8 EC 97 9E R.....?.T....... main, WRITE: TLSv1 Handshake, length = 32 [Raw write]: length = 37 0000: 16 03 01 00 20 05 21 98 F0 1E AB 73 7D D4 4A CA .... .!....s..J. 0010: 77 34 4E BA 95 9F 28 64 9A B9 98 1B 80 31 F4 3B w4N...(d.....1.; 0020: C4 74 83 C3 76 .t..v [Raw read]: length = 5 0000: 15 03 01 00 02 ..... [Raw read]: length = 2 0000: 02 28 .( main, READ: TLSv1 Alert, length = 2 main, RECV TLSv1 ALERT: fatal, handshake_failure main, called closeSocket() main, handling exception: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure Exception in thread "main" org.springframework.web.client.ResourceAccessException: I/O error: Received fatal alert: handshake_failure; nested exception is javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2013, 17:04:53 |
|
||
|
Received fatal alert: handshake_failure
|
|||
|---|---|---|---|
|
#18+
Во-первых, https://www.google.by/#q=javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure - инфы вроде как много. Причин тоже может быть много, поэтому 2) Выложите код ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2013, 17:16:44 |
|
||
|
Received fatal alert: handshake_failure
|
|||
|---|---|---|---|
|
#18+
Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2013, 17:43:12 |
|
||
|
Received fatal alert: handshake_failure
|
|||
|---|---|---|---|
|
#18+
З.Ы. гуглили долго и интенсивно к сожалению решения не нашли, собственно что и вынудило обратиться к форуму! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2013, 17:44:42 |
|
||
|
Received fatal alert: handshake_failure
|
|||
|---|---|---|---|
|
#18+
два замечания по коду 1) У веблоджика своя кухня с https, выставлять System.setProperty("https.protocols", "TLSv1,SSLv3"); System.setProperty("weblogic.security.SSL.enforceConstraints", "off"); по-моему бессмысленно. Их надо указывать при запуске веблоджика. 2) У вас трастменеджер захачен чтобы доверять всем, я думаю это от безысходности и в целом весьма неправильно, может изза этого и ошибок куча. В обшем вам надо разбираться и разбираться, удаленно трудно сказать, но когда я попал в подобную ситуацию мне гугла хватило, хотя и ушло дня 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2013, 17:48:32 |
|
||
|
Received fatal alert: handshake_failure
|
|||
|---|---|---|---|
|
#18+
SSL SSLю рознь. Это может быть как просто защита транспорта так и аутентификация. Что именно требует сервер? Пустой TrustManager, вроде, нужен чтобы клиентская Java не падала на самоподписаных сертификатах. Тут же вроде сервер инициирует ошибку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2013, 17:52:43 |
|
||
|
Received fatal alert: handshake_failure
|
|||
|---|---|---|---|
|
#18+
Пробовали версию java менять? Кстати, вот - http://code.google.com/p/zaproxy/issues/detail?id=290, тут сайт поддерживает только tls1 - вывод в консоли почти как вас. В общем очень много векторов откуда может быть ошибка, перечислите что пробовали хотя бы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2013, 18:39:57 |
|
||
|
Received fatal alert: handshake_failure
|
|||
|---|---|---|---|
|
#18+
Пробовал делать проверку через опенссл, проблем нет, ответ есть Start Time: 1381221236 Timeout : 300 (sec) Verify return code: 0 (y) --- 1 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>403 Forbidden</title> </head><body> <h1>Forbidden</h1> <p>You don't have permission to access / on this server.</p> </body></html> closed если переключиться с JDK6 на JDK7, то есть дополнение к коллстеку %% Invalidated: [Session-1, TLS_RSA_WITH_AES_128_CBC_SHA То есть что-то с алгоритмом шифрования, или чёрт его знает. Так же думал что быть может дело в экспортных ограничениях, качал файлы с политикой local_policy.jar и US_export_policy.jar с оффа оракла, заменял в либах, также без результатно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2013, 19:31:00 |
|
||
|
Received fatal alert: handshake_failure
|
|||
|---|---|---|---|
|
#18+
посмотрите в wireshark разницу между тем когда вы через openssl идете и через веблоджик - может натолкнет на мысль ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2013, 19:37:33 |
|
||
|
Received fatal alert: handshake_failure
|
|||
|---|---|---|---|
|
#18+
Покажите полный stacktrace. И, да, если openssl работает, посмотрите TCP пакеты сниффером и сравните. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2013, 19:43:32 |
|
||
|
Received fatal alert: handshake_failure
|
|||
|---|---|---|---|
|
#18+
Вобщем проблема решена, всё заработало! Спасибо всем кто откликнулся! Собственно проблема таилась немного не там ... подправили код, вот что вышло Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2013, 10:58:41 |
|
||
|
Received fatal alert: handshake_failure
|
|||
|---|---|---|---|
|
#18+
jjackass, огромное спасибо Вам за рабочий код. Потратили массу времени на поиск решения, но именно предложенный Вами код помог решить проблему. В моем случае самоподписанный серверный сертификат пришлось поместить в хранилище в отдельный файл при помощи командыЖ Код: vbnet 1. найденной в статье Common SSL issues in Java . И пришлось добавить свою реализацию HostnameVerifier: Код: java 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2013, 05:02:24 |
|
||
|
Received fatal alert: handshake_failure
|
|||
|---|---|---|---|
|
#18+
horgh, Я даже блог стал вести когда понял как люди круто тупят в простых вещах http://vyatkins.wordpress.com/2013/11/19/java-base-ssl-connection-to-tomcat-with-server-and-client-certifications/ как раз моя первая статья с проектом на гитхабе и со всеми деталями была посвящена SSL в статье так же есть скрипт который при помощи keytool создает трасты для сервера и клиента автоматически. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2013, 05:05:50 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38420766&tid=2127952]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
52ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 328ms |

| 0 / 0 |
