On Sat, Oct 15, 2022 at 12:38:31PM -0400, Viktor Dukhovni wrote: > > > Any chance you could provide (off-list if you prefer) a PCAP recording > > > of a good and a problem TLS session? > > > > I'll send it off-list. > > Thanks. I hope that'll shed more light on what's going on.
The diff between the "good" and "bad" handshakes is below. The main features when tickets are enabled are: * A zero length server session id * The server confirms ticket extension support * The client just hangs up :-( The most likely issue is a Windows regression with zero length session ids. I don't think there's anything that can be done here, the client indicates support for session tickets, and since OpenSSL is then going to issue a ticket, it does not assign a session id even with the default setting (which you probably did not change): https://www.postfix.org/postconf.5.html#smtpd_tls_always_issue_session_ids smtpd_tls_always_issue_session_ids = yes Handshake diff: @@ -108,14 +108,13 @@ Server: Handshake Protocol: Server Hello Handshake Type: Server Hello (2) - Length: 85 + Length: 57 Version: TLS 1.2 (0x0303) Random: <...> - Session ID Length: 32 - Session ID: ce5485b1f15a265898a3e09db63d1e4e56b28bc5ac3cc2bccb0a5c7be4993cdc + Session ID Length: 0 Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (0xc02f) Compression Method: null (0) - Extensions Length: 13 + Extensions Length: 17 Extension: renegotiation_info (len=1) Type: renegotiation_info (65281) Length: 1 @@ -129,7 +128,12 @@ EC point format: uncompressed (0) EC point format: ansiX962_compressed_prime (1) EC point format: ansiX962_compressed_char2 (2) + Extension: session_ticket (len=0) + Type: session_ticket (35) + Length: 0 + Data (0 bytes) Handshake Protocol: Certificate Handshake Type: Certificate (11) @@ -495,15 +499,5 @@ Length: 0 Client: - Handshake Protocol: Client Key Exchange - Handshake Type: Client Key Exchange (16) - Length: 66 - EC Diffie-Hellman Client Params - Pubkey Length: 65 - Pubkey: <...> - Change Cipher Spec Message - Handshake Protocol: Encrypted Handshake Message - - Server: - Change Cipher Spec Message - Handshake Protocol: Encrypted Handshake Message + Transmission Control Protocol, Src Port: 57257, Dst Port: 587, Seq: 202, Ack: 4636, Len: 0 + Flags: 0x011 (FIN, ACK) -- Viktor.