-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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 1.1 support in .NET Core 2.1 #28079
Comments
I did a backport of the OpenSSL 1.1 to .NET Core 2.1 here: https://github.com/omajid/corefx/commits/openssl-1.1. It seems to work on RHEL 8, but I have not done extensive tests. This was based on dotnet/corefx#30807. |
cc: @bartonjs |
dotnet/corefx#32006 and dotnet/corefx#32483 are what we'd backport (though we'd have to decide if we want to leave 1.1.x as preferred, or move it to fallback... wouldn't matter for RHEL since as a distro you should be building direct instead of portable). It's something we've discussed internally, but the feeling was "definitely not before even a preview of 3.0 is out". That event is, of course, now in the past. |
Would it make sense to backport the OpenSSL 1.1 changes to both 2.2 and 2.1? Also, would you prefer a focused backport? That is, we just essentially cherry-pick dotnet/corefx#32006 and dotnet/corefx#32483? Or would you prefer that we try and backport the additional changes that were made to master that dotnet/corefx#32006 depends on (aside from the C++ to C changes)? I think there's a few that dotnet/corefx#30807 links to. |
The focused backport; just those two PRs cherry-picked (or, if it's across the C++ -> C transition, cherry-ported might be more appropriate). If other things are required for structure reasons, then backporting those things seems better than inventing a new solution... but I guess that's a case-by-case thing. (I don't see much, aside from the C++ to C change) |
In contrast:
Removing exports, and depending on new exports, has some complexity cases around the execution and deployment models, so they should really be avoided in servicing. Changing the managed code to no longer call exports is fine, but they should just hang around as unused code. |
It appears this is also affecting Alpine3.9 as well which was recently released and supports libssl1.1. The 2.1 support matrix includes Alpine 3.7+.
|
@MichaelSimons dotnet/corefx#34443 should fix this. Is there any way you can try out that PR on alpine 3.9 to verify that it works? |
This is also a problem on Debian 10, which likewise doesn't ship libssl 1.0 anymore, so vsts universal package downloads do not work as ArtifactTool uses System.Security.Cryptography.Native.OpenSsl.so. Any ETA on when a new build of the 2.1.x core libraries will be available with this fix? Thanks! |
dotnet/corefx#34443 has the |
Thanks, yes I've managed to build it locally as well, and dropping the updated shared library in vsts' directory works. |
@bartonjs, should we close this issue now? |
@omajid Yep, good call 😄 |
RHEL 8 does not include OpenSSL 1.0. It only includes OpenSSL 1.1. .NET Core 2.1 (the current LTS release) does not work on RHEL 8 because of this.
(.NET Core 3.0, which support both OpenSSL 1.0 and 1.1 should work just fine.)
The text was updated successfully, but these errors were encountered: