oneclick / rubyinstaller2

MSYS2 based RubyInstaller for Windows
https://rubyinstaller.org
BSD 3-Clause "New" or "Revised" License
644 stars 248 forks source link

Need to install pre-built ruby with openssl that has fips mode enabled #382

Open Vishal1309 opened 1 month ago

Vishal1309 commented 1 month ago

What problems are you experiencing?

I wanted to use rubyinstaller to install pre-built ruby with comes with openssl that has fips mode enabled - preferably openssl 3.0.13.

However I can't seem to find the same - can anyone please help out?

Vishal1309 commented 1 month ago

hey @larskanis @junaruga @MSP-Greg , can one of you guys give me some direction on the same please?

junaruga commented 1 month ago

I am not sure about this repository. However, if the program installs the OpenSSL, just run the OpenSSL's configure script with enable-fips option, the option gives users an option to enable FIPS in OpenSSL. Please note that a proper OpenSSL config file is necessary to load the FIPS provider.

https://github.com/openssl/openssl/blob/master/INSTALL.md#enable-fips

MSP-Greg commented 1 month ago

@junaruga

JFYI, the MSYS2 script (and the config section) is here: https://github.com/msys2/MINGW-packages/blob/master/mingw-w64-openssl/PKGBUILD#L88

MSYS2 is used for all the standard publicly available Windows Rubies. One can also build Rubies with MSFT tooling, which are known as 'mswin' builds, which use packages from https://github.com/Microsoft/vcpkg.

@Vishal1309

As above, the standard MSYS2 OpenSSL package isn't built with enable-fips. You would need to build the OpenSSL package locally, then build Ruby with it.

Vishal1309 commented 1 month ago

@MSP-Greg , Can you suggest a way I can use the CI pipelines of this project, but along with the changes I need to make for my use case?

Here's what I want to accomplish: I want to make some changes to this repository and the rubyinstaller-packages repository, and then use the CI in this and the rubyinstaller2-packages repo to generate a exe package for myself.

I tried forking both the repositories - but here are the problems that I faced: