A question for TLS implementation owners:  During the discussion of the TLS 1.2 
portion of https://tools.ietf.org/html/draft-thomson-http2-client-certs-00, it 
was pointed out that HTTP/2 breaks a simplification of the HTTP-TLS interface 
that some implementations may have assumed.

Since HTTP/1.1 only has one request per connection and that request is waiting 
on the client certificate to be retrieved via renegotiation, you can assume 
that the client will not send any application data between the new ClientHello 
and sending the Finished message.  ("...it is expected that the negotiation 
will begin before no more than a few records are received from the client.")  
Likewise, the server will not emit any application data between sending the 
HelloRequest and sending its own Finished message.  Since HTTP/2 will have 
other requests being generated and served in parallel, this is no longer the 
case.  Per the TLS 1.2 spec, that's permitted, but if it's not been done 
before, I'm afraid we may be hitting less-tested code paths.

I know that BoringSSL<https://www.imperialviolet.org/2015/10/17/boringssl.html> 
explicitly requires that application data flow be stopped during renegotiation. 
 If the HTTP working group adopts this draft, do the owners of other TLS 
implementations expect this to require changes in their TLS 1.2 implementations?
_______________________________________________
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls

Reply via email to