Just FTW I think they still enable the TLS1.3 detection logic via their 
BoringSSL usage just like others noted:

https://commondatastorage.googleapis.com/chromium-boringssl-docs/ssl.h.html#SSL_set_jdk11_workaround
 
<https://commondatastorage.googleapis.com/chromium-boringssl-docs/ssl.h.html#SSL_set_jdk11_workaround>

Bye
Norman


> On 11. Aug 2020, at 04:23, Jamil Nimeh <jamil.j.ni...@oracle.com> wrote:
> 
> Hi Bernd,
> 
> Without seeing the respective traces it is hard to know for certain, but I 
> can tell you that BoringSSL looks for a specific "fingerprint" in the client 
> hello which it attributes to the original JDK 11 client hello.  They did this 
> to work around specific bugs in the initial TLS 1.3 implementation released 
> with JDK 11.
> 
> If the client hello is structured such that it doesn't match the fingerprint 
> then things proceed with no issues.  There are many ways to change the 
> fingerprint.  It can even be accomplished by using the identical set of 
> extensions that cause the failure, but ordering them differently.  I had more 
> than a few "WAT?" moments getting my head around that when we were 
> characterizing this issue back in April.  :)
> 
> If we were to look at the client hellos from that Zulu OpenJSSE provider, I'm 
> sure we could identify the element that changes the fingerprint such that it 
> works.
> 
> --Jamil
> 
> On 8/10/2020 7:10 PM, Bernd Eckenfels wrote:
>> Hello Jamil,
>> 
>> Thanks for responding, you are correct, this system property resolves my 
>> problem (on both the Oracle as well as Azure JRE).
>> 
>> There is however something fishy going on. With the OpenJSSE provider (as 
>> provided by Zulu) the default for this option seems to be =true, as the 
>> extension is sent in ClientHello. I naturally disabled it and I can see in 
>> the debug log that the extension is no longer requested - HOWEVER the 
>> handshake with google.com still succeeds with OpenJSSE. WAT? :)
>> 
>> Gruss
>> Bernd
>> 
>> 
>> --
>> http://bernd.eckenfels.net <http://bernd.eckenfels.net/>
>> Von: security-dev <security-dev-r...@openjdk.java.net> 
>> <mailto:security-dev-r...@openjdk.java.net> im Auftrag von Jamil Nimeh 
>> <jamil.j.ni...@oracle.com> <mailto:jamil.j.ni...@oracle.com>
>> Gesendet: Tuesday, August 11, 2020 3:11:14 AM
>> An: security-dev@openjdk.java.net <mailto:security-dev@openjdk.java.net> 
>> <security-dev@openjdk.java.net> <mailto:security-dev@openjdk.java.net>
>> Betreff: Re: [TLS-backport8] Does TLSv1.3 work with www.google.com 
>> <http://www.google.com/>
>>  
>> Hmmm, looks a lot like this issue: 
>> https://bugs.openjdk.java.net/browse/JDK-8241360 
>> <https://bugs.openjdk.java.net/browse/JDK-8241360>.  What happens if you run 
>> it with -Djdk.tls.client.enableStatusRequestExtension=true?  That should get 
>> you past it.  This is mentioned in the release notes for 8u261:
>> 
>> https://www.oracle.com/java/technologies/javase/8u261-relnotes.html 
>> <https://www.oracle.com/java/technologies/javase/8u261-relnotes.html>
>> --Jamil
>> 
>> On 8/10/2020 5:49 PM, Bernd wrote:
>>> Hallo,
>>> 
>>> is the upcoming Java8u TLS backport supposed to work with 
>>> "-Djdk.tls.client.protocols=TLSv1.3" when connecting 
>>> tohttps://www.google.com <https://www.google.com/>?
>>> 
>>> I get an alert when I try to HttpsURLConnection.open to it. This happens 
>>> with the Zulu port of this feature as well as the 8u261GA from Oracle. When 
>>> specifying TLSv1.3,TLSv1.2 it connects but uses a v2 cipher.
>>> 
>>> The OpenJSSE (-XX:+UseOpenJSSE) backport of Zulu seems not affected, it 
>>> does handshake correctly with Google (so only difference i can see is an 
>>> additional OCSP request and chacha cipher which is not picked).
>>> 
>>> javax.net.ssl|FINE|01|main|2020-08-11 01:45:23.268 
>>> CEST|Logger.java:765|Produced ClientHello handshake message (
>>> "ClientHello": {
>>>   "client version"      : "TLSv1.2",
>>>   "random"              : "51 1A 14 21 CF BA 47 06 AB 26 67 4C 97 D9 12 77 
>>> BA 61 93 E3 DE 61 5C AC 30 10 9A 82 42 3D FC F1",
>>>   "session id"          : "C7 34 0D C4 D4 14 43 12 32 80 CF 23 52 A5 44 7A 
>>> 34 4D BF F6 F0 62 4D 1F AA 3D 73 85 EB 49 29 B8",
>>>   "cipher suites"       : "[TLS_AES_128_GCM_SHA256(0x1301), 
>>> TLS_AES_256_GCM_SHA384(0x1302)]",
>>>   "compression methods" : "00",
>>>   "extensions"          : [
>>>     "server_name (0)": {
>>>       type=host_name (0), value=www.google.com <http://www.google.com/>
>>>     },
>>>     "supported_groups (10)": {
>>>       "versions": [secp256r1, secp384r1, secp521r1, ffdhe2048, ffdhe3072, 
>>> ffdhe4096, ffdhe6144, ffdhe8192]
>>>     },
>>>     "signature_algorithms (13)": {
>>>       "signature schemes": [ecdsa_secp256r1_sha256, ecdsa_secp384r1_sha384, 
>>> ecdsa_secp521r1_sha512, rsa_pss_rsae_sha256, rsa_pss_rsae_sha384, 
>>> rsa_pss_rsae_sha512, rsa_pss_pss_sha256, rsa_pss_pss_sha384, 
>>> rsa_pss_pss_sha512, rsa_pkcs1_sha256, rsa_pkcs1_sha384, rsa_pkcs1_sha512, 
>>> ecdsa_sha1, rsa_pkcs1_sha1]
>>>     },
>>>     "signature_algorithms_cert (50)": {
>>>       "signature schemes": [ecdsa_secp256r1_sha256, ecdsa_secp384r1_sha384, 
>>> ecdsa_secp521r1_sha512, rsa_pss_rsae_sha256, rsa_pss_rsae_sha384, 
>>> rsa_pss_rsae_sha512, rsa_pss_pss_sha256, rsa_pss_pss_sha384, 
>>> rsa_pss_pss_sha512, rsa_pkcs1_sha256, rsa_pkcs1_sha384, rsa_pkcs1_sha512, 
>>> ecdsa_sha1, rsa_pkcs1_sha1]
>>>     },
>>>     "supported_versions (43)": {
>>>       "versions": [TLSv1.3]
>>>     },
>>>     "psk_key_exchange_modes (45)": {
>>>       "ke_modes": [psk_dhe_ke]
>>>     },
>>>     "key_share (51)": {
>>>       "client_shares": [  
>>>         {
>>>           "named group": secp256r1
>>>           "key_exchange": {
>>>             0000: 04 A4 C2 58 EF 8B 62 3D   47 C4 21 FE 7D 4A 85 2B  
>>> ...X..b=G.!..J.+
>>>             0010: AE 99 7D 3C 30 08 F4 00   F3 B0 A9 17 DE 0E B1 16  
>>> ...<0...........
>>>             0020: 0D 45 46 87 42 B0 83 68   FB 15 E9 79 D2 40 8C DA  
>>> .EF.B..h...y.@..
>>>             0030: 38 FF 76 52 1D 40 10 A0   BE 39 75 8B 79 F0 CD A1  
>>> 8.vR.@...9u.y <mailto:8.vR.@...9u.y>...
>>>             0040: E1 
>>>           }
>>>         },
>>>       ]
>>>     }
>>>   ]
>>> }
>>> )
>>> ...
>>> javax.net.ssl|FINE|01|main|2020-08-11 01:45:23.288 
>>> CEST|Logger.java:765|Received alert message (
>>> "Alert": {
>>>   "level"      : "fatal",
>>>   "description": "protocol_version"
>>> }
>>> )
>>> 
>>> 
>>> 
>>> Gruss
>>> Bernd

Reply via email to