-
Notifications
You must be signed in to change notification settings - Fork 283
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
make OpenSSL aware of host CA certs #2674
Comments
Additional info: we found out that this only happens when openssl easyblock doesn't find openssl headers on host and decides to build openssl from source. In this case variable OPENSSLDIR points to installdir/ssl instead of proper host location in /etc. |
@lexming I think you were involved in this discussion, anything to fix here in the OpenSSL wrapper easyblock? |
1 - If the wrapper easyblock finds libraries and engines of the required version but not the include files, the first option should be to error out and ask the user to get the corresponding development package installed. Of course we need an option to go ahead and install from source anyway in case sysadmins refuse. If there is NO openssl version installed then the system is almost guaranteed to be broken and we should inform the users they need to specify the path to the systems ca-certs. I.e. the ca-certs package must be installed on the OS level, always. |
This is indeed only an issue whenever OpenSSL is built from source by EB. Regardless if it is built by the wrapper or a regular OpenSSL easyconfig. Certificates are not part of OpenSSL sources. If OpenSSL in the host is successfully wrapped by EB, the path to the certificates in the system will be known by OpenSSL. The path in Making the build of OpenSSL aware of any certificates in the host system is not trivial. The certificates may or may not be installed and the path to the certificates is distro dependent (eg Cases where we the wrapper will build OpenSSL from source but we could still have a working
|
Actually /etc/ssl/certs work on both RHEL and Debian :-) the magic of symlinks |
|
I ran into the same issue, as I reported for the easyconfig of OpenSSL at: easybuilders/easybuild-easyconfigs#14901 OpenSSL does indeed not come with certificates and depends on the certificates on the host installed with the OS. The documentation on the location of the certificates in the openssl build instructions is very sketchy, as the path of the certificates obtained from Setting --openssldir (as is done in the spec file for rpms) may not be possible, as the install step seems to try to install stuff into that system path, which easybuild should not be allowed to do. In my current EasyBuild based OpenSSL/1.1 installation the path contains additional files and folders installed by the EasyBuild OpenSSL installation, so I assume it will try to do so. And there is still the issue of how to obtain the system certificate path. This could be indeed by done using an existing openssl, which a system should have anyway. This requirement could be put in the |
While developing a PythonBundle eb I came across a situation where one of the entries in exts_lists was trying to fetch additional dependencies from pypi.org. This was failing on
[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate
. Looking at strace of what was going on I got the impression that eb installed OpenSSL is looking into itsssl/certs
folder for CA certificates, which is empty. It appears as if it is looking for cert hashes and not even considering ca-bundle.crt and similar.I'm not familiar enough with inner workings of OpenSSL to come up with a solution, but it looks like it will differ slightly between distributions.
The text was updated successfully, but these errors were encountered: