SQL Server Management Studio(SSMS)旨在安装在连接 Internet 的计算机上,因为应用程序及其组件会定期更新。 但是,可以在工作 Internet 连接不可用的环境中部署 SSMS。
SSMS 安装引擎仅安装受信任的内容。 它会检查正在下载的内容的验证码签名,并验证所有内容在安装之前是否受信任。 此验证可保护环境免受下载位置泄露的攻击。
因此,SSMS 安装程序要求在用户的计算机上安装并保持多个标准 Microsoft 根证书和中间证书的最新状态。 如果计算机保持与 Windows 更新同步,则签署证书通常是最新的。 如果计算机连接到 Internet,在安装期间 Visual Studio 可能会根据需要刷新证书来验证文件签名。 如果计算机处于脱机状态,则必须以另一种方式刷新证书。
如何在脱机时安装或刷新证书
在脱机环境中安装或更新证书有三个选项。
选项 1 - 从布局文件夹中手动安装证书
创建 脱机布局时,所需的证书将下载到“证书”文件夹。 可以通过右键单击每个证书文件,选择“安装证书”,然后单击“证书管理器”向导来手动安装证书。 如果系统要求输入密码,请将其留空。
选项 2 - 在企业环境中分发受信任的根证书
对于没有最新根证书的脱机计算机的企业,管理员可以使用 “配置受信任的根和不允许的证书 ”页上的说明来更新它们。
选项 3 - 在 SSMS 的脚本部署过程中安装证书
如果要在脱机环境中编写 SSMS 部署到客户端工作站的脚本,可以按照以下步骤作:
将 证书管理器工具 (certmgr.exe)复制到布局文件夹。 Certmgr.exe 不包括在 Windows 中,但作为 Windows SDK 的一部分提供。
使用以下命令创建批处理文件:
certmgr.exe -add [layout path]\certificates\manifestRootCertificate.cer -n "Microsoft Root Certificate Authority 2011" -s -r LocalMachine root certmgr.exe -add [layout path]\certificates\manifestCounterSignRootCertificate.cer -n "Microsoft Root Certificate Authority 2010" -s -r LocalMachine root certmgr.exe -add [layout path]\certificates\vs_installer_opc.RootCertificate.cer -n "Microsoft Root Certificate Authority 2010" -s -r LocalMachine root或者,创建一个批处理文件,该文件使用 Windows 附带的 certutil.exe,并运行以下命令:
certutil.exe -addstore -f "Root" "[layout path]\certificates\manifestRootCertificate.cer" certutil.exe -addstore -f "Root" "[layout path]\certificates\manifestCounterSignRootCertificate.cer" certutil.exe -addstore -f "Root" "[layout path]\certificates\vs_installer_opc.RootCertificate.cer"将批处理文件部署到客户端。 此命令应在具有提升权限的进程中运行。
验证用于脱机安装的证书
在脱机计算机上安装 SSMS 可能需要有效的证书。 如果尝试使用布局在脱机计算机上安装 SSMS,并且安装程序退出不会引发异常,则可能是因为证书无效。 转到 %TEMP% 该文件夹并打开名为 dd_bootstrapper_yyyyMMddHHmmss.log“的最新引导程序”文件。 以下消息指示安装由于证书无效而失败:
Certificate is invalid: <YourSSMSFolder>\vs_installer.opc
Error: Unable to verify the certificate: InvalidCertificate
Error 0x80131509: Signature verification failed. Error: Unable to verify the integrity of the installation files: the certificate could not be verified.
若要确保安装成功完成,请执行以下步骤:
- 在连接到 Internet 的计算机上,下载 Microsoft Windows 代码签名 PCA 2024 证书。
- 将 .crt 文件移动到脱机计算机。
- 在脱机计算机上,右键单击 .crt 文件,然后选择“ 安装证书”。
- 选择 “本地计算机 ”作为“存储位置”,然后选择 “下一步”。
- 保持根据证书类型自动选择证书存储位置,然后选择下一步。
- 选择完成。
- 你会看到提示, 导入成功。
- 使用本地布局安装 SSMS。
维护脱机计算机
对于维护脱机计算机的用户, 请获取所需的证书 并手动部署它们。
证书文件夹中的证书文件是什么?
文件夹中有三个 Certificates 证书文件。
manifestRootCertificate.cer包含:- 根证书:Microsoft根证书颁发机构 2011
manifestCounterSignRootCertificate.cer和vs_installer_opc.RootCertificate.cer包含:- 根证书:Microsoft根证书颁发机构 2010
Visual Studio 安装程序 只需要在系统上安装根证书。
为什么证书文件夹中的证书未自动安装?
在联机环境中验证签名时,Windows API 用于下载证书并将其添加到系统。 在此过程中,可通过管理设置验证证书是否受信任且已获允许。 大多数脱机环境中都无法执行此验证过程。 手动安装证书可让企业管理员确保证书受信任,并满足组织的安全策略。
检查是否已安装证书
可以检查是否已使用以下步骤安装证书。
- 运行 mmc.exe。
- 选择“文件”,然后选择“添加/删除管理单元”。
- 双击“ 证书”,选择“ 计算机帐户”,然后选择“ 下一步”。
- 选择 “本地计算机”,然后选择 “完成”。
- 展开“证书(本地计算机)”。
- 展开 “受信任的根证书颁发机构”,然后选择“ 证书”。
- 检查此列表以获取必要的根证书。
- 展开 中间证书颁发机构,然后选择 “证书”。
- 检查此列表以获取所需的中间证书。
- 选择 “文件”,然后选择 “添加/删除管理单元”。
- 双击“ 证书”,选择 “我的用户帐户”,然后选择“ 完成”。
- 展开“证书 - 当前用户”。
- 展开 中间证书颁发机构,然后选择 “证书”。
- 检查此列表以获取所需的中间证书。
如果证书名称不在 “颁发给” 列中,则必须安装它们。 如果中间证书仅位于 当前用户中间证书 存储中,则它仅适用于登录的用户。 可能需要为其他用户安装它。
安装 SSMS
在客户端计算机上安装证书后,即可从布局 安装 SSMS 。