<div dir="ltr"><div>Thanks for the quick response Matt.</div><div><br></div><div>My command was :</div><div><span style="color:rgb(80,0,80)">openssl s_client -connect 10.29.20.26 -cipher ECDHE-RSA-AES128-SHA -tls1_2.</span><br></div><div>I did not realise that "2" was not copied. <br></div><div><br></div><div>I am trying to implement combined algo support on our engine.</div><div>I am using the openssl s_server and s_client apps to validate my implementation.</div><div>The combined algo that i am looking to implement is AES128/256 and SHA1.</div><div>Its clear that i should always use tls version less than 1.3 otherwise GCM ciphers are used.</div><div><br></div><div>What cipher suites can i use to validate the above combination of combined algo?</div><div>Which tls versions support which cipher suites?</div><div>Should i be doing "encrypt-then-mac" or "mac-then-encrypt" in my implementation?</div><div>Does the cipher suite decide this?</div><div>If yes, what are the ciphers which do "encrypt-then-mac" and what ciphers to "mac-then-encrypt"?</div><div><br></div><div>Thanks in advance.</div><div><br></div><div>Regards</div><div>Phani</div><div><br></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Feb 25, 2020 at 10:31 AM Matt Caswell <<a href="mailto:matt@openssl.org">matt@openssl.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
<br>
On 24/02/2020 13:04, Phani 2004 wrote:<br>
> Hi Team,<br>
> <br>
> "aes_cbc_hmac_sha1" implementation is currently supported on x86<br>
> platforms only.<br>
> With which RFC is this compliant with?<br>
> This cipher is only used when the "encrypt then mac" option is disabled.<br>
> Is this understanding correct. I am using openssl s_server and s_client<br>
> is i use the below command on client side.<br>
> <br>
> openssl s_client -connect 10.29.20.26 -cipher ECDHE-RSA-AES128-SHA -tls1_<br>
> <br>
> Is this correct?<br>
> I have following queries:<br>
> <br>
>  1. With which RFC is the current aes_cbc_hmac_sha1 implementation<br>
>     compliant with?<br>
<br>
Its a cipher used by AES128 and HMAC-SHA1 based ciphersuites compliant<br>
with TLSv1.2 (RFC5246) and earlier TLS protocol versions.<br>
<br>
>  2. It always does "mac then encrypt". Infact this cipher is invoked<br>
>     only when "encrypt then mac" flag is disabled. Is this correct?<br>
<br>
Correct. We always try to do encrypt-then-mac by default so s_client<br>
talking to s_server from the same OpenSSL version should never use this<br>
ciphersuuite<br>
<br>
>  3. Is the cipher i used in above s_client command correct?<br>
> <br>
<br>
openssl s_client -connect 10.29.20.26 -cipher ECDHE-RSA-AES128-SHA -tls1_<br>
<br>
The "-tls_" on the end is incorrect - that's not a valid flag. Perhaps<br>
you meant "-no_tls1_3" which would be fine. That's still not sufficient<br>
to guarantee usage of the aes_cbc_hmac_sha1 cipher though because<br>
Encrypt-then-mac will always be preferred.<br>
<br>
I don't think there is a command line option to s_client to force that<br>
off, although you can do it through a config file using the<br>
"EncryptThenMac" option.<br>
<br>
Matt<br>
<br>
<br>
> Thanks in advance.<br>
> <br>
> Regards<br>
> Phani<br>
</blockquote></div></div>