ich versuche, eine C++ DLL zu schreiben, die openSSL verwendet, um eine Verbindung zu einem Server zu sichern.OpenSSL in einer VisualC++ DLL
ich durch die Tatsache, echt verwirrt bin, dass dieser Code
#include "stdafx.h"
#include <string.h>
#include <iostream>
//SSL stuff
#include <openssl/ssl.h>
#include <openssl/err.h>
#include <openssl/pem.h>
#include <openssl/x509.h>
#include <openssl/x509_vfy.h>
#include <openssl/ossl_typ.h>
#include <openssl/applink.c>
//Winsock stuf
#pragma comment(lib, "ws2_32.lib")
{... Create a method in which we set up the SSL connection ...}
char* tSend = "{\"reqtype\":\"keyexchange\"}";
int sendSize = strlen(tSend);
int net_tSend = htonl(sendSize);
SSL_write(ssl, &net_tSend, 4);
SSL_write(ssl, tSend, sendSize);
in einer Konsolenanwendung funktioniert gut, aber Abstürze in meiner DLL. Hier ist meine Ausnahme:
Ausnahme bei 0x00007FF865207DA0 geworfen (libeay32.dll) in TestsForPKCSDLL.exe: 0xC0000005: Zugriffsverletzung Leseort 0x0000000000000000.
Vielen Dank für Ihre Zeit.
Was sagt Ihnen der Debugger? –
Eine AccessViolation beim Zugriff auf eine Adresse bei/nahe 0 bedeutet, dass auf einen Nullzeiger zugegriffen wird. Suchen Sie den NULL-Zeiger in Ihrem Code und beheben Sie ihn. Der wahrscheinlichste Täter ist der 'ssl'-Zeiger oder ein' SSL_CTX' oder 'BIO', mit dem er verknüpft ist. –
Was genau ist die Frage (außer Sie sind verwirrt)? – jww