使用 IIS 跨域设置证书

Setup Certificate Across Domain With IIS

我在同一物理 windows 服务器 2019

上安装了以下软件

我还有几个 Linux 网页服务器和 Cisco router/switches

我想使用 HTTPS 但避免出现“不安全警告”页面,以下是我所做的。

  1. 我打开IIS管理器,在server certificates下,Create Domain Certificate,填写CN (Common Name)为YYY,Organization unit XXX.local
  2. 右键单击默认网站,编辑绑定。键入 https,选择刚刚创建的 SSL 证书。其他都没有填。
  3. 查看证书,复制到文件,导出到共享文件夹,安装在属于域的客户端PC上。已验证是否正确列出了受信任的根 CA
  4. 清除客户端机器上的缓存和 DNS 记录,在服务器机器上重新启动网站。

但我仍然收到一个错误页面,指出通用名称无效。

我错过了什么? 我需要做什么才能将证书正确分配给其余网页?

----------------更新 2020-09-08---------------------

我用 YYY 重新创建了一个新证书。XXX.local 作为 CN,与 CA 的友好名称同名。它适用于 Internet Explorer 然而它仍然不适用于 Chrome 和新的 Edge(铬核心) 我尝试导入证书,重新启动浏览器,但它以某种方式拒绝显示。

请注意,在整个过程中,计算机都在同一个域中,因此安装了根 CA 证书。事实上,在我删除每个 'manually imported' 证书后,IE 仍然适用于我。

Difference viewing certificates from mmc and from browser settings

我成功了。

经过一些研究,证书中缺少 SAN 参数。 Chromium 不信任任何 SAN 为空的证书。

但是直接从IIS管理器请求证书没有修改SAN参数的选项。

解决办法,是从本地机器证书管理器自定义请求证书,编辑CN,SAN(一般是DNS)等。然后copy/paste生成的.req文件内容到http:///localhost/certsrv/ 下载并安装已批准的证书,然后将其绑定回 IIS 管理器上的网站。