Openssl TLSv1.3 ciphers failing during handshake

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Openssl team,

 

We were in a process of integrating openssl3 with our application in RHEL8, during which we came across below issue.

Our app will initiate a secure connection between a client(Linux-RHEL8) and server(Windows) which are having openssl versions 1.1.1k and 3.0.8 on them respectively.

 

Observations done during testing:

1). Client is able to make a connection with server when security level is set to zero but connection is made with the lower TLSv1 cipher suite(ECDHE-RSA-AES256-SHA). But we want to go with higher version protocol i.e. TLSv1.3

2). When we are trying to force it with SSL_CTX_set_ciphersuites () to use higher version TLSv1.3 cipher(TLS_CHACHA20_POLY1305_SHA256) then below errors are observed in logs.

Client log:

07/03 07:01:52| 1 SSL_connect failed with error ^M

139821832050432:error:141A90B5:SSL routines:ssl_cipher_list_to_bytes:no ciphers available:ssl/statem/statem_clnt.c:3802:No ciphers enabled for max supported SSL/TLS version

Server log:

07/03 07:01:52:674| 1 SSL_accept failed with error Remotehost: lsvrd13086.

F41A0000:error:0A0000F4:SSL routines:ssl3_read_bytes:unexpected message:ssl\record\rec_layer_s3.c:1542

3). Interesting is, the same combination i.e client(Openssl 1.1.1k) and server(Openssl 3.0.8) is working perfectly fine with higher protocol version TLSv1.3 when both client and server are windows.

 

Question:

Any known issues specifically on linux environment where RHEL8 is not able to provide TLSv1.3 ciphers while handshake between client and server?

 

  1. Although TLSv1.3 ciphers are available for use in RHEL8, our query is why they are not provided for handshake between client and a server?

#test# [cleint: ~] $ openssl ciphers -s -v ALL

TLS_AES_256_GCM_SHA384  TLSv1.3 Kx=any      Au=any  Enc=AESGCM(256) Mac=AEAD

TLS_CHACHA20_POLY1305_SHA256 TLSv1.3 Kx=any      Au=any  Enc=CHACHA20/POLY1305(256) Mac=AEAD

TLS_AES_128_GCM_SHA256  TLSv1.3 Kx=any      Au=any  Enc=AESGCM(128) Mac=AEAD

TLS_AES_128_CCM_SHA256  TLSv1.3 Kx=any      Au=any  Enc=AESCCM(128) Mac=AEAD

 

  1. We have already tried below things on our end.
  1. Updated openssl.cnf as below:

openssl_conf = default_modules

 

[ default_modules ]

ssl_conf = ssl_module

 

[ ssl_module ]

system_default = system_default_sect

 

[system_default_sect]

MinProtocol = TLSv1.3

CipherString = CHACHA20@SECLEVEL=0

Ciphersuites = TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256

Options = ServerPreference,PrioritizeChaCha

 

 

  1. Forcing TLSv1.3 ciphers through code as below,

const char *cipher_list = "TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256";

SSL_CTX_set_cipher_list(pCtx, "");

SSL_CTX_set_ciphersuites(pCtx, cipher_list);

 

 

It would be great help if anyone has any idea with respect to above issue. Thanks in advance!

 

 

Thanks,

Kirtikumar


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux