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:
以上方法对现在的服务器依然无效,另一台服务器就正常.
用了读取已导入的证书的方法解决了问题
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)