我在谷歌上搜索了上述主题,似乎每个人都在谈论文件读取权限。但就我而言,这不是许可,让我在下面解释一下。
我已成功构建
X509Certificate2
,并将它们打印到文件中,并检查了 NotBefore
、NotAfter
、CN
和 Thumbprint
,全部与我的 SSL 匹配。
我构建的方式是直接使用
pfx
文件,因此不需要与 IIS 通信的权限。
本地一切正常,我可以进行 SSL 连接。但不在服务器中
我发现问题了。
在 IIS 中,每个应用程序都有其单独的访问权限。
要解决此问题,请转到 IIS 中的应用程序池,并将身份从 ApplicationPoolIdentity 更改为 NetWork。
失败原因是ApplicationPoolIdentity在IIS下没有网络访问权限。
要解决具有类似症状的错误,可能需要将身份设置为 LocalSystem,以便正确使用本地计算机存储中的证书。