我的任务是在我们的域上创建一个 Windows Server 2012 证书颁发机构 (CA),并使用它为我们的用户创建个人证书。该证书的目的是能够签署 PDF 文件
我已经创建了 CA,并创建了一个名为“PDF 签名”的新模板,其中包含我需要的所有选项。现在唯一剩下的就是为我们的用户创建证书。
到目前为止,我已经看到了 3 种方法可以做到这一点:
- 运行 certmgr,右键单击个人->证书并请求证书。按照向导并选择“PDF 签名”模板。我不知道这种方法是否要求用户是管理员。
- 安装 Web 注册角色功能并将用户指向该网站。具有讽刺意味的是,我发现 UI 比 certmgr 中的 UI 更复杂
- 命令行版本 (certreq)
有没有办法自动执行此过程?命令行版本需要 .ini 文件并提供密码,这使自动化变得复杂。
我是不是得向用户解释如何使用 certmgr?我们的用户没有任何权限,甚至没有本地管理员权限。还是还有其他我没见过的方法?
答案1
此功能称为“证书自动注册”:配置证书自动注册
请注意:不要使用网络注册,它已经过时了,而且功能非常有限。
编辑:自动注册的工作原理如下。
- 每次在客户端上刷新组策略时(在域成员上大约每 90 分钟 +/- 一次,在域控制器上大约每 15 或 5 分钟一次,具体取决于功能级别),它都会触发自动注册。
- 自动注册检查来自 Active Directory 的所有证书模板,并选择当前用户帐户(或组)具有读取和自动注册权限的证书模板。
- 自动注册在 Active Directory 林中查找可用的企业 CA,并检查该 CA 是否支持在步骤 2 中选择的证书模板。
- 自动注册检查本地证书存储,并根据步骤 3 中选择的模板检查是否存在有效证书。如果缺少证书,自动注册将执行静默证书注册。
虽然逻辑更复杂,但这些信息足以让您了解如何选择模板,换句话说,通过 CA 服务器上的权限和证书模板可用性。