Назад | Перейти на главную страницу

Проблема с Mysql, SSL и Java-клиентом

Я пытаюсь подключиться к серверу mysql с поддержкой SSL из моего собственного приложения Java. После настройки ssl на mysqld и успешного тестирования учетной записи с помощью «REQUIRE ISSUER and SUBJECT» я хотел использовать эту учетную запись в приложении Java.

Я создал закрытый ключ (к файлу с именем keystore.jks) и csr, используя keytool, и подписал csr, используя мой собственный CA (тот же, что и mysqld и его сертификат).

После подписания csr я импортировал CA и сертификат клиента в файл keystore.jks. При запуске приложения невозможно установить SSL-соединение. Соответствующие журналы:

...
[Raw read]: length = 5
0000: 16 00 00 02 FF                                     .....
main, handling exception: javax.net.ssl.SSLException: Unsupported record version Unknown-0.0
main, SEND TLSv1 ALERT:  fatal, description = unexpected_message
Padded plaintext before ENCRYPTION:  len = 32
0000: 02 0A BE 0F AD 64 0E 9A   32 3B FE 76 EF 40 A4 C9  .....d..2;.v.@..
0010: B4 A7 F3 25 E7 E5 09 09   09 09 09 09 09 09 09 09  ...%............
main, WRITE: TLSv1 Alert, length = 32
[Raw write]: length = 37
0000: 15 03 01 00 20 AB 41 9E   37 F4 B8 44 A7 FD 91 B1  .... .A.7..D....
0010: 75 5A 42 C6 70 BF D4 DC   EC 83 01 0C CF 64 C7 36  uZB.p........d.6
0020: 2F 69 EC D2 7F                                     /i...
main, called closeSocket()
main, called close()
main, called closeInternal(true)
main, called close()
main, called closeInternal(true)
connection error
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

Есть идеи, почему это происходит?

Похоже, вы столкнулись с известной ошибкой. Ознакомьтесь с документацией по нему на mysql баг трекер