Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

openssl 3.0.0 disconnecting unexpectedly #556

Open
hspem opened this issue Oct 20, 2022 · 0 comments
Open

openssl 3.0.0 disconnecting unexpectedly #556

hspem opened this issue Oct 20, 2022 · 0 comments

Comments

@hspem
Copy link

hspem commented Oct 20, 2022

We have a server using openssl 3.0.3 (i.e. written i C).

This has worked with all kinds of different clients (ruby, C, java...) without any problem... except now, with the latest ruby gem, openssl 3.0.0.

The behavior is odd: It successfully connects, and exchanges a request and response, and then it seems the client just disconnects (from the server's perspective; there's no difference in the server openssl debug output from a normal disconnect, it just happens prematurely).

We have pin-pointed the problem to the transition from ruby 3.0.4 to 3.1.0:

This works:
ruby 3.0.4p208 (2022-04-12 revision 3fa771dded) [x86_64-linux]
openssl-2.2.1 OR 3.0.0

This does not work:
ruby 3.1.0p0 (2021-12-25 revision fb4df44d16) [x86_64-linux]
openssl-2.2.1 OR 3.0.0

As seen, it apparently depends on the ruby version. Both gems have
OpenSSL::OPENSSL_VERSION => "OpenSSL 1.1.1k FIPS 25 Mar 2021"

The same problem remains in ruby 3.1.2 (which has the same gem as 3.1.0). This was tested on AlmaLinux 8.4 (i.e. Redhat 8.4).

The client doesn't do anything special, it's using a CA certificate and a p12, and sets ssl_version = :TLSv1_2, connecting with Net::HTTP.new. (And as mention, the connection works, it just drops it, I think when it attempts to read the first response.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

1 participant