[CONJ-721] Connector-J missing TLSv1.3 TLS_CHACHA20_POLY1305_SHA256 ciphersuite support; other v1.3 suites ok Created: 2019-07-28 Updated: 2019-09-12 Resolved: 2019-09-12 |
|
| Status: | Closed |
| Project: | MariaDB Connector/J |
| Component/s: | protocol, SSL, TLS |
| Affects Version/s: | 2.4.2, 2.4.3 |
| Fix Version/s: | N/A |
| Type: | Bug | Priority: | Major |
| Reporter: | pgnd | Assignee: | Diego Dupin |
| Resolution: | Not a Bug | Votes: | 0 |
| Labels: | None | ||
| Description |
|
running
and, Connector-J built from head
with a MDB SSL config of
and an openssl 1.1.1c config defining cipher prefence order,
on mysql client connect, the connection correctly uses TLSv1.3 protocol, and the preferred/spec'd cipher
OTOH, checking JDBC connection with sqlline, using MDB Connector-J 2.4.2's provided class,
connection FAILs,
If I switch to ANOTHER TLSv1.3 ciphersuite option,
re-checking JDBC connection with sqlline,,
now connects,
and uses TLSv1.3
AND the preferred/spec'd cipher
|
| Comments |
| Comment by Diego Dupin [ 2019-07-29 ] | |||||||||||||
|
Java connector rely on build-in java SSL implementation. | |||||||||||||
| Comment by pgnd [ 2019-07-29 ] | |||||||||||||
|
> Could you indicate java vendor and version?
sourced from, https://build.opensuse.org/package/show/Java%3AFactory/java-11-openjdk > If my memory is good, TLSv1.3 exist since java 11, but chacha20 cipher only since java 12. I'll start to look, but if you can verify that openjdk v11 (LTS) does NOT have chacha20 cipher, or any pending backport, but that v12 does, I can give v12 a try. It's not currently installed here, and, so far, I've no direct experience with it; unclear how it currently behaves ... | |||||||||||||
| Comment by pgnd [ 2019-07-29 ] | |||||||||||||
|
fyi, https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8140466 it appears it's "in" JDK11, https://bugs.java.com/bugdatabase/view_bug.do?bug_id=8153029 | |||||||||||||
| Comment by Diego Dupin [ 2019-07-29 ] | |||||||||||||
|
It seems TLS_CHACHA20_POLY1305_SHA256 has only been added in JDK12 : see openjdk 11 cipher suite: https://docs.oracle.com/en/java/javase/11/docs/specs/security/standard-names.html#jsse-cipher-suite-names only contain TLSv1.2 CHACHA20 chiphers. openjdk 12 does have TLSv1.3 TLS_CHACHA20_POLY1305_SHA256 cipher : https://docs.oracle.com/en/java/javase/12/docs/specs/security/standard-names.html#jsse-cipher-suite-names | |||||||||||||
| Comment by pgnd [ 2019-07-29 ] | |||||||||||||
|
with
using sqlline+connector-j, as above,
Selecting client TLSv1.3/TLS_CHACHA20_POLY1305_SHA256 connection
DOES, now, connect correctly,
and uses TLSv1.3
AND the preferred/spec'd cipher
I'm unclear what that "fixed for 11b7" tag means :-/ One hopes that this gets backported to JDK 11/LTS. | |||||||||||||
| Comment by Diego Dupin [ 2019-09-12 ] | |||||||||||||
|
Closing, since relating to java implementation, not driver |