OpenSSLを使用してサーバーへの接続を保護するC++ DLLを作成しようとしています。VisualS ++ DLLのOpenSSL
私はgenuinlyこのコード
#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);
は、コンソールアプリケーションでは正常に動作しますが、私のDLLでクラッシュしたという事実によって困惑しています。 TestsForPKCSDLL.exeに0x00007FF865207DA0(libeay32.dll)で投げ
例外:0xc0000005で:アクセス違反読み取り場所0x0000000000000000 は、ここに私の例外です。
ありがとうございます。
デバッガはあなたに何を伝えますか? –
0に近い/近くのアドレスにアクセスするときのアクセス違反は、NULLポインタがアクセスされていることを意味します。あなたのコードでNULLポインタを見つけて修正してください。最も有望なのはあなたの 'ssl'ポインタか、リンクされている' SSL_CTX'や 'BIO'です。 –
まさに、あなたは困惑しているのですか? – jww