我有一份包含此信息的证书:
该证书用于以下目的:
-向远程计算机证明您的身份
-确保远程计算机的身份
该证书已经安装在我的服务器上,我必须使用它来调用Soap Web服务。
但是当我尝试调用此Web服务时,出现此错误:
基础连接已关闭:发生意外错误 接收。
有人告诉我"certifcate exchnage is not happening from my end"
是什么意思?
服务器配置
Windows Server 2012 r2
IDE visual studio 2017
public partial class Form1 : Form
{
Back2uSubscribeManageService client = null;
string certName = string.Empty;
RemoteCertificateValidationCallback
chainedServerCertValidationCallback = null;
public Form1()
{
InitializeComponent();
chainedServerCertValidationCallback =
ServicePointManager.ServerCertificateValidationCallback;
ServicePointManager.ServerCertificateValidationCallback = new
RemoteCertificateValidationCallback(OnValidateServerCertificate);
}
//below the method where I call a method of the web service
private void button1_Click(object sender, EventArgs e)
{
X509Store computerCaStore = new X509Store(StoreName.My,
StoreLocation.LocalMachine);
computerCaStore.Open(OpenFlags.ReadOnly);
X509Certificate2Collection certificatesInStore =
computerCaStore.Certificates;
X509Certificate2Collection findResult =
certificatesInStore.Find(X509FindType.FindBySubjectName,"*.mydomain.com", false);
X509Certificate cert;
cert = findResult[0];
client = new Back2uSubscribeManageService();
client.ClientCertificates.Add(cert);
client.Url = url;
var result = client.subscribeProduct(request);
}
}
//below is the callback method for server certificate validation.
bool OnValidateServerCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
{
X509Store computerCaStore = new X509Store(StoreName.Root,
StoreLocation.LocalMachine);
X509Certificate2Collection certificatesInStore =
computerCaStore.Certificates;
X509Certificate2Collection findResult =
certificatesInStore.Find(X509FindType.FindByIssuerName,"xxxxx", false);
X509Certificate cert;
cert = findResult[0];
bool valid = true;
if (valid)
{
if (chainedServerCertValidationCallback == null)
{
bool validationResult =
certificate.Issuer.Equals(cert.Issuer);
return validationResult;
}
else
{
return chainedServerCertValidationCallback(sender,
certificate, chain, sslPolicyErrors);
}
}
return false;
}
}
我希望有消息告诉我订阅成功,但是我收到错误消息:
基础连接已关闭:发生意外错误 接收。