https双向验证出现未能创建 SSL/TLS 安全通道的解决方法
原证书到期了,更换新证书后报错 未能创建 SSL/TLS 安全通道
本机调试正常,WinFrom程序测试正常,就是在IIS里调用异常.
考虑是证书权限问题,按以下步骤执行即可解决
1.导入证书,按默认方式即可
2.进入控制台(MMC),-->证书管理-->找到导入的证书-->右键-->所有任务-->管理私钥-->添加Everyone用户权限
3.问题解决
2020-12-02 补充
用了一段时间,突然又出现未能创建 SSL/TLS 安全通道的错误.经检查,Everyone用户权限还在.
尝试删除证书再添加无效
删除证书重启服务器,再添加证书和权限恢复
第二天又出现同样问题
百度找到终极解决方案:
修改IIS上对应项目的程序池标识
1. 打开IIS -> 选择[应用程序池] -> 选中对应的项目 -> 选择右侧的[高级设置]
2. 找到[进程模型] -> 修改[标识]属性值
3. 将 ApplicationPoolIdentity 修改为 LocalSystem
参考https://www.cnblogs.com/similar/p/6831899.html,感谢similar
Pass:
上面的方法以为解决了,实际上过一会就又失效了
真正解决方法:把证书放到站点目录下就OK了.
原来是放在D盘根目录下的,应该是IIS对非本站点目录的权限问题.
PASS:
以上方法对现在的服务器依然无效,另一台服务器就正常.
用了读取已导入的证书的方法解决了问题