[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[users@httpd] Difficulties with testing TLS 1.3



Hello Apache folks :

    So the process of testing TLS 1.3 shouldn't be black magic but here
I am wondering what is wrong. I have a beta site up running Apache trunk
build and OpenSSL 1.1.1-pre7 ( the latest atm ) and everything seems to
be just fine.  I have Mozilla beta browser with security.tls.* settings
ready to handle TLS 1.3 and I can reach, render and see the test site at
https://tls13.crypto.mozilla.org/ just fine. It claims TLS 1.3 (draft
28) using NSS whereas my site https://beta.tls13.net can not be "seen"
via the same browser. The openssl s_client has no issues contacting both
sites and in both cases I do see TLS 1.3 protocol as supported however
cipher suite ( see https://wiki.mozilla.org/Security/Server_Side_TLS )
may be the issue. Not sure.

Here is what I see when using "s_client" to access the mozilla site :

$ openssl s_client -connect tls13.crypto.mozilla.org:443 -tls1_3
CONNECTED(00000003)
depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
verify return:1
depth=0 CN = tls13.crypto.mozilla.org
verify return:1
---
Certificate chain
 0 s:CN = tls13.crypto.mozilla.org
   i:C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
 1 s:C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
   i:O = Digital Signature Trust Co., CN = DST Root CA X3
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIFEzCCA/ugAwIBAgISBPOVEnB/CqyqLondZWg55Uz8MA0GCSqGSIb3DQEBCwUA
.
.<snip>
.
Ad+yYggR2Q==
-----END CERTIFICATE-----
subject=CN = tls13.crypto.mozilla.org

issuer=C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3

---
No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: RSA-PSS
Server Temp Key: X25519, 253 bits
---
SSL handshake has read 2974 bytes and written 316 bytes
Verification: OK
---
New, TLSv1.3, Cipher is TLS_AES_128_GCM_SHA256
Server public key is 2048 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
SSL-Session:
    Protocol  : TLSv1.3
    Cipher    : TLS_AES_128_GCM_SHA256
    Session-ID:
    Session-ID-ctx:
Master-Key: 7A97B0747961C13DDF4A533C8174262F9500157007EED04A98B5BCAA314D56A5
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1529024212
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: no
---
read R BLOCK
GET
HTTP/1.1 400 Bad Request
Date: Fri, 15 Jun 2018 00:57:36 GMT
Server: Apache
Strict-Transport-Security: max-age=63072000; includeSubdomains;
Content-Length: 226
Connection: close
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
</p>
</body></html>
closed
tls13 $


All looks fine. The nice 400 error message is very okay.


The exact same thing to my test trunk Apache server claims odd
results :


$ openssl s_client -connect beta.tls13.net:443 -tls1_3
CONNECTED(00000003)
depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
verify return:1
depth=0 CN = *.tls13.net
verify return:1
---
Certificate chain
 0 s:CN = *.tls13.net
   i:C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
 1 s:C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
   i:O = Digital Signature Trust Co., CN = DST Root CA X3
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIGAjCCBOqgAwIBAgISA3lbcjYuS0tUnszwWevJIyQaMA0GCSqGSIb3DQEBCwUA
.
.<snip>
.
PrK8bh7S
-----END CERTIFICATE-----
subject=CN = *.tls13.net

issuer=C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3

---
No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: RSA-PSS
Server Temp Key: X25519, 253 bits
---
SSL handshake has read 3281 bytes and written 322 bytes
Verification: OK
---
New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384
Server public key is 2048 bit
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
SSL-Session:
    Protocol  : TLSv1.3
    Cipher    : TLS_AES_256_GCM_SHA384
    Session-ID:
    Session-ID-ctx:
Master-Key: 42F400653B4C20603D96D1180E345439B941F696160A0B7BD7FF23077A111A1A899A6A43BCEE6172D00641597111FF39
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    Start Time: 1529024399
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: no
---
read:errno=0
$


Well other than cipher what is the difference here ?  Nothing obvious.

The ssl error_log ( set at level debug ) isn't helping here :


[Fri Jun 15 00:59:59.753533 2018] [ssl:info] [pid 2250:tid 27] [client 68.179.116.201:34466] AH01964: Connection to child 152 established (server beta.tls13.net:443)

[Fri Jun 15 00:59:59.755714 2018] [ssl:debug] [pid 2250:tid 27] ssl_engine_kernel.c(2297): [client 68.179.116.201:34466] AH02043: SSL virtual host for servername beta.tls13.net found

[Fri Jun 15 00:59:59.788701 2018] [ssl:debug] [pid 2250:tid 27] ssl_engine_kernel.c(2222): [client 68.179.116.201:34466] AH02041: Protocol: TLSv1.3, Cipher: TLS_AES_256_GCM_SHA384 (256/256 bits)

[Fri Jun 15 00:59:59.788742 2018] [ssl:error] [pid 2250:tid 27] [client 68.179.116.201:34466] AH02042: rejecting client initiated renegotiation

[Fri Jun 15 00:59:59.789151 2018] [ssl:debug] [pid 2250:tid 27] ssl_engine_io.c(1400): (130)Software caused connection abort: [client 68.179.116.201:34466] AH02007: SSL handshake interrupted by system [Hint: Stop button pressed in browser?!]

[Fri Jun 15 00:59:59.789341 2018] [ssl:info] [pid 2250:tid 27] [client 68.179.116.201:34466] AH01998: Connection closed to child 152 with abortive shutdown (server beta.tls13.net:443)
beta #


Weird.


Any thoughts would be greatly appreciated.


Dennis























---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx
For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx