![IIS Windows 身份验证:IE 未选择正确的证书](https://linux22.com/image/726761/IIS%20Windows%20%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81%EF%BC%9AIE%20%E6%9C%AA%E9%80%89%E6%8B%A9%E6%AD%A3%E7%A1%AE%E7%9A%84%E8%AF%81%E4%B9%A6.png)
我正在尝试设置一个内部网网站(osTicket 票务解决方案)。我希望我的用户能够自动连接到该网站,这样他们就不必填写他们的凭据。为此,我有:
- 创建 IIS 服务器 10.0
- 在我的域的 DNS 中设置 DNS 记录
- 使用我的域名的证书颁发机构为该 URL 创建 SSL 证书
- 将证书绑定到 IIS
- 通过 GPO 将站点添加到 Intranet 区域(SSL 和此 GPO 应确保用户不会在 IE 中提示输入凭据)
- 在 IIS 中设置身份验证:仅 NTLM,无匿名身份验证
在新电脑上,一切都按预期运行。IE 上没有 SSL 警告,Chrome 和 IE 上的直通功能正常。
然而如果计算机安装了 Microsoft Skype for Enterprise(或者我猜是 Office),则会创建一个身份验证证书(我可以在 crtmgr.msc 的个人>证书下看到它)。如果我尝试连接到我的内部网站,则会自动使用此证书。由于我的本地域与 Office365 域不同,IIS 不接受该证书并返回“403 禁止”。
如果我删除此证书,一切都将正常,直到我再次启动 Skype for Enterprise 并再次创建证书。
在 Chrome 中,它会询问我是否要使用 Skype 证书。如果我接受,则会收到 403 错误。如果我拒绝,它就会正常工作。
我没什么主意了。如何告诉 IE 不要使用 Skype 证书?或者欢迎任何其他想法。
谢谢
编辑:通过在 certmg.msc 中向我的 CA 请求证书,我现在可以在 IE 和 Chrome 中选择正确的证书。但是,我只能从 msc 创建此证书。我正在寻找一种通过脚本执行此操作的方法,以便以后可以使用 GPO 应用它。使用 certreq.exe,我的请求参数不完全相同,我无法在 IE 和 Chrome 中使用它
答案1
最后,我找到了另一种解决问题的方法。我通过注册密钥更改了 Lync 保存证书的存储。它至少适用于 Office 15 和 16。您可以通过 GPO 轻松应用它。