Я пытаюсь подключиться к серверу 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 баг трекер