Program works with older libssl, but not with newer
Jan Just Keijser
janjust at nikhef.nl
Wed Apr 1 07:45:45 UTC 2020
Hi,
On 31/03/20 19:42, Viktor Dukhovni wrote:
> On Tue, Mar 31, 2020 at 04:51:32PM +0200, Christoph Pleger wrote:
>
>>>> I have here a self-written server program and the corresponding
>>>> self-written client program. These run well together with libssl 1.1.0l,
>>>> but with libssl 1.1.1d, the same programs give errors SSL_ERROR_SYSCALL
>>>> in SSL_read(), no matter if I recompile the programs and then run them,
>>>> or just replace libssl with the newer version.
>>> OpenSSL 1.1.1 supports TLS 1.3, which OpenSSL 1.1.0 did not.
>>>
>>>> So, I want to ask if there are any known incompabilities in the libssl
>>>> versions that require me to change the code of the programs, or if there
>>>> is
>>>> any known bug in libssl1.1.1d that may cause the mentioned errors.
>>> Use of TLS 1.3 changes the communication patterns of the TLS protocol in
>>> some non-trivial ways, and, if your application were fragile, it might
>>> have gotten by with TLS 1.2, but the latent bugs could show up with TLS
>>> 1.3.
>> Now, I replaced TLS_server_method() and TLS_client_method() with
>> TLSv1_2_server_method() and TLSv1_2_client_method() respectively, and the same
>> error occurs.
> Well, in that case, you need to provide more detail. Does the handshake
> complete? If not, at what stage does it fail?
>
> A PCAP file may be needed. And you need to explain what operation
> fails with SSL_ERROR_SYSCALL, and do an "strace" or equivalent to
> understand what the relevant socket read calls returned.
>
on a related note: I am experiencing similar problems with my ppp
EAP-TLS patch ; I now that EAP-TLS + TLSv1.3 is experimental but I do
notice that the entire handshake seems to differ for TLSv1.3 versus
TLSv1.2 ; as a workaround I am adding
SSL_CTX_set_max_proto_version(ctx, TLS1_2_VERSION);
to my code to avoid a TLSv1.3 handshake. I am not sure yet why and where
it is failing, but it seems the client is not sending its certificate
chain to the server. I am positive it is a programming error on my side
but I will say that this problem is particularly hard to track down.
JM2CW,
JJK / Jan Just Keijser
More information about the openssl-users
mailing list