我是密码学的新手,我有点卡住了:
我正在尝试(从我的开发环境)使用 HTTPS 连接到 Web 服务。Web 服务需要客户端证书 - 我认为我已正确安装。
他们为我提供了一个 .PFX 文件。在 Windows 7 中,我双击该文件以将其安装到我的当前用户 - 个人证书存储中。
然后,我从商店的证书条目中导出了一个 X509 Base-64 编码的 .cer 文件。它没有与之关联的私钥。
然后,在我的应用程序中,我尝试像这样连接到服务:
var certificate = X509Certificate.CreateFromCertFile("xyz.cer"));
var serviceUrl = "https://xyz";
var request = (HttpWebRequest) WebRequest.Create(serviceUrl);
request.ClientCertificates.Add(certificate);
request.Method = WebRequestMethods.Http.Post;
request.ContentType = "application/x-www-form-urlencoded";
连接时出现 502 连接失败。
这种方法有什么问题吗?我们的生产环境似乎使用类似的配置,但它运行的是 Windows Server 2003。
谢谢!