You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by Hari venkata ramana <ha...@gmail.com> on 2023/03/17 14:45:10 UTC

Query on cipher setting on thrift sockets TSSLSocketFactory

Hi

We are running a thrift server TThreadPoolServer and we have a problem when
we set the strong ciphers to TSSLSocketFactory.

When we set the following to TSSLSocketFactory::ciphers(string ciphers)

ciphers =
kEECDH:kEDH:kRSA:!kPSK:!aPSK:!aDSS:!aNULL:!NULL:!SEED:!3DES:!MD5:!RC4:!CAMELLIA:!SSLv3

we could see that openssl clients always uses one of following ciphers to
negotiate with the server:

AES128-SHA256 AES128-GCM-SHA256 AES256-SHA256

When we set the following:

cipher = ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384

and use openssl client, the handshake fails with alert and reason 40

We understand that choice of selection of cipher by the server depends on
the key exchange algorithm defined in the SSL certificates installed on the
server. Our server has certificates using RSA and so we expect that in the
second case above the server should finish the handshake with cipher
ECDHE-RSA-AES256-SHA384. However we dont see this is happening.

Questions:

1.      We are using thrift 0.14.0..Any known limitation with this version
of thrift?

2.      Does thrift support Diffie Hellman ciphers for TLS?

3.      How do we debug more on why the handshake is failing?



Any pointers here would be helpful.

We want to set strong ciphers like ECDHE-RSA-AES256-SHA384 to the SSL
interface on server and have the openssl clients connect with that cipher
and a successful handshake with our server.



Thanks

Hari