我在 IIS 网站上有一个需要客户端证书的 web 服务,我的证书是自签名的,我可以在安装所有颁发/需要的证书后从我的开发计算机访问该网站而没有任何警告,我的问题是我需要访问来自服务器内部的 web 服务,但它不工作,我可以通过加载证书 pfx 文件从我的开发机器上做到这一点,但在服务器上它会爆炸,我已经拥有应用程序池访问商店证书的权利,但仍然没有去吧,我很感激任何建议。谢谢
在开发机器上,此代码有效: svc.ClientCertificates.Add(new System.Security.Cryptography.X509Certificates.X509Certificate2(Server.MapPath("Certs/MyFile.pfx"), "mypfxpassword"));
但是在服务器上编码炸弹: System.Security.Cryptography.X509Certificates.X509Utils._LoadCertFromFile(....
所以我在服务器上尝试了这段代码: X509Certificate2 cert = new X509Certificate2(Server.MapPath("Certs/MyFile.pfx"), "mypfxpassword", X509KeyStorageFlags.MachineKeySet); svc.ClientCertificates.Add(cert);
并且出现了一个新错误: “无法为 SSL/TLS 安全通道建立信任关系。”
我已经试过这个 winhttpcertcfg.exe -g -c LOCAL_MACHINE\My -s MyCertName -a "MYMACHINENAME\Name Of App Pool"
而这个 ICACLS /grant "IIS AppPool\DefaultAppPool":R
我用我的服务器参数替换了命令中的参数,它们成功执行,但仍然没有出现“无法为 SSL/TLS 安全通道建立信任关系。”。
任何帮助深表感谢。谢谢