TLSv1.0 on OpenSSL 3.0-API (looking for answers)

Yuko Doki (Fujitsu) doki.yuko at fujitsu.com
Fri Apr 19 01:27:26 UTC 2024


Hello OpenSSL users' community,
I still haven't been able to solve the problem of TLS1.0 and LS1.1 connection error with OpenSSL3.0. 
If anyone knows a solution, please advise.

I will explain the problem again.
----
I am developing an application using the OpenSSL 3.0 API library.
When I tested the connection using TLSv1.0 and TLSv1.1, I got a handshake error.
Successful with TLS1.2 and TLS1.3.

I got some advice here, so I set "DEFAULT:@SECLEVEL=0" or "ALL:@SECLEVEL=0"
 to the argument string of SSL_CTX_set_cipher_list() and tried connecting. 
However, the following error occurred again.

 [client side error]
    error:0A000438:SSL routines::tlsv1 alert internal error
    (detail: ssl/statem/statem_srvr.c line 2684 - do_sigver_init())

 [server side error]
    error:03000098:digital envelope routines::invalid digest
    (detail: crypto/evp/m_sigver.c line 343 - tls_construct_server_key_exchange())
    error:0A0C0103:SSL routines::internal error
    (detail: ssl/record/rec_layer_s3.c line 1600 - ssl3_read_bytes())
----

Any advice would be greatly appreciated.

Kind regards,
Yuko Doki

-----Original Message-----
From: openssl-users <openssl-users-bounces at openssl.org> On Behalf Of Yuko Doki (Fujitsu) via openssl-users
Sent: Thursday, April 11, 2024 3:41 PM
To: 'Tomas Mraz' <tomas at openssl.org>; openssl-users at openssl.org
Subject: RE: TLSv1.0 on OpenSSL 3.0-API

Hello OpenSSL users' community,
I still haven't been able to resolve the issue.

After that, I tried some additional cipher strings, but I got the same error.
The string I tried this time is as follows.
  "ALL:@SECLEVEL=0"
  "ECDHE-RSA-AES256-SHA:@SECLEVEL=0"

I would appreciate any further advice.

Kind regards,
Yuko Doki

-----Original Message-----
From: openssl-users <openssl-users-bounces at openssl.org> On Behalf Of Yuko Doki (Fujitsu) via openssl-users
Sent: Monday, April 8, 2024 11:58 AM
To: 'Tomas Mraz' <tomas at openssl.org>; openssl-users at openssl.org
Subject: RE: TLSv1.0 on OpenSSL 3.0-API

Thank you for your advice, Thomas.

I added "@SECLEVEL=0" to the cipher string and tried.
But I got a handshake error again.
Note: I did not try SSL_CTX_set_security_level() to avoid changing the applications sources.

The errors are as follows.
[client side]
    error:0A000438:SSL routines::tlsv1 alert internal error
    (detail: ssl/statem/statem_srvr.c line 2684 - do_sigver_init())
[server side]
    error:03000098:digital envelope routines::invalid digest
    (detail: crypto/evp/m_sigver.c line 343 - tls_construct_server_key_exchange())
    error:0A0C0103:SSL routines::internal error
    (detail: ssl/record/rec_layer_s3.c line 1600 - ssl3_read_bytes())

The implementation for setting protocol version and cipher is as follows.
     SSL_CTX_set_min_proto_version(ctx, TLS1_VERSION);
     SSL_CTX_set_max_proto_version(ctx, TLS1_1_VERSION);
     SSL_CTX_set_cipher_list(ctx, "DEFAULT:@SECLEVEL=0");

Could you please tell me what is the problem and how to fix it?

Kind regards,
Yuko Doki

-----Original Message-----
From: Tomas Mraz <tomas at openssl.org> 
Sent: Friday, April 5, 2024 3:47 PM
To: Doki, Yuko/道木 裕子 <doki.yuko at fujitsu.com>; openssl-users at openssl.org
Subject: Re: TLSv1.0 on OpenSSL 3.0-API

These versions require SHA1 to operate. However security bits for this algorithm was downgraded due to the known weaknesses and collision attacks. For that reason you have to use @SECLEVEL=0 in the cipher string or call SSL_CTX_set_security_level() to make TLS-1.0 and 1.1 work.
https://www.openssl.org/docs/manmaster/man3/SSL_CTX_set_security_level.html


Regards,

Tomas Mraz, OpenSSL

On Fri, 2024-04-05 at 05:55 +0000, Yuko Doki (Fujitsu) via openssl- users wrote:
> Hello OpenSSL users' community,
> This is my first time posting.
> 
> I am developing an application using the OpenSSL API library.
> And now I'm trying to migrate from OpenSSL 1.1.1 to 3.0.
> 
> The application supports TLS protocol versions from TLSv1.0 to 1.3, 
> but with OpenSSL 3.0, TLSv1.0 and TLSv1.1 resulted in a handshake 
> error.
> 
> The errors are as follows.
> [client side]
>   error:0A000438:SSL routines::tlsv1 alert internal error [server 
> side]
>   error:0A000076:SSL routines::no suitable signature algorithm
> 
> The TLS protocol version is set using the following functions.
>   SSL_CTX_set_min_proto_version()
>   SSL_CTX_set_max_proto_version()
> No cipher suite is set. (Automatically selected by OpenSSL.)
> 
> This implementation worked fine with OpenSSL 1.1.1. 
> Is OpenSSL 3.0 not supporting these protocol versions?
> I would appreciate any advice on how to use TLSv1.0 or TLSv1.1 with 
> OpenSSL 3.0.
> 
> In addition, the operating environment is as follows.
> OS: Red Hat Enterprise Linux release 9.3 OpenSSL : OpenSSL 3.0.7 1 Nov 
> 2022 (Library: OpenSSL 3.0.7 1 Nov
> 2022)
> 
> Kind regards,
> Yuko Doki
> 

--
Tomáš Mráz, OpenSSL



More information about the openssl-users mailing list