我需要使用SSL来建立与服务器的连接
描述: 我正在开发一个Windows应用程序项目,我们使用“Web服务”与数据库进行数据通信。 服务器端服务是用Java编写的,我在C#中做UI部分。现在我想使用SSL与服务器建立安全连接,但我找不到一种方法来跳过生成的警告消息尝试建立连接(使用c#代码)。
样本会对我有很大帮助,
这是我使用的代码:
public bool UserLogIn ( User user )
{
logon logIn = new logon();
logIn.arg0 = new userAthenticationRq();
logIn.arg0.credential = GetCredential(user);
logIn.arg0.clientIpAddress = GetClientIP();
logIn.arg0.requstDate = DateTime.Now;
logIn.arg0.requstDateSpecified = true;
logIn.arg0.userName = user.Name;
logonResponse rsp = new logonResponse();
ServicePointManager.ServerCertificateValidationCallback += new System.Net.Security.RemoteCertificateValidationCallback(ValidateRemoteCertificate);
rsp = service.logon(logIn);//this is where the Exception Occurs
if (rsp.@return.statusCode == statusCodeEnum.SUCCESS)
.
.
.
}
答案 0 :(得分:0)
如果是关于无效SSL证书的错误,您可以使用以下方法绕过它:
将此添加到您的代码中
// callback used to validate the certificate in an SSL conversation
private static bool ValidateRemoteCertificate(object sender, X509Certificate certificate,
X509Chain chain, SslPolicyErrors policyErrors)
{
return true;
}
然后添加它来调用它并接受所有证书:
// Adds validation of SSL Certificates
ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback(ValidateRemoteCertificate);