首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有C#的TLS SNI

带有C#的TLS SNI
EN

Stack Overflow用户
提问于 2011-05-05 11:55:09
回答 1查看 2.2K关注 0票数 2

我试图在我的项目中使用libcurl.net在SSL上执行HTTP请求。(System.Net类不支持服务器名称扩展,我使用的是Windows )

SSLContextFunction中的代码:

代码语言:javascript
复制
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(),但没有结果。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2011-05-05 12:09:23

您是否将CPU平台设置为与所使用的库相匹配?例如,如果您有x86 DLL或x86 DLL的x64,请使用x64。(即使这不是你的问题,而且你只有一个32位的系统,你的应用程序在Win64上吹响否则)

我还没有使用它,但我确实找到了一个现有的libcurl包装器,也许这可以帮助您:http://sourceforge.net/projects/libcurl-net/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5897239

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档