我正在尝试设置一个仅 IPv6 的 Exchange Server 2013,在 Server 2012 R2 Datacenter 上运行。这是用于测试目的的 VirtualBox 中的单机设置。
到目前为止一切正常。即,我可以访问 Exchange-OWA 并向启用 IPv6 的邮件提供商发送和接收电子邮件。
但是,我似乎仍然无法连接 Outlook 2016。这似乎与我的证书有关。访问 OWA 的 Chrome/IE 也抱怨证书,但这可以跳过,而对于 Outlook 2016,这是一个停止。
因此,我在服务器上安装了证书颁发机构角色,对其进行了配置(企业 CA、根 CA),在 Exchange 2013 中创建了证书,由我的 CA 签名(网络注册)并在 Exchange 中启用了它。所以,如果我从服务器访问 OWA,证书就可以了。然后我将证书复制到运行我的 Outlook 客户端的机器上并将其导入到那里(Windows 10 Home Premium x64)。然而,Chrome/IE 仍然抱怨一个不受信任的发行者。我的证书显示在 windows-certificate-store 中,但是如果我在控制面板中检查 Internet 选项,我看不到我的证书。当我尝试在那里添加它时,它说它有效,但它没有出现在列表中。
客户端计算机是否有必要以某种方式访问根CA(或从属CA)以某种方式验证证书没有被吊销?还是我错过了其他东西?如果它需要在线,有没有办法做到这一点?这不是一个生产环境(也不应该成为一个),而只是测试 IPv6 就绪性。
好吧,我不得不说我很抱歉。但这整个话题对我来说很新鲜。但是,我设法自己找到了解决问题的方法:
当然它不能工作,因为我只在我的客户端中导入了 Exchange 服务器的证书。这将我的私有根 CA 引用为颁发者。由于我没有导入根 CA 的证书,因此我的客户端永远无法信任交换证书,因为它无法使用根 CA 的证书对其进行验证。因此,在我导出我的根 CA 证书并将其在我的客户端上导入到“受信任的根证书颁发机构”存储后,Exchange-cert 也变得受信任。随后 Outlook 2016 完美连接。
虽然这解决了我最初的问题,但它没有回答我提出的问题:如何在不连接到颁发者的情况下撤销证书?我的商店里确实有很多根证书,它们似乎没有任何类型的 URL 或 IP 来检查它们的撤销状态。
至于您最初的问题,问题在于您的客户无法识别和验证叶子证书。任何机器都必须这样做,它必须在其信任库中拥有根 CA 的公共证书。此外,您不需要将叶证书复制到客户端。
至于您在答案中提出的问题,请查看Wikipedia:Revocation List TL;DR - 您需要手动传播 CRL,因为您是根 CA 及其责任