我正在研究如何在本地 Active Directory 内联网上设置 Zulip 聊天服务器。聊天服务器需要 SSL 证书,我可以从 OpenSSL 生成 CRT 和 KEY 文件。
但是,我希望将这些文件安装到 Active Directory 中,以便 Active Directory 中的所有用户和机器都会自动获取它们,并且不会收到必须接受未知证书的警告。
我曾尝试用 Google 搜索此内容,但要么是我的搜索技巧不够好,要么就是我使用了错误的术语,从而得到了错误的内容。
答案1
是的,可以通过组策略部署 CA 证书 –Windows 设置 → 安全设置 → 公钥策略 → 受信任的根证书颁发机构。
但由于您已经拥有 Active Directory,我强烈建议您安装证书服务组件并创建一个实际 CA您可以从中颁发单独的服务器证书 - 这样您就可以继续添加内部服务,并且只需要为所有内容部署一个证书,而不是数十个自签名证书。
答案2
您无法使用组策略分发证书和(私钥)。整个想法毫无意义,因为私钥按定义是私有的,因此不应共享。
但是,您可以通过组策略分发证书。根据 Windows 的版本,您可以将证书发送到根存储、中间存储或其他存储。
您需要做的是创建一个认证机构(使用 OpenSSL、Microsoft Active Directory 证书服务 (ADCS) 或其他工具)并使用它来签署来自每个客户端的证书签名请求。
正如@grawity所说,您使用的是 Windows,因此您也可以使用 ADCS 来执行此操作。您甚至可以对其进行配置,以便所有客户端自动注册证书,而无需任何用户干预。
我的建议是:
- 使用 Microsoft ADCS 安装离线根 CA;
- 使用 Microsoft ADCS 安装在线颁发 CA;
- 配置组策略将根CA证书分发给所有设备;
- 配置组策略以启用自动注册,强制所有设备从颁发 CA 请求自己的证书;
请记住,糟糕的安全措施比没有安全措施更糟糕。在深入研究 PKI 之前,请先做好研究。