Я пытаюсь использовать libcurl.net в моем проекте для выполнения HTTP-запросов через SSL. (Классы System.Net не поддерживают расширение имени сервера, и я использую Windows XP)
Код в SSLContextFunction:
public CURLcode OnSSLContext(SSLContext ctx, Object extraData)
{
IntPtr ssl = SSL_new(ctx.Context);
SSL_set_tlsext_host_name(ssl, "hostname");
return CURLcode.CURLE_OK;
}
[DllImport("ssleay32.dll")]
internal static extern IntPtr SSL_new(IntPtr ctx);
[DllImport("ssleay32.dll")]
internal static extern void SSL_set_tlsext_host_name(IntPtr ssl, string message);
При вызове SSL_new выдается ошибка:
«Попытка чтения или записи в защищенную память. Это часто свидетельствует о повреждении другой памяти.»
Также попытался вызвать метод OpenSSL SSL_library_init (), но безрезультатно.
Спасибо