Unsolved Using QCA Encrypt Library with Qt >5
-
ok, openSSL include path was missing, and because of that, the setup skipped compiling the "qca-ossl" plugin wich is nessesary for the RSA Encryption.
Now i'm trying to include openssl... but i'm struggling at
# include <openssl/opensslconf.h>
the opensslconf.h is a architectur specific file and normally the file is generated while the compilation of openSSL.
But I don't understand why it's not generated by the compiler in my case. -
Hi and welcome to devnet.
Which version of OpenSSL are you using to build QCA ?
-
Hi ;)
i'v tryed multiple versions:
- 1.1.1b
- current master branch of the git repo
- 1.1.0k
-
Just to be sure, I would check against the latest version of the 1.0 series.
-
So, finally I build openSSL(1.1.1b) with minGW and got the corresponding headers.
At the QCA CMakeList there is the macro: "OPENSSL_INCLUDE_DIR" i've set the path and it's working.
But how can I link/set the Path to the openSSL lib?
Somehow it's not compiling qca-ossl.cpp because of the missing lib.best
-
ok, tried it with openSSL 1.0.2r, finally i'm getting ONLY one error while compiling qca-ossl.cpp:
line 5810 :
sessInfo.isCompressed = (0 != SSL_SESSION_get_compress_id(ssl->session));
undefined reference to SSL_SESSION_get_compress_id
-
@Hoehli said in Using QCA Encrypt Library with Qt >5:
SSL_SESSION_get_compress_id
Strange, that method is supposed to be available since 1.0.1...
Can you find it in the headers of your installed OpenSSL version ?
-
Yes, it's defined in ssh.h which is included.
I also have trouble to include the 64bit build of openSSL: while compiling qca-ossl.cpp i'll get a alot of undefined reference errors.. using the same mingw64 compiler
-
Might be a silly question, but are you sure you are linking to the right version of OpenSSL ?
You might be hitting a cmake cache entry.
-
@SGaist said in Using QCA Encrypt Library with Qt >5:
Might be a silly question, but are you sure you are linking to the right version of OpenSSL ?
Yes, think so :D. I included C:/openSSL32 for 32-bit, and C:/openSSL64 for 64-bit, that's the path I put my compiled openSSL.
To compile openSSL (version 1.0.2r) I used MSYS2 and followed this discription. The minGW compiler I used was the one, shipped with QT at: c:/Qt/Tools/mingw530_32 for 32-bit and C:/Qt/Tools/mingw730_64.
Configured the openSSL with the perl script with this options:
./Configure mingw shared no-idea no-mdc2 no-rc5 --prefix=/c/openSSL32
and for 64-bit:
./Configure mingw64 shared no-idea no-mdc2 no-rc5 --prefix=/c/openSSL64
Between those two steps I restarted MSYS2 and reconfigured the PATH variables to the corresponding minGW compiler.
I also tried the mingw-w64 compiler (he didn't made it).
You might be hitting a cmake cache entry.
32-bit version: https://pastebin.com/2VYa47f0
64-bit version: https://pastebin.com/4x0Sn5XmIf I'm comment the line 5810 (of qca-ossl.cpp - Version 2.1.3 of the QCA) out, the dll's are build and it's working (somehow but probably unstable).
Thanks for the support! I appreciate.Edit:
I had a deeper look into the CMakeCache files:
at the 64bit-version i changed the Value for LIB_EAY from C:\Program Files (x86)\Intel\iCLS Client\libeay32.dll, to C:\Program Files\Intel\iCLS Client\ssleay32.dll.This reduced the undefined reference errors, now I only get the same error as for the 32-bit version at line 5810.
YAY -> one step away :Dman, that's pain on windows... on Arch Linux QCA compiled "out of the box"...
Edit2:
tried the current master branch of openSSL (1.0.2s) still the same error. -
no more ideas?
-
Rather than replacing the library, did you try link them both ?