将根/可信发布者证书文件部署到 Windows 机器

GAT*_*awn 4 windows certificate sccm

我有一个自签名的 .cer 证书,我需要将它部署到大约 1000 台机器上,运行从 Windows XP 和 Server 2003 到 Windows 7 和 Server 2008 R2 的各种 Windows 版本。

SCCM 是我们的常规部署方法,并尝试以几种不同的方式部署这些方法,但遇到了这样一个事实,即并非所有必需的工具都在所有操作系统上可用,或者我只是在自动部署中收到错误消息而我没有没有看到手动运行它们。

我发现的最跨平台友好的方法是从安装了管理工具的 XP SP3 副本中获取 CertUtil.exe 和 certadm.dll 的副本,并将其放在与 .cer 文件相同的文件夹中,然后在批处理文件中使用以下命令行:

certutil.exe -addstore TrustedPublisher cert.cer

certutil.exe -addstore root cert.cer
Run Code Online (Sandbox Code Playgroud)

手动运行批处理文件可以很好地工作,但是自动运行它会出现各种错误。

有没有更好的方法来跨 Windows 平台执行此操作?

Joh*_*ers 5

由于您拥有那么多机器,因此假设您使用的是 AD 域似乎是合理的,在这种情况下,您可以使用组策略对象推送证书。有许多文章描述了这些步骤,例如来自 Technet 的这篇文章。


GAT*_*awn 3

遵循前一个问题在 Win XP Home 中使用命令行导入证书的线索,并进行了相当多的尝试,现在可以在整个操作系统中一致地部署它。

已从 32 位 Win Server 2003 SP2 管理包 ( KB340178 ) 中提取以下文件,并将其与证书一起保存在 SCCM 中包源的文件夹中:

certadm.dll
certcli.dll
certreq.exe
certutil.exe
cert.cer
Run Code Online (Sandbox Code Playgroud)

现在放弃批处理文件并使用以下两个命令行在 SCCM 中创建两个单独的程序(两者都链接到一个广告中),这一切似乎都在跨操作系统自动部署。

certutil.exe -addstore TrustedPublisher cert.cer

certutil.exe -addstore root cert.cer