我正在管理一个基于 Linux 的小型企业网络。用户信息集中存储在 OpenLDAP 目录中。目前有一个 CA 用于签署服务器证书。它使用 EasyRSA 进行管理。我当前的项目是设置一个 VPN 以远程访问网络以及基于 802.1X 的 WiFi。我想对两者都使用客户端证书。
我想避免手动创建每个客户端证书。理想情况下,应该有一个 Web 服务,它根据 LDAP 对用户进行身份验证,并允许他们创建签名的客户端证书而无需管理员干预。可以为此类服务创建一个中间 CA。
有没有一个项目,无论是免费的还是商业的,可以让我做到这一点?理想情况下是基于 Linux 的,因为这最适合现有环境。在研究过程中,我偶然发现了 OpenCA 和 EJBCA,它们似乎具有高度可配置性。但目前尚不清楚它们是否能够提供此功能。
添加: 我找到了一个指南提到了 Active Directory 证书服务,这似乎基本上就是我需要的。向下滚动到“在 Windows 7 上生成用户证书”,其中显示了该过程。但是,由于这不是 Windows 网络,因此最好使用另一种没有 Active Directory 的解决方案。
答案1
我创建了一个 Makefile 来处理这个问题。所以我永远不需要记住任何 openssl 命令!:-) 我用它来注册服务器证书和客户端证书,甚至智能卡上的证书。我还可以撤销证书并发布 CRL。
嗯,我刚刚创建了一个 repogithub,以便您查看。
OpenCA 相当酷而且很强大。但我认为它不再被积极维护了。用户会在浏览器中注册他的证书,但之后他必须导出证书...