你好,我有一个使用 openssl 和 winapi 套接字的 C++ 应用程序,代码如下所示:
sock = socket(AF_INET, SOCK_STREAM, 0);
if (connect(my_sock, (struct sockaddr*)&dest_addr, sizeof(dest_addr))==0) {
WSAIoctl(my_sock, SIO_KEEPALIVE_VALS, &alive, sizeof(alive),NULL, 0, &dwSize, NULL, NULL);
}
}
.....
SSL_load_error_strings();
SSL_library_init();
ctx = SSL_CTX_new(SSLv23_client_method());
if(!ctx)
{
return false;
}
ssl = SSL_new(ctx);
SSL_CTX_free(ctx);
if(!ssl)
{
return false;
}
SSL_set_fd(ssl, (int)sock); //making the socket use ssl mode
result = SSL_connect(ssl);
Run Code Online (Sandbox Code Playgroud)
我在这个 C++ 应用程序中使用静态 ssl 库,我从这里下载了它
一切正常,ssl_connect 返回 1。但我需要做的是使用 C# 重写此代码。所以我尝试了一下,c# 代码如下所示:
[DllImport("ssleay32.dll", CallingConvention = CallingConvention.Cdecl, EntryPoint = "SSL_read")]
public static …Run Code Online (Sandbox Code Playgroud)