我按照这个教程来模拟我自己的“CA”:https://www.privux.de/certificate-authority/
原因是,我有一个小型服务器基础设施,其中有很多 Web 接口,例如 dns 接口、proxmox 接口、防火墙接口……等,当我连接到 VPN 时,可以通过浏览器访问这些接口。
因此可以使用“dns.mydomain.intern”之类的 DNS 名称。但我不喜欢每次都单击“信任此站点”。
所以我的想法是创建自己的“ca”并将根证书导入我的手机、笔记本电脑和服务器。使用 ansible 应该可以在短时间内将证书部署到所有服务器,或者是否有更快的选项,例如使用 ldap?(我记得,微软有一个针对域控制器的解决方案 - 有没有适用于 Linux 的解决方案?)
我的问题是什么?很简单:
我已将根证书导入到我的 Windows 计算机和 Android 手机。
在 Windows 上我双击文件导入了证书并按照说明进行操作。
另外,我还在此处的证书窗口中导入了文件: - 受信任的根证书颁发机构 - 受信任的发布者 - CA 信息:我刚刚从我的德语电脑上翻译了它 - 也许它在英语中叫法不同。
在 Microsoft Edge 上,它运行良好 - 我的证书有效且受信任。但在 Chrome 或 Opera 上则不然。它仍然不受信任且显示为红色。但当我单击信息以查看证书详细信息时,它显示证书有效。什么?!
在 Android 上我点击文件添加了证书,并按照屏幕上的说明进行操作。但我也遇到了这个错误(在 Chrome 和 Edge 中)。
为什么?我的网站能否在基于 Chrome 的浏览器中获得信任?
谢谢。
答案1
除了 IE/Edge 之外的其他浏览器都有自己的证书存储。您需要启用这些浏览器以使用 Microsoft 的证书存储,或者您需要将您的根 CA 导入到浏览器自己的证书存储中。
如果您创建了子 CA(中间 CA),则需要确保 Web 服务器将完整链(根 CA + 中间 CA)发送给客户端。否则客户端(浏览器)无法验证 Web 服务器提供的证书。