我正在构建一个winforms应用程序,该应用程序使用了一个rest API,该API具有我已集成在我的代码中的证书.crt的安全性:
X509Certificate2 cert = new X509Certificate2(PathCert);
connection.ClientCertificates.Add(cert);
connection.PreAuthenticate = true;
try
{
HttpWebResponse response = (HttpWebResponse)connection.GetResponse();
StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
body = sr.ReadToEnd();
}
catch (WebException webex)
{
log(webex.Message)
}
catch (Exception e)
{
log(e.Message)
}
在我的环境中,此应用程序正在运行,当我在预生产服务器中发布该应用程序时,它向我显示错误:
System.Security.Authentication.AuthenticationException:根据验证过程,远程证书无效。
然后,我安装了邮递员应用程序,并使用带有证书的邮递员运行了我的其余API,响应成功,我尝试使用本文https://stackoverflow.com/a/1386568/5586581中推荐的临时解决方案,但该方法有效,但不能对我来说不是一个可靠的解决方案。有什么建议吗?