Error creating ssl context

I tried everything mentioned in this Question but nothing worked. The binary works fine on Windows 64-bit, but almost always shows the error Error Creating SSL Context() on Windows 32-bit. I t...

I tried everything mentioned in this Question

but nothing worked.
The binary works fine on Windows 64-bit, but almost always shows the error

Error Creating SSL Context()

on Windows 32-bit. I tried the demo http client example.

Community's user avatar

asked Sep 19, 2013 at 12:00

adnan kamili's user avatar

adnan kamiliadnan kamili

8,7017 gold badges63 silver badges118 bronze badges

At last, I found the solution. I was downloading dll’s from a dll website. You need to take these libraries

- libeay32.dll
- libssl32.dll
- ssleay32.dll

from this website here Win32 OpenSSL v1.0.2 file for 32 bit if you are using MSVC++ compiler

After installation of the above binary, copy the above three dll’s in the the directory containing your binary file.

answered Sep 20, 2013 at 12:49

adnan kamili's user avatar

adnan kamiliadnan kamili

8,7017 gold badges63 silver badges118 bronze badges

4

I recommend this source for OpenSSL Windows binaries. These binaries have no external dependencies and tested with 32-bit and 64-bit Qt5.

Update: OpenSSL 1.0 and 1.1 are not binary- and API-compatible. As of Qt 5.12 (certainly 5.12.4) version 1.1 seems the default OpenSSL backend in Qt, although I hear it can be configured to keep using 1.0.
I’m testing this source for Windows OpenSSL 1.1 builds, no problems so far: https://bintray.com/vszakats/generic/openssl

answered Jan 4, 2016 at 7:14

Violet Giraffe's user avatar

Violet GiraffeViolet Giraffe

32.2k46 gold badges188 silver badges332 bronze badges

3

Comments

@gofmanalex

Hi all,

I use INDY components with Delphi and some stations sometimes get error when attempts creating SSL context

Indy error code 5
EIdOSSLCreatingContextError
Error creating SSL context

The error is occurring in IdSSLOpenSSL InitContext.
fContext := SSL_CTX_new(SSLMethod);
fContext is nil.

I use SSL23 method. TLS method doesn’t work
I use 1.0.2r versions of dlls

Thank for any advice?

@mattcaswell

Have you checked the OPENSSL error queue for any useful error messages, e.g. by using the ERR_print_errors_fp function.

@gofmanalex

error:140A90F1:lib(20):func(169):reason(241)
error:140A90F1:SSL routines: SSL_CTX_new: unable to load ssl2 md5 routines

Sometimes get EIdOSSLCreatingContextError without error code

@mattcaswell

The most likely explanation for this error is if you have attempted to build the library using the «no-md5» build time option. That option just doesn’t work («won’t fix» bug) in 1.0.2 and was removed from later versions as a result.

So, on the failing machines, how did you build the version of OpenSSL there?

@gofmanalex

I use dlls from openssl-1.0.2r-i386-win32
ssleay32.dll ver 1.0.2.18
libeay32.dll ver 1.0.2.18

@mattcaswell

I use dlls from openssl-1.0.2r-i386-win32
ssleay32.dll ver 1.0.2.18
libeay32.dll ver 1.0.2.18

Those version numbers don’t look like something the OpenSSL Project creates. Did you build the dlls from source yourself, or did you download the binaries from somewhere else? (If so — where?)

@mattcaswell

Another theory I have for what could cause this: If you fail to call SSL_library_init() then I think this could happen.

@gofmanalex

My project is written in Delphi. I just use TIdHTTP component of INDY.
The component use the dll. I don’t build or load dll manually.
The dll taken from https://indy.fulgan.com/SSL

@mattcaswell

Has SSL_library_init() always been called before the first call to SSL_CTX_new()?

@gofmanalex

Hi,
The saga continues. Solution still not found.
I upgraded the INDY components what i use up to 10.5520 version and openSSL libraries to 1.0.2t version, but a problem still throw (sometimes).

Now i got error code: 336236785
Error type: EIdOSSLCreatingContextError
Error creating SSL context
error:140A90F1:lib(20):func(169):reason(241)

I just use INDY TIdHTTP component with TIdSSLIOHandlerSocketOpenSSL and TIdMultiPartFormDataStream ad i don’t know about

Has SSL_library_init() always been called before the first call to SSL_CTX_new()?

I’m not initialize, not load and not free the dlls. The INDY component does all this work. (must do).

Interestingly, my other client has no such any problems.

@gofmanalex

Has SSL_library_init() always been called before the first call to SSL_CTX_new()?

I checked code of INDY. Yes. SSL_library_init() always called.

@gofmanalex

Server I want to connect to requires working with SSLv3 only

But When I trying to use sslvSSLv3 I gеt error:
ErrorCode: 5
ErrorClassName: EIdOSSLConnectError
ErrorMessage: Error connecting with SSL.
EOF was observed that violates the protocol

When I tried to use sslvSSLv23, I often get an error:
Error code: 336236785
Error type: EIdOSSLCreatingContextError
Error creating SSL context
error:140A90F1:lib(20):func(169):reason(241)

@mattcaswell

But When I trying to use sslvSSLv3 I gеt error:
ErrorCode: 5
ErrorClassName: EIdOSSLConnectError
ErrorMessage: Error connecting with SSL.
EOF was observed that violates the protocol

Can you get a packet trace using wireshark of the failing communication?

When I tried to use sslvSSLv23, I often get an error:
Error code: 336236785
Error type: EIdOSSLCreatingContextError
Error creating SSL context
error:140A90F1:lib(20):func(169):reason(241)

Often? Or Always? This error is the «unable to load ssl2 md5 routines» that is discussed above. If this works sometimes and doesn’t work others then it rules out the possibility that the library has been built with the «no-md5» option (since it that case the code to initialise the ssl2-md5 digest is not even compiled in, so there is no possibility that it would ever work)…

…actually thinking about it more if you avoid this error based on the method you are using then that rules that out anyway. If «no-md5» was the problem then this should always fail with the same error no matter what.

So, my best guess is that there is a problem with the SSL_library_init(() call. Perhaps a race condition which means it is sometimes called and sometimes not???

@byxueya

Is there a solution? I have the same problem

Forum Updated on Feb 6th

This topic has been deleted. Only users with topic management privileges can see it.

  • I’m developing on Windows 10, and I get this error when creating desktop application.

    I’ve read and tried the recommendation in this link, Re: Ssl in application.. I’ve also read similar issues with similar recommendations with all kinds of google searches. I’m confused as ever because nowhere is there a clear and concise step-by-step solution.

    I get «Error creating SSL context()» with just a simple app to connect to a REST api. Here is the simple code, just trying to get a session token:

    QUrlQuery query;
    query.addQueryItem(QStringLiteral("userid"),   QStringLiteral("myname@myaddress"));
    query.addQueryItem(QStringLiteral("password"), QStringLiteral("mypassword"));
    
    QUrl url(QStringLiteral("https://www.somesite.com/api/login"));
    url.setQuery(query);
    
    m_reply = m_network_manager->get(QNetworkRequest(url));
    

    In the application output, I get this:

    qt.network.ssl: QSslSocket: cannot call unresolved function SSLv23_client_method
    qt.network.ssl: QSslSocket: cannot call unresolved function SSL_CTX_new
    qt.network.ssl: QSslSocket: cannot call unresolved function SSL_library_init
    qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error
    qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error
    

    What has to be done to make this work? Even worse, if I’ve got the dlls in the right place, then how to troubleshoot this error?

    Thanks.

  • @Snorkelbuckle

    Qt(binary packages) already provides DLLs(like libeay32.dll/ssleay32.dll) related to it. Put those DLLs within the execution path.

  • Can you identify specific file names and location that Qt binary package provides? I’ve searched my entire system and there are no files with those names. I’ve even installed something called OpenSSL-Win32 and there is nothing like that. The closest I got is libcrypto-1_1.dll and libssl-1_1.dll.

  • Okay, my search tool is not as good as I thought, I found those in C:QtToolsmingw530_32optbin and put into the execution path it works. Thank you for that.

    Now I have similar new problem. The only reason I was running the app on Windows was to understand why it won’t run on on Android :). So I know the code works as I expect, but now if I deploy to android, I get similar error and I guess I’m assuming same reason but how do I get this to work with Android?

    Invalid or empty cipher list (error:100000b1:SSL routines:OPENSSL_internal:NO_CIPHER_MATCH)
    

    And the application output:

    D ViewRootImpl@e6dadc9[QtActivity]: ViewPostIme pointer 0
    D InputMethodManager: HSIFW - flag : 0 Pid : 7843
    I InputMethodManager: hideSoftInputFromWindow ignore mServedView == null or mServedView.getWindowToken() != windowToken, mServedView :DecorView@21c6cce[QtActivity]
    D InputMethodManager: HSIFW - flag : 0 Pid : 7843
    I InputMethodManager: hideSoftInputFromWindow ignore mServedView == null or mServedView.getWindowToken() != windowToken, mServedView :DecorView@21c6cce[QtActivity]
    I zygote  : Do full code cache collection, code=125KB, data=104KB
    I zygote  : After code cache collection, code=119KB, data=86KB
    D ViewRootImpl@e6dadc9[QtActivity]: ViewPostIme pointer 1
    W linker  : library "libcrypto.so" ("/system/lib/libcrypto.so") needed or dlopened by "/data/app/org.qtproject.example.TestAndy2-lT_LT2h5WHkQMJr1VGzERw==/lib/arm/libQt5Core.so" is not accessible for the namespace "classloader-namespace" - the access is temporarily granted as a workaround for http://b/26394120, note that the access will be removed in future releases of Android.
    Could not load shared library symbols for /system/lib/libcrypto.so.
    Do you need "set solib-search-path" or "set sysroot"?
    W linker  : library "libssl.so" ("/system/lib/libssl.so") needed or dlopened by "/data/app/org.qtproject.example.TestAndy2-lT_LT2h5WHkQMJr1VGzERw==/lib/arm/libQt5Core.so" is not accessible for the namespace "classloader-namespace" - the access is temporarily granted as a workaround for http://b/26394120, note that the access will be removed in future releases of Android.
    Could not load shared library symbols for /system/lib/libssl.so.
    Do you need "set solib-search-path" or "set sysroot"?
    W libTestAndy2.so: (null):0 ((null)): qt.network.ssl: QSslSocket: cannot resolve CRYPTO_free
    W libTestAndy2.so: (null):0 ((null)): qt.network.ssl: QSslSocket: cannot resolve CONF_get1_default_config_file
    W libTestAndy2.so: (null):0 ((null)): qt.network.ssl: QSslSocket: cannot resolve EC_curve_nist2nid
    W libTestAndy2.so: (null):0 ((null)): qt.network.ssl: QSslSocket: cannot resolve SSL_CTX_ctrl
    W libTestAndy2.so: (null):0 ((null)): qt.network.ssl: QSslSocket: cannot resolve SSL_CONF_CTX_new
    W libTestAndy2.so: (null):0 ((null)): qt.network.ssl: QSslSocket: cannot resolve SSL_CONF_CTX_free
    W libTestAndy2.so: (null):0 ((null)): qt.network.ssl: QSslSocket: cannot resolve SSL_CONF_CTX_set_ssl_ctx
    W libTestAndy2.so: (null):0 ((null)): qt.network.ssl: QSslSocket: cannot resolve SSL_CONF_CTX_set_flags
    W libTestAndy2.so: (null):0 ((null)): qt.network.ssl: QSslSocket: cannot resolve SSL_CONF_CTX_finish
    W libTestAndy2.so: (null):0 ((null)): qt.network.ssl: QSslSocket: cannot resolve SSL_CONF_cmd
    D NetworkSecurityConfig: No Network Security Config specified, using platform default
    I zygote  : Do partial code cache collection, code=123KB, data=88KB
    I zygote  : After code cache collection, code=123KB, data=88KB
    I zygote  : Increasing code cache capacity to 512KB
    W libTestAndy2.so: (null):0 ((null)): qt.network.ssl: QSslSocket: cannot call unresolved function SSL_CTX_ctrl
    

    Thank you.

  • Thank you for that. I’ve managed to get through 90% of the instructions. I’m at step 8 in which I must run make to build the libraries. Only problem is I don’t have make on my system, it is windows environment. I’m using msys2.

    Do I need to install make in msys2 environment? Then what about compiler, what compiler do I use?

    Thanks.

  • I installed make into msys2 and ran make and I guess I don’t need to worry about compiler, it is using whatever is provided by the android sdk. However, I now have a new hurdle. It can’t find assert.h. Which assert.h is it wanting, shouldn’t the setup script have added the right paths needed for building?

    Is this the location of assert.h that is needed?

    C:UsersJosedeLeonAppDataLocalAndroidSdkndk-bundlesysrootusrinclude
    

    Here is the output from setup script

    ANDROID_NDK_ROOT: /c/Users/JosedeLeon/AppData/Local/Android/Sdk/ndk-bundle
    ANDROID_ARCH: arch-arm64
    ANDROID_EABI: aarch64-linux-android-4.9
    ANDROID_API: android-28
    ANDROID_SYSROOT: /c/Users/JosedeLeon/AppData/Local/Android/Sdk/ndk-bundle/platforms/android-28/arch-arm64
    ANDROID_TOOLCHAIN: /c/Users/JosedeLeon/AppData/Local/Android/Sdk/ndk-bundle/toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64/bin
    FIPS_SIG:
    CROSS_COMPILE: aarch64-linux-android-
    ANDROID_DEV: /c/Users/JosedeLeon/AppData/Local/Android/Sdk/ndk-bundle/platforms/android-28/arch-arm64/usr
    

    Here is the error

    $ make CALC_VERSIONS="SHLIB_COMPAT=; SHLIB_SOVER=" build_libs
    make depend && make _build_libs
    make[1]: Entering directory '/c/Users/JosedeLeon/Documents/Development/Tools/Libraries/openssl-1.1.0i'
    make[1]: Leaving directory '/c/Users/JosedeLeon/Documents/Development/Tools/Libraries/openssl-1.1.0i'
    make[1]: Entering directory '/c/Users/JosedeLeon/Documents/Development/Tools/Libraries/openssl-1.1.0i'
    aarch64-linux-android-gcc  -I. -Icrypto/include -Iinclude -DDSO_DLFCN -DHAVE_DLFCN_H -DNDEBUG -DOPENSSL_THREADS -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC -DOPENSSLDIR=""/usr/local/ssl"" -DENGINESDIR=""/usr/local/lib/engines-1.1"" -Wall -O3 -pthread -mandroid -fPIC --sysroot=/c/Users/JosedeLeon/AppData/Local/Android/Sdk/ndk-bundle/platforms/android-28/arch-arm64 -Wa,--noexecstack  -fPIC -DOPENSSL_USE_NODELETE -MMD -MF crypto/aes/aes_core.d.tmp -MT crypto/aes/aes_core.o -c -o crypto/aes/aes_core.o crypto/aes/aes_core.c
    crypto/aes/aes_core.c:39:20: fatal error: assert.h: No such file or directory
     #include <assert.h>
                        ^
    compilation terminated.
    make[1]: *** [Makefile:678: crypto/aes/aes_core.o] Error 1
    make[1]: Leaving directory '/c/Users/JosedeLeon/Documents/Development/Tools/Libraries/openssl-1.1.0i'
    make: *** [Makefile:132: build_libs] Error 2
    
    

    Thanks.

  • @Devopia53

    Okay, finally got it to work but what a big pain. I think the main problem is that the guide is out of date and it needs to mention how specific environments need to resolve any issues that come up. Just a quick search online shows that there are common problems that everybody seems to be going through just to get Qt and OpenSSL to work with Android or otherwise.

    For the record this is what I had to do, and the discovery process was not fun, here are the errors I came across in order:

    ERROR 1: can’t find headers

    RESOLUTION: Something is wrong with the latest android NDK. I was using r17b. I downloaded and instead used r14b. Maybe I didn’t need to go that far back, but the issue is the location of include and libraries are changed. Go download older version of NDK.

    ERROR 2: «CreateProcess: No such file or directory».

    RESOLUTION: Stupid windows file limitations. Go move the openssl source directory to top level on your HD. The issue is the paths were too long in windows.

    ERROR 3: Something about incompatible version of libssl or some such.

    RESOLUTION: You’ll see the message in the application log. Downgrade your openssl package. I started with openssl-1.1.0i. I reverted to openssl-1.0.2p.

    ERROR 4: 64-bit version wrong version. Can’t remember the exact message, you’ll find it in the application output log and you will recognize the error easily.

    RESOLUTION: Be aware of your environment, 32bit vs 64bit. The guide gives example for 64 bit arch. Instead, build for 32 bit architecture. Unless your build environment is already set for 64 bit, then I don’t have any advice.

    Thank you!

  • check out this video for ssl context error fix
    https://www.youtube.com/watch?v=nsPrI0aSkoI

  1. Question [SOLVED] Problem with windows 7 — Error Creating SSL Context

    Hi all. i have a function that uses qnetworkaccessmanager to send and receive files.

    File sending.

    1. ....

    2. QNetworkRequest req;

    3. req.setUrl(QUrl("https://192.168.2.1/input.php"));

    4. req.setRawHeader("Content-Type", "multipart/form-data; boundary=" + boundary);

    5. QNetworkAccessManager *manager = new QNetworkAccessManager;

    6. incoming= new QFile("file.xml");

    7. incoming->open(QIODevice::WriteOnly);

    8. connect(manager,SIGNAL(finished(QNetworkReply*)),this,SLOT(filesenderror(QNetworkReply*)));

    9. reply2 =manager->post(req,datas);

    10. connect(reply2,SIGNAL(readyRead()),this,SLOT(readfile()));

    11. connect(reply2,SIGNAL(finished()),this,SLOT(writefile()));

    12. connect(reply2,SIGNAL(finished()),incoming,SLOT(deleteLater()));

    13. connect(reply2,SIGNAL(finished()),manager,SLOT(deleteLater()));

    14. reply2->ignoreSslErrors();

    15. reply2->request();

    16. ....

    To copy to clipboard, switch view to plain text mode 

    Error handling

    1. void MainWindow::filesenderror(QNetworkReply *reple)

    2. {

    3. if (reple->error() !=0)

    4. {

    5. if (reple->error() == 1 )

    6. {

    7. QMessageBox::critical(this,"Connection Problem", "Connection Refused");

    8. return;

    9. }

    10. else

    11. {

    12. QMessageBox::critical(this,"Connection Problem",reple->errorString());

    13. return;

    14. }

    15. }

    16. else

    17. {

    18. ui->label_13->setText("Download progress complete");

    19. }

    20. }

    To copy to clipboard, switch view to plain text mode 

    I’m developing on windows vista. Everything is running clearly on vista machines. But on windows 7, its returning ssl error that «Error Creating SSL Context».

    I added Microsoft VC++ Redist packages to my inno setup file.

    vcredist_x86.21022
    vcredist_x86.30729.1
    vcredist_x86.30729.17

    Any ideas ? Am i missing something for windows 7 machines…

    Regards.

    ———————————

    i copied openssl files, libeay32.dll and ssleay32.dll to application directory and problem solved.

    Last edited by kosasker; 15th July 2011 at 15:41.


  2. The following user says thank you to kosasker for this useful post:


  3. 4th February 2012, 18:09


    #2

    Default Re: [SOLVED] Problem with windows 7 — Error Creating SSL Context

    Oh man, thank you very much. This was sooo annoying to debug. When making a QNetworkReply against an HTTPS address, it will silently fail with QNetworkReply::UnknownNetworkError and won’t tell what’s wrong.


  4. 10th February 2013, 00:56


    #3


razorqhex

19 / 15 / 8

Регистрация: 16.07.2014

Сообщений: 148

1

10.09.2020, 14:32. Показов 1563. Ответов 11

Метки нет (Все метки)


Всем привет. Очень сильно прошу помощи в подробной инструкции, как сделать поддержку https для моего приложения.
Мне просто по ссылке нужно скачать файлик и всё. Так как поддержки нету, то программа качает тот же файл, но внутри обычный html код.

Вот код приложения:

.pro

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    QT       += core gui network
     
    greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
     
    TARGET = DownloadEQFirmware
    TEMPLATE = app
     
    DEFINES += QT_DEPRECATED_WARNINGS
     
    SOURCES += 
            main.cpp 
            mainwindow.cpp
     
    HEADERS += 
            mainwindow.h
     
    FORMS += 
            mainwindow.ui

mainwindow.h

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
 
#include <QMainWindow>
#include <QUrl>
#include <QNetworkAccessManager>
#include <QNetworkRequest>
#include <QNetworkReply>
#include <QFile>
 
namespace Ui {
class MainWindow;
}
 
class MainWindow : public QMainWindow
{
    Q_OBJECT
 
public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
 
private:
    Ui::MainWindow *ui;
 
    QUrl urlStandard3N;
    QNetworkAccessManager *firmwareManager;
 
public slots:
    void downloadFirmware();
    void downloadFirmwareFile(QNetworkReply *reply);
};
 
#endif // MAINWINDOW_H

mainwindow.cpp

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include "mainwindow.h"
#include "ui_mainwindow.h"
 
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
 
    firmwareManager = new QNetworkAccessManager();
 
    connect(ui->btn_download, &QPushButton::clicked, this, &MainWindow::downloadFirmware);
    connect(firmwareManager, &QNetworkAccessManager::finished, this, &MainWindow::downloadFirmwareFile);
}
 
MainWindow::~MainWindow()
{
    delete ui;
}
 
void MainWindow::downloadFirmware()
{
    urlStandard3N = "http://www.eqdrive.com.ua/files/Updates/Standard3N/EQD4.6.0.1397.eqh";
 
    QNetworkRequest requestToUpdateStandard3N;          // Отправляемый запрос
    requestToUpdateStandard3N.setUrl(urlStandard3N);    // Устанавлвиваем URL в запрос
    firmwareManager->get(requestToUpdateStandard3N);    // Выполняем запрос
}
 
void MainWindow::downloadFirmwareFile(QNetworkReply *reply)
{
    if(reply->error()) {
        qDebug() << "reply error: " << reply->errorString();
    } else {
        QFile file("EQD4.6.0.1397.eqh");
        if(file.open(QFile::WriteOnly)) {
            file.write(reply->readAll());
            file.close();
        }
    }
}

Буду очень благодарен за помощь

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



Эксперт С++

8385 / 6147 / 615

Регистрация: 10.12.2010

Сообщений: 28,683

Записей в блоге: 30

14.09.2020, 10:47

2

Цитата
Сообщение от razorqhex
Посмотреть сообщение

как сделать поддержку https для моего приложения.

Ничего особо не нужно делать. На компе должны быть SSL библиотеки (или в папке с программой) не более.



0



19 / 15 / 8

Регистрация: 16.07.2014

Сообщений: 148

14.09.2020, 16:28

 [ТС]

3

Цитата
Сообщение от Avazart
Посмотреть сообщение

Ничего особо не нужно делать. На компе должны быть SSL библиотеки (или в папке с программой) не более.

То-есть ничего не нужно подключать в .pro файле и не нужно делать никаких манипуляций в коде?



0



Эксперт С++

8385 / 6147 / 615

Регистрация: 10.12.2010

Сообщений: 28,683

Записей в блоге: 30

14.09.2020, 16:37

4

Нет, не нужно.

Добавлено через 1 минуту
Но в коде желательно обрабатывать/выводить ошибки, в то числе ошибки SSL.



0



19 / 15 / 8

Регистрация: 16.07.2014

Сообщений: 148

14.09.2020, 20:19

 [ТС]

5

Цитата
Сообщение от Avazart
Посмотреть сообщение

Нет, не нужно.

Я закинул рядом с ехе-шником файлы ssleay32.dll и libeay32.dll, но результат тот же, ничего не работает



0



Эксперт С++

8385 / 6147 / 615

Регистрация: 10.12.2010

Сообщений: 28,683

Записей в блоге: 30

14.09.2020, 20:28

6

Цитата
Сообщение от razorqhex
Посмотреть сообщение

ничего не работает

По тому что Вы не программист.
Программисты приводят нормальное описание проблемы если хотят что бы им помогли на форуме.



0



Эксперт .NET

5461 / 4233 / 1209

Регистрация: 12.10.2013

Сообщений: 12,224

Записей в блоге: 2

14.09.2020, 21:26

7

razorqhex, отсюда установите OpenSSL нужной разрядности, и должно работать. Я проверил, при использовании https файл грузится.



0



razorqhex

19 / 15 / 8

Регистрация: 16.07.2014

Сообщений: 148

15.09.2020, 00:07

 [ТС]

8

Цитата
Сообщение от insite2012
Посмотреть сообщение

установите OpenSSL нужной разрядности, и должно работать. Я проверил, при использовании https файл грузится.

Здравствуйте. Установил я Win64 OpenSSL v1.0.2u и всё-равно не качает ничего

Добавлено через 1 час 35 минут

Цитата
Сообщение от Avazart
Посмотреть сообщение

Программисты приводят нормальное описание проблемы если хотят что бы им помогли на форуме.

Прошу прощения. Есть программа, которая прошивает устройство, а после того, как сайт перевели на https, программа не может скачать прошивку. Пишет ошибку Error creating SSL context ().

Я добавлял строчку

C++ (Qt)
1
requestToUpdateStandard3N.setAttribute(QNetworkRequest::FollowRedirectsAttribute, true);

также устанавливал библиотеки OpenSSL, копировал файлы в проект libeay32 и ssleay32 и в .pro подключал их

C++ (Qt)
1
LIBS += -Llibeay32 -Lssleay32



0



Эксперт С++

8385 / 6147 / 615

Регистрация: 10.12.2010

Сообщений: 28,683

Записей в блоге: 30

15.09.2020, 00:20

9

https://stackoverflow.com/ques… context-qt

Добавлено через 3 минуты

Цитата
Сообщение от razorqhex
Посмотреть сообщение

Здравствуйте. Установил я Win64 OpenSSL v1.0.2u и всё-равно не качает ничего

А Qt какое? тоже 64 битное? Имею ввиду сборку.



0



19 / 15 / 8

Регистрация: 16.07.2014

Сообщений: 148

15.09.2020, 00:41

 [ТС]

10

Цитата
Сообщение от Avazart
Посмотреть сообщение

А Qt какое? тоже 64 битное? Имею ввиду сборку.

Вот:

Скачивание файла с https в Qt 5.10



0



Эксперт С++

8385 / 6147 / 615

Регистрация: 10.12.2010

Сообщений: 28,683

Записей в блоге: 30

15.09.2020, 11:17

11

Что вот? Нафига Вы мне QtCreator показываете когда я спрашиваю про сборку Qt? Склероз ? Не помните что качали?



0



1325 / 587 / 284

Регистрация: 02.05.2020

Сообщений: 1,414

16.09.2020, 15:21

12

Проверяли ли вы работу своего кода изменив источник https на какой нибудь совершенно другой? (у меня ваш код работает)



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

16.09.2020, 15:21

Помогаю со студенческими работами здесь

Скачивание файла
Здравствуйте. Обыскал весь интернет но не нашел рабочего кода скачки файлов с сервера. Прошу вашей…

Скачивание файла
Мне нужно чтобы когда я нажимаю на кнопку открывалась форма с прогресс баром и скачивался файл, но…

скачивание файла
код

#include &lt;QtCore/QCoreApplication&gt;
#include &lt;QtNetwork&gt;

int main(int argc, char *argv)…

Скачивание файла
Приведите код с библиотеками (полноценный, чтоб скопировал и все работало) для скачивания файла с…

Скачивание файла
Здравствуйте при скачивании файла в браузере Опера появляется форма с возможностью выбора куда…

Скачивание файла
Помогите пожалуйста,нужна программа которая скачает файл,указанный в переменной типа…

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:

12

So I have been using qutebrowser a lot recently and also the shortcut for downloading stuff. I have also been playing around with python /pip a bit recently. My problem is that after fixing some pip problems I apperently deleted some packages and had to reinstall these.

Now, qutebrowser works perfectly well , no errors ect but every time I try to download via shortcuts (even just copying the url of a picture and using download ) prints me the error message «Error creating SSL context ()» . Downloading by hand (right click and save image) works tho.

So I think that it might be a problem with a missing python script, but I simply cant find any more information on the error as the messages command only gives me said error and that’s it.

So what do you think might be a way to solve this problem ?

Edit: Dunno why this always happens to me but I manage to solve the problem every time, hourse or even minutes after I post a problem on a forum no matter how long I work on it bevor lol . So , I solved it. The problem was that I was apparently missing python-pyqt dependencies.

I have an application which has a feature to display an overlay on a Google Maps display. In order to display a map overlay, my application has a dialog which downloads an xml file describing the map. The url for the xml file is obtained on the «David Rumsey Map Collection» website. Map page

David Rumsey Map Collection
here you can click on a button to copy the link for the WTMS capabilities XML file;
Web Map Tile Service (WMTS)

In My application the user pastes the url into an QEditControl which then passes it to this function:
enter code here FileDownloader::FileDownloader(QUrl imageUrl, QObject parent) :
QObject(parent)
{
qDebug() << «download » << imageUrl.toDisplayString();
connect(&m_WebCtrl, SIGNAL(finished(QNetworkReply
)), SLOT(fileDownloaded(QNetworkReply*)));
this->imageUrl = imageUrl;
QNetworkRequest request(imageUrl);
m_WebCtrl.get(request);
}

FileDownloader should download the requested xml file but instead it fails producing these messages:

Debug: download «https://maps.georeferencer.com/georeferences/79580f71-e50d-5267-afd1-b5f579515600/2015-05-25T18:52:26.021580Z/wmts?key=caj1mpUbIDuRGkUmcxkG&SERVICE=WMTS&REQUEST=GetCapabilities» (filedownloader.cpp:9, FileDownloader::FileDownloader(QUrl, QObject*))
Warning: QSslSocket: cannot resolve CRYPTO_num_locks ((null):0, (null))
Warning: QSslSocket: cannot resolve CRYPTO_set_id_callback ((null):0, (null))
Warning: QSslSocket: cannot resolve CRYPTO_set_locking_callback ((null):0, (null))
Warning: QSslSocket: cannot resolve ERR_free_strings ((null):0, (null))
Warning: QSslSocket: cannot resolve EVP_CIPHER_CTX_cleanup ((null):0, (null))
Warning: QSslSocket: cannot resolve EVP_CIPHER_CTX_init ((null):0, (null))
Warning: QSslSocket: cannot resolve sk_new_null ((null):0, (null))
Warning: QSslSocket: cannot resolve sk_push ((null):0, (null))
Warning: QSslSocket: cannot resolve sk_free ((null):0, (null))
Warning: QSslSocket: cannot resolve sk_num ((null):0, (null))
Warning: QSslSocket: cannot resolve sk_pop_free ((null):0, (null))
Warning: QSslSocket: cannot resolve sk_value ((null):0, (null))
Warning: QSslSocket: cannot resolve SSL_library_init ((null):0, (null))
Warning: QSslSocket: cannot resolve SSL_load_error_strings ((null):0, (null))
Warning: QSslSocket: cannot resolve SSL_get_ex_new_index ((null):0, (null))
Warning: QSslSocket: cannot resolve SSLv3_client_method ((null):0, (null))
Warning: QSslSocket: cannot resolve SSLv23_client_method ((null):0, (null))
Warning: QSslSocket: cannot resolve SSLv3_server_method ((null):0, (null))
Warning: QSslSocket: cannot resolve SSLv23_server_method ((null):0, (null))
Warning: QSslSocket: cannot resolve X509_STORE_CTX_get_chain ((null):0, (null))
Warning: QSslSocket: cannot resolve OPENSSL_add_all_algorithms_noconf ((null):0, (null))
Warning: QSslSocket: cannot resolve OPENSSL_add_all_algorithms_conf ((null):0, (null))
Warning: QSslSocket: cannot resolve SSLeay ((null):0, (null))
Warning: Incompatible version of OpenSSL ((null):0, (null))
Warning: QSslSocket: cannot call unresolved function SSLv23_client_method ((null):0, (null))
Warning: QSslSocket: cannot call unresolved function SSL_CTX_new ((null):0, (null))
Warning: QSslSocket: cannot call unresolved function SSL_library_init ((null):0, (null))
Warning: QSslSocket: cannot call unresolved function ERR_get_error ((null):0, (null))
Warning: QSslSocket: cannot call unresolved function ERR_get_error ((null):0, (null))
Warning: QSslSocket: cannot call unresolved function SSLv23_client_method ((null):0, (null))
Warning: QSslSocket: cannot call unresolved function SSL_CTX_new ((null):0, (null))
Warning: QSslSocket: cannot call unresolved function SSL_library_init ((null):0, (null))
Warning: QSslSocket: cannot call unresolved function ERR_get_error ((null):0, (null))
Warning: QSslSocket: cannot call unresolved function ERR_get_error ((null):0, (null))
Warning: QSslSocket: cannot call unresolved function SSLv23_client_method ((null):0, (null))
Warning: QSslSocket: cannot call unresolved function SSL_CTX_new ((null):0, (null))
Warning: QSslSocket: cannot call unresolved function SSL_library_init ((null):0, (null))
Warning: QSslSocket: cannot call unresolved function ERR_get_error ((null):0, (null))
Warning: QSslSocket: cannot call unresolved function ERR_get_error ((null):0, (null))
Debug: download failed «https://maps.georeferencer.com/georeferences/79580f71-e50d-5267-afd1-b5f579515600/2015-05-25T18:52:26.021580Z/wmts?key=caj1mpUbIDuRGkUmcxkG&SERVICE=WMTS&REQUEST=GetCapabilities» «Error creating SSL context ()» (filedownloader.cpp:26, void FileDownloader::fileDownloaded(QNetworkReply*))

Here I should note that this feature was working as intended up until a few days ago.
I occurred to me that perhaps the problem was with the David Rumsey web site but Firefox has no problem getting the url nor does curl or wget on the command line.
Being that I was on Ubuntu 20.04 using a version1 OpenSSL, I upgraded my ubuntu to 22.04 and now with version 3 of OpenSSL, the problem persists!
The version of Qt I am using is 5.15.2

Понравилась статья? Поделить с друзьями:
  • Error cs0234 unity
  • Error cs0214 pointers and fixed size buffers may only be used in an unsafe context
  • Error cs0178 invalid rank specifier expected or
  • Error cs0176 member
  • Error cs0170 use of possibly unassigned field