'How to tell OpenSSL 3.0.2 to load a specific fips.dll?

When loading the fips.dll, it's currently loading the DLL from this crazy build location:

C:\Users\John\.conan\data\openssl\3.0.2\_\_\package\c89f702a343c78ef949c71865ebdfc637541b638\lib\ossl-modules\fips.dll

However, I copied fips.dll to another folder and would like to have it load this one

C:\Program Files\MyServer\fips.dll

The openssl.cnf resides in that same folder along with several other binaries

config_diagnostics = 1
openssl_conf = openssl_init

[openssl_init]
providers = provider_sect

[provider_sect]
fips = fips_sect
base = base_sect

[base_sect]
activate = 1

[fips_sect]
activate = 1
install-version = 1
conditional-errors = 1
security-checks = 1
module-mac = 3A:EC:2E:53:3F:92:44:F9:50:13:70:6E:FD:38:37:08:8B:F2:68:56:CC:B4:ED:5F:A1:52:1B:93:15:37:0B:8C

I've tried unsuccessfully by specifying where to look for that DLL using this (I think?)

fips_libctx=OSSL_LIB_CTX_new()
OSSL_PROVIDER_set_default_search_path(fips_libctx,"C:\Program Files\MyServer\")

There must be a way to tell OpenSSL which fips.dll to load from a specific folder path?



Solution 1:[1]

Thru trial and error, I was able to load

C:\Program Files\MyServer\fips.dll

by specifying a relative path such as

OSSL_PROVIDER_set_default_search_path(fips_libctx,".\")

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1