安装证书以脱机安装 SQL Server Management Studio

SQL Server Management Studio(SSMS)旨在安装在连接 Internet 的计算机上,因为应用程序及其组件会定期更新。 但是,可以在工作 Internet 连接不可用的环境中部署 SSMS。

SSMS 安装引擎仅安装受信任的内容。 它会检查正在下载的内容的验证码签名,并验证所有内容在安装之前是否受信任。 此验证可保护环境免受下载位置泄露的攻击。

因此,SSMS 安装程序要求在用户的计算机上安装并保持多个标准 Microsoft 根证书和中间证书的最新状态。 如果计算机保持与 Windows 更新同步,则签署证书通常是最新的。 如果计算机连接到 Internet,在安装期间 Visual Studio 可能会根据需要刷新证书来验证文件签名。 如果计算机处于脱机状态,则必须以另一种方式刷新证书。

如何在脱机时安装或刷新证书

在脱机环境中安装或更新证书有三个选项。

选项 1 - 从布局文件夹中手动安装证书

创建 脱机布局时,所需的证书将下载到“证书”文件夹。 可以通过右键单击每个证书文件,选择“安装证书”,然后单击“证书管理器”向导来手动安装证书。 如果系统要求输入密码,请将其留空。

选项 2 - 在企业环境中分发受信任的根证书

对于没有最新根证书的脱机计算机的企业,管理员可以使用 “配置受信任的根和不允许的证书 ”页上的说明来更新它们。

选项 3 - 在 SSMS 的脚本部署过程中安装证书

如果要在脱机环境中编写 SSMS 部署到客户端工作站的脚本,可以按照以下步骤作:

  1. 证书管理器工具 (certmgr.exe)复制到布局文件夹。 Certmgr.exe 不包括在 Windows 中,但作为 Windows SDK 的一部分提供。

  2. 使用以下命令创建批处理文件:

    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"
    
  3. 将批处理文件部署到客户端。 此命令应在具有提升权限的进程中运行。

验证用于脱机安装的证书

在脱机计算机上安装 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.

若要确保安装成功完成,请执行以下步骤:

  1. 在连接到 Internet 的计算机上,下载 Microsoft Windows 代码签名 PCA 2024 证书
  2. 将 .crt 文件移动到脱机计算机。
  3. 在脱机计算机上,右键单击 .crt 文件,然后选择“ 安装证书”。
  4. 选择 “本地计算机 ”作为“存储位置”,然后选择 “下一步”。
  5. 保持根据证书类型自动选择证书存储位置,然后选择下一步
  6. 选择完成
  7. 你会看到提示, 导入成功
  8. 使用本地布局安装 SSMS。

维护脱机计算机

对于维护脱机计算机的用户, 请获取所需的证书 并手动部署它们。

证书文件夹中的证书文件是什么?

文件夹中有三个 Certificates 证书文件。

  • manifestRootCertificate.cer 包含:

    • 根证书:Microsoft根证书颁发机构 2011
  • manifestCounterSignRootCertificate.cervs_installer_opc.RootCertificate.cer 包含:

    • 根证书:Microsoft根证书颁发机构 2010

Visual Studio 安装程序 只需要在系统上安装根证书。

为什么证书文件夹中的证书未自动安装?

在联机环境中验证签名时,Windows API 用于下载证书并将其添加到系统。 在此过程中,可通过管理设置验证证书是否受信任且已获允许。 大多数脱机环境中都无法执行此验证过程。 手动安装证书可让企业管理员确保证书受信任,并满足组织的安全策略。

检查是否已安装证书

可以检查是否已使用以下步骤安装证书。

  1. 运行 mmc.exe
  2. 选择“文件”,然后选择“添加/删除管理单元”
  3. 双击“ 证书”,选择“ 计算机帐户”,然后选择“ 下一步”。
  4. 选择 “本地计算机”,然后选择 “完成”。
  5. 展开“证书(本地计算机)”
  6. 展开 “受信任的根证书颁发机构”,然后选择“ 证书”。
  7. 检查此列表以获取必要的根证书。
  8. 展开 中间证书颁发机构,然后选择 “证书”。
  9. 检查此列表以获取所需的中间证书。
  10. 选择 “文件”,然后选择 “添加/删除管理单元”
  11. 双击“ 证书”,选择 “我的用户帐户”,然后选择“ 完成”。
  12. 展开“证书 - 当前用户”
  13. 展开 中间证书颁发机构,然后选择 “证书”。
  14. 检查此列表以获取所需的中间证书。

如果证书名称不在 “颁发给” 列中,则必须安装它们。 如果中间证书仅位于 当前用户中间证书 存储中,则它仅适用于登录的用户。 可能需要为其他用户安装它。

安装 SSMS

在客户端计算机上安装证书后,即可从布局 安装 SSMS