Mysql,SSL和java客户端问题

我试图从我自己的Java应用程序连接到启用SSL的MySQL服务器。 在mysqld上设置ssl之后,使用“REQUIRE ISSUER和SUBJECT”成功testing了一个帐户,我想在java应用程序中使用该帐户。

我使用keytool生成了一个私钥(对一个名为keystore.jks的文件)​​和csr,并使用我自己的CA(与mysqld及其证书一样使用)对csr进行了签名。

一旦签署了csr,我已经将CA和客户端证书导入到keystore.jks文件中。 运行应用程序时,无法build立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 

任何想法为什么发生这种情况?

看起来你已经遇到了一个已知的bug。 在mysql bug跟踪器上查看关于它的文档