C# 如何在C中使用套接字处理SSL#
我过去没有在任何其他编程语言中使用套接字的经验,但现在,我必须使用只接受套接字的服务API发出请求 我的代码可以找到 我不知道我的处理是否正确,因为C# 如何在C中使用套接字处理SSL#,c#,sockets,ssl,C#,Sockets,Ssl,我过去没有在任何其他编程语言中使用套接字的经验,但现在,我必须使用只接受套接字的服务API发出请求 我的代码可以找到 我不知道我的处理是否正确,因为ValidateCertificate方法返回false。“errors”参数不等于“none”,其值为:CertificateNameMismatch | CertificateChaineErrors 因为这是我的第一个套接字应用程序,所以我不知道这里会发生什么 我试图访问的服务使用SSL,这个套接字API用于查询他们的数据库 这是第一次执行的代
ValidateCertificate
方法返回false。“errors”参数不等于“none”,其值为:CertificateNameMismatch | CertificateChaineErrors
因为这是我的第一个套接字应用程序,所以我不知道这里会发生什么
我试图访问的服务使用SSL,这个套接字API
用于查询他们的数据库
这是第一次执行的代码:
// Creating SSLClient
m_sslClient = new SSLClient ("localhost","200.245.207.155",3395);
// Encoding and Converting Struct to String
layoutAsString = CrednetStructs.StructureToString (new CrednetStructs.InputLayout ("","","",""));
// Writting message to Stream
m_sslClient.WriteMessage (layoutAsString);
其中InputLayout是可以找到的套接字请求的参数。这是一个结构
如果有任何我可能错过的传统信息,请告诉我。
提前感谢可能您连接到“200.245.207.155”的主机名与证书中的主机名不同,即可能是“www.server.com”
certificateChaineError
最常见的原因是自签名证书。您所说的“自签名证书”是什么意思?另外,我如何知道正确的服务器名称?这些值是我在产品手册中找到的值。服务器名称通常位于CN=。。。例如,DN的一部分,当我转到google mail并查看证书时,它会显示CN=mail.google.com