-
Notifications
You must be signed in to change notification settings - Fork 172
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
Windows mswin build - failures on OpenSSL::TestSSL#test_add_certificate_chain_file* #318
Comments
Thanks. That seems odd. Can we get this in CI? |
Working on it. Soon. You'll be the first to use it. |
I verified that the error is being raised from the call to: OpenSSL::SSL::SSLContext#add_certificate_chain_file That's about as far as I can take the issue. I can build & test locally, so happy to try any ideas... EDIT: This issue may be caused by the particular OpenSSL build used on Actions, as the ruby/ruby AppVeyor mswin build is passing. I'll see if I can check into it. I may build the package myself and see if it works. |
Re the issue with 2.2.0 and mswin (mingw is ok), the problem (as mentioned above) is the method:
For the time being, this needs to not be added in mswin builds. The method calls:
Which in mswin/msvc builds, looks for a an export (OPENSSL_Applink) from the running exe file (ruby.exe). Note that the export is only needed for mswin builds, not mingw or any other OS. I'm not strong c type, but I'll see if I can get a response from openssl/openssl about options for this issue. I've verified what I can with both the OpenSSL package used for building on Actions and a locally built one. |
We had the same issue before in #128. OpenSSL has the UPLINK interface in order to support a weird environment where two different versions of MSVC are mixed in runtime - a FILE provided by us might not be usable by fread() function OpenSSL has linked with. (Although I didn't test it locally,) I think the error is coming from PEM_read_PrivateKey() and PEM_read_X509(), where we give a FILE * to check the consistency between the certificate and the private key. I suspect the cleanest the way to fix this is to implement #288 separately, and replace SSLContext#add_certificate_chain_file with something like
|
Glad to see you're still around. OpenSSL is complicated, and I'm very c challenged.
If it's helpful, I've got master builds done three times a day, the release is: The builds are self-contained, manifested dll's, etc... mswin: mingw: EDIT: Re the mswin build, the msvc OpenSSL version that its building with expects
|
Resolved... |
Testing with reasonably new mswin build locally, the only errors seem to be the following, both in in
test/test_ssl.rb
:both generate an error of:
OPENSSL_Uplink(00007FF994925B70,08): no OPENSSL_Applink
Does the following have any helpful info?
https://github.com/openssl/openssl/blob/4746f25ac62e5bbdc07eedcec9c9a27547577141/doc/man3/OPENSSL_Applink.pod
The text was updated successfully, but these errors were encountered: