使用来自第三方的 SSL 证书时出现问题
本文关键字:证书 问题 SSL 第三方 | 更新日期: 2023-09-27 17:56:52
我正在开发一种与第三方网络服务通信的Web服务。 第三方要求我在与其系统的所有通信中使用SSL证书。
在我的应用程序中,我使用以下代码从文件"certificate.p12"加载证书:
Cert = new X509Certificate2(certPath, certPWD);
然后,我将其添加到我的 Web 请求中,如下所示:
webRequest.ClientCertificates.Add(Cert);
在我的开发机器上,这运行良好,但是,在测试服务器(位于数据中心外部)上,我根本无法让它工作。
我还尝试将证书放入不同位置、当前用户和本地计算机的证书存储中,并从那里加载到代码中。 同样的问题。
使用当前版本,应用程序在加载文件时停止...我在该行之前和之后都有调试信息,它没有通过它,但也不会抛出任何错误。
我很困惑...任何帮助不胜感激。
谢谢。
更新:虽然我不是 100% 确定,但我很确定我在此行上收到"对象未设置为引用实例"错误
Cert = new X509Certificate2(certPath, certPWD);
更新 2:
"也许测试计算机缺少证书的根链?" - 我认为这就是问题所在。 只是问了办公室里的另一个人,证书是由第三方颁发的,而不是现有的可信来源。 在我的本地机器上,这似乎不是问题,但我认为在服务器上有更高级别的安全性阻止它......现在看看几个选项,
- 我可以绕过此证书的安全检查吗,因为我们知道它是值得信赖的,
- 我可以从第三方和
- 我可以为第三个创建根证书吗党。
尝试联系数据中心的 IT 支持人员,并确保用于运行托管应用程序的进程的标识具有访问证书存储所需的权限。