RE: EXT :RE: LibCryptoEVPInterface OPENSSL_VERSION_NUMBER

"Guerrero, Axel [US] (ES)" <[email protected]> Thu, 17 Mar 2022 15:11:12 +0000
Newsgroups gmane.comp.lang.smalltalk.vwnc
Message-ID <BN0P110MB1593034B2A3C6AC711BE28DBEE129@BN0P110MB1593.NAMP110.PROD.OUTLOOK.COM>
This document highlights where windows will look for a DLL
https://urldefense.com/v3/__https://docs.microsoft.com/en-us/windows/win32/dlls/dynamic-link-library-search-order__;!!DZ3fjg!oKL4w8nbNrfBha4FfvqddUQTWGylklykbYH2nadvp5WI0wCmpV_YVOH1nWPOTAtSUpJsSQQ$ 

Of course, even in Windows you can set VW_LIBCRYPTO to point to a specific version of the library (which will come in handy if you have several different versions in you path, presumably because different applications may need different versions).

As an interesting note, I found that visualworks expects the name libeay32.dll for the library, if it is going to find it according to the document that I linked above.
If you specify the environment variable, the name of the library does not have to be libeay32.dll (e.g. set VW_LIBCRYPTO=c:\users\some_user\openssl_some_version.dll)

Axel Guerrero

From: [email protected] <[email protected]>
Sent: Thursday, March 17, 2022 10:01 AM
To: Guerrero, Axel [US] (ES) <[email protected]>; 'Bob Nemec' <[email protected]>; [email protected]
Subject: EXT :RE: [vwnc] LibCryptoEVPInterface OPENSSL_VERSION_NUMBER

Interesting , I was actually just in the middle of doing as much but from Windows.
However, I have no issues doing a POST to an https url, not using url form encoding but rather passing json in the payload.

Does VW look for a default spot ? i.e. at least on Windows ?
Oh yeah, testing from 9.1.1

thanks

From: [email protected]<mailto:[email protected]> <[email protected]<mailto:[email protected]>> On Behalf Of Guerrero, Axel [US] (ES)
Sent: Thursday, March 17, 2022 10:23 AM
To: Bob Nemec <[email protected]<mailto:[email protected]>>; [email protected]<mailto:[email protected]>
Subject: RE: [vwnc] EXT : LibCryptoEVPInterface OPENSSL_VERSION_NUMBER

By any chance, have you set the environment variable VW_LIBCRYPTO ?
The variable will look something like VW_LIBCRYPTO=/usr/lib/libcrypto.so.10

Also, make sure you have the appropriate libraries for the “bitness” of your image (32-bit libraries for a 32-bit image,  64-bit libraries for a 64-bit image).

Axel Guerrero

From: [email protected]<mailto:[email protected]> <[email protected]<mailto:[email protected]>> On Behalf Of Bob Nemec
Sent: Thursday, March 17, 2022 9:13 AM
To: [email protected]<mailto:[email protected]>
Subject: EXT :[vwnc] LibCryptoEVPInterface OPENSSL_VERSION_NUMBER

I think I may be missing something obvious when using HttpClient>>post:formData: to an https url.
I get an exception because LibCryptoHash>>initializeContext fails due to LibCrypto EVP_MD_CTX = nil.
Tracing Crypto.LibCryptoEVPInterface initializeLibCrypto I end up at OPENSSL_VERSION_NUMBER which answers nil, running VW 8.3.2

This image is running on Linux, where I see...

    $ openssl version
    OpenSSL 1.0.2k-fips 26 Jan 2017

...but I always get nil from...

LibCryptoEVPInterface OPENSSL_VERSION_NUMBER

...is there setup step that I'm missing? I've read through the VW Security Guide, but no luck so far.

Thanks for any help,
Bob Nemec