通过网络服务器注册证书

Certificate enrollment via webserver

我们有一个基于 Java 的网络服务器,除其他外,它管理许多用户并为这些用户创建和管理数字证书(私钥和 public 密钥)。

我正在寻找一种从该网络服务器(通过 Kerberos 身份验证)自动请求、下载和安装特定数字证书(私钥和 public 密钥)的方法。

用例:数以千计尚未安装证书的客户端 PC 将来必须与此服务器通信,因此他们应该在没有任何用户交互的情况下安装各自的证书。 客户端 PC 都在使用 Windows,它们的基础设施基于某种 Windows 服务器。

最初的想法是(对于他们的 Windows 服务器)在某种程度上使用组策略,借助 "certutils" 或 "certreq" 等工具,这些工具可通过 Windows。 我相信这些工具中有自动注册选项(enrollmentServerURL?),我想基本上 "ask our specific webserver for a certificate, get the certificate and install it."

然而,"how"暗指我。

我们的网络服务器将不得不修改,基本上"answer"这样的请求,没问题。但我们首先必须知道来自 Windows/certutil/certreq/other 工具的实际请求是什么。 我确定 Windows 已经具有此功能,有人知道如何执行此操作吗?如果是这样,实际上向网络服务器发送了什么样的请求,以便我可以通过网络服务器 "answer" 这? (Microsoft 的 "Certificate Enrollment Web Service" 适用于 Java 网络服务器吗?)

经过大量研究,我发现 Windows 证书自动注册无法指向外部 CA 或网络服务器。