c# - 无法创建 SSL/TLS 安全通道 - 仅在服务器上。在开发箱上工作
问题描述
我有一个简单的控制台应用程序,它连接到使用证书身份验证的 Web 服务。我正在使用 Tls1.2 协议。从我的开发箱执行时它按预期工作,但从服务器执行时收到异常。
我已经验证客户端证书已正确安装在服务器中并且可以由应用程序访问。此外,我还验证了服务器中启用了 TLS 1.2,并且服务器 IP 地址已在 Web 服务中列入白名单。从字面上看,除了盒子之外,所有设置都是相同的。
我很困惑它可以在我的开发盒上运行,但不能在服务器上运行。我在服务器上收到的错误消息是
发送请求时出错。请求被中止:无法创建 SSL/TLS 安全通道
任何见解都受到高度赞赏。
X509Certificate cert = Utilities.GetClientCertificate();
ClinicalTrialMapping ctContent = null;
Console.WriteLine(cert);
if (cert != null)
{
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
Console.WriteLine(ServicePointManager.SecurityProtocol);
WebRequestHandler handler = new WebRequestHandler();
handler.ClientCertificates.Add(cert);
handler.ClientCertificateOptions = ClientCertificateOption.Manual;
using (var client = new HttpClient(handler))
{
string baseUrl = ConfigurationManager.AppSettings["BaseUrl"];
client.BaseAddress = new Uri(baseUrl);
client.DefaultRequestHeaders.Accept.Clear();
try
{
string url = "test.php";
HttpResponseMessage response = await
client.GetAsync(url);
}
catch (Exception ex)
{
throw ex;
}
解决方案
推荐阅读
- bash - 如何在 sublime text 3 中使用 git bash
- vue.js - 令牌护照 Laravel 不会在此更新。$ Router.push only window.location.href
- flutter - 底部溢出 99729 像素的 RenderFlex
- python - Plotly - 在纸张区域的 x 轴上添加箭头,返回错误
- windows - Outlook - 共享邮箱 - 快速步骤
- javascript - HTML:显示/隐藏具有相同功能但不同时的不同 div
- python - Deeppavlov - 制作自定义意图
- docker - 从容器访问 RasPi GPIO
- python - 如何使用 Pandas 中的正则表达式提取月份中的某一天?
- asp.net - CS0103:当前上下文中不存在名称“Bundles”