<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">2018-06-20 17:01 GMT+08:00 Matt Caswell <span dir="ltr"><<a href="mailto:matt@openssl.org" target="_blank">matt@openssl.org</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-"><br>
<br>
On 20/06/18 07:11, John Jiang wrote:<br>
> 2018-06-19 6:21 GMT+08:00 Matt Caswell <<a href="mailto:matt@openssl.org">matt@openssl.org</a><br>
</span>> <mailto:<a href="mailto:matt@openssl.org">matt@openssl.org</a>>>:<br>
<span class="gmail-">> <br>
> <br>
> <br>
>     On 18/06/18 21:23, Hubert Kario wrote:<br>
>     > On Friday, 8 June 2018 10:26:07 CEST Matt Caswell wrote:<br>
>     >> On 08/06/18 02:48, John Jiang wrote:<br>
>     >>> Is it possible to check Key/IV update feature via these tools?<br>
>     >>> Thanks!<br>
>     >><br>
>     >> Yes. See the "CONNECTED COMMANDS" sections of these pages:<br>
>     >> <a href="https://www.openssl.org/docs/manmaster/man1/s_server.html" rel="noreferrer" target="_blank">https://www.openssl.org/docs/<wbr>manmaster/man1/s_server.html</a><br>
</span>>     <<a href="https://www.openssl.org/docs/manmaster/man1/s_server.html" rel="noreferrer" target="_blank">https://www.openssl.org/docs/<wbr>manmaster/man1/s_server.html</a>><br>
>     >> <a href="https://www.openssl.org/docs/manmaster/man1/s_client.html" rel="noreferrer" target="_blank">https://www.openssl.org/docs/<wbr>manmaster/man1/s_client.html</a><br>
<span class="gmail-">>     <<a href="https://www.openssl.org/docs/manmaster/man1/s_client.html" rel="noreferrer" target="_blank">https://www.openssl.org/docs/<wbr>manmaster/man1/s_client.html</a>><br>
>     >><br>
>     >> Basically typing "k" or "K" from an s_server/s_client session will issue<br>
>     >> a KeyUpdate message. Using the capitalised form ("K"), additionally<br>
>     >> requests a KeyUpdate from the peer.<br>
>     > <br>
>     > Are there similar commands to perform or control post-handshake client <br>
>     > authentication?<br>
> <br>
>     Yes. As mentioned on the above s_server link, type "c" from an s_server<br>
>     session to send a certificate request to the client.<br>
> <br>
> With the mentioned pages, I don't get how to test 0-RTT.<br>
> But it sounds that OpenSSL already supports this feature.<br>
<br>
</span>It is on those pages - just not in the "CONNECTED COMMANDS" section.<br>
<br>
To test 0-RTT early data start s_server with the "-early_data" flag:<br>
<br>
$ openssl s_server -early_data<br>
<br>
Obtain a session that can later be used for sending early data:<br>
<span class="gmail-"><br>
$ openssl s_client -sess_out session.pem<br>
<br>
</span>Type "Q" in the s_client window to close the connection. Now you can do<br>
a 0-RTT handshake and send early data (assuming the existence of a file<br>
"myearlydata.dat" containing the early data you want to send):<br>
<br>
$ openssl s_client -sess_in session.pem -early_data myearlydata.dat<br>
<span class="gmail-HOEnZb"><font color="#888888"><br></font></span></blockquote>If s_server doesn't use option -early_data, the NewSessionTicket won't contain early_data extension,<br></div><div class="gmail_quote">and then in the second connection, s_client won't send early data even option -early_data is used.<br></div><div class="gmail_quote">Right?<br></div><div class="gmail_quote">Is it possible to take s_client to send early data, even though the server don't support 0-RTT.<br></div></div></div>