TLSv1.0 on OpenSSL 3.0-API

Yuko Doki (Fujitsu) doki.yuko at fujitsu.com
Mon Apr 8 02:57:34 UTC 2024


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