我负责管理大约 50 台运行 XP/Vista 的机器,它们全部位于一个 Windows Server 2008 域中。我们正在内部推出一些测试 Web 服务器,这些服务器的 SSL 证书由公司内部 CA 签署。
为了防止用户被 SSL 警告所困惑,我需要在每台机器上安装 CA 的证书。
有没有关于如何在 Windows 机器上为 IE 和 Firefox 自动安装证书的想法?
答案1
最好的办法是使用组策略将根证书部署到机器上。本文这里详细解释了这个过程。
答案2
FirefoxADM将帮助您为 Firefox 部署 CA 证书。此方法的麻烦之处在于它会分发整个证书数据库。用户添加的任何证书都将被覆盖。
答案3
我建议使用certutil
NSS Tools [1],它可以管理 Firefox 和 Thunderbird [2] 等软件使用的证书数据库:
certutil.exe -A -n <cert name> -t <trust> -i <cert filepath> -d <firefox/thunderbird profile dirpath)
结合PsTools 的PsExec
或 AD/登录脚本。无论哪种方式,它都应在软件未在远程主机上运行时运行。
NSS Tools 源代码可以从以下位置获取https://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/(可以在网上找到一些 Windows 二进制文件,但考虑到安全性,最好自己编译)
[1]:网络安全服务:https://developer.mozilla.org/docs/NSS/tools/NSS_Tools_certutil
[2]:他们正在使用Netscape Communicator 数据库与文件cert8.db
和key3.db
。
答案4
要将证书导入所有域计算机上的 Firefox,请执行以下操作:
- 将 SSL 证书手动导入任意电脑上的 Firefox 浏览器
- 然后复制 Firefox 证书数据库
cert8.db
- 在路径中找到它
C:\Users\user1\AppData\Roaming\Mozilla\Firefox\Profiles\8arq0r3k.default
- 在路径中找到它
- 将证书数据库复制到网络共享位置
- 将以下内容保存到批处理文件(修改共享路径):
script.bat
:
Set FFProfdir=%Appdata%\mozilla\firefox\profiles
cd %FFProfdir%
DIR /A:D /B > "%Temp%\FFProfile.txt"
FOR /F "tokens=*" %%i in (%Temp%\FFProfile.txt) do (
CD /d "%FFProfDir%\%%i"
rename cert8.db cert8.db.orig
copy "\\server1\cert8.db"
)
DEL /f /q "%Temp%\FFProfile.txt"
此批处理将 cert8.db 替换为包含新证书的 cert8.db。使用域组策略在启动时运行此批处理Computer Configuration\Windows Settings\Scripts (Startup/Shutdown)