获取用于 Windows Server 和 System Center Operations Manager 的证书

本文介绍如何在 Windows 平台上使用独立证书或企业 Active Directory 证书服务(AD CS)证书颁发机构(CA)服务器获取证书并将其与 Operations Manager 管理服务器、网关或代理配合使用。

  • 若要请求并接受证书,请使用 certreq 命令行实用工具。 若要提交和检索证书,请使用 Web 界面。

先决条件

确保满足以下条件:

  • 在环境中使用 Web 服务 第三方证书颁发机构安装并配置 AD-CS,其中包含与所示所需设置匹配的证书。
  • HTTPS 绑定及其关联的证书已安装。 有关创建 HTTPS 绑定的信息,请参阅 如何为 Windows Server CA 配置 HTTPS 绑定。
  • 典型的桌面体验,而不是核心服务器。

重要

Operations Manager 证书不支持加密 API 密钥存储提供程序(KSP)。

注意

如果组织不使用 AD CS 或使用外部证书颁发机构,请使用为该应用程序提供的说明创建证书并确保它满足 Operations Manager 的以下要求,然后按照提供的导入和安装步骤操作:

- Subject="CN=server.contoso.com" ; (this should be the FQDN or how the system shows in DNS)

- [Key Usage]
    - Key Exportable=TRUE ; This setting is required for Server Authentication 
    - HashAlgorithm = SHA256
    - KeyLength=2048
    - KeySpec=1
    - KeyUsage=0xf0
    - MachineKeySet=TRUE

- [EnhancedKeyUsageExtension]
    - OID=1.3.6.1.5.5.7.3.1 ; Server Authentication
    - OID=1.3.6.1.5.5.7.3.2 ; Client Authentication

- [Compatibility Settings]
    - Compatible with Windows Server 2003 ; (or newer based on environment)

- [Cryptography Settings]
    - Provider Category: Legacy Cryptography Service Provider
    - Algorithm name: RSA
    - Minimum Key Size: 2048 ; (2048 or 4096 as per security requirement.)
    - Providers: "Microsoft RSA Schannel Cryptographic Provider and Microsoft Enhanced Cryptographic Provider v1.0"

重要

对于本主题,AD-CS 的默认设置如下所示:

  • 标准密钥长度:2048
  • 加密 API:加密服务提供程序(CSP
  • 安全哈希算法:256 (SHA256) 根据公司安全策略的要求评估这些选择。

获取证书的高级过程:

  1. 从 CA 下载根证书。

  2. 将根证书导入到客户端服务器。

  3. 创建证书模板。

  4. 将模板添加到“证书模板”文件夹。

  5. 创建用于命令行实用工具的设置信息文件 <certreq>

  6. 创建请求文件(或使用 Web 门户)。

  7. 向 CA 提交请求。

  8. 将证书导入证书存储区。

  9. 使用 <MOMCertImport>.. 将证书导入 Operations Manager。

从 CA 下载并导入根证书

若要信任和验证从企业或独立 CA 创建的任何证书,目标计算机需要在其受信任的根存储中拥有根证书的副本。 大多数已加入域的计算机必须信任企业 CA。 但是,没有安装根证书,任何计算机都不会信任独立 CA 中的证书。

如果使用第三方 CA,下载过程将有所不同。 但是,导入过程保持不变。

从 CA 下载受信任的根证书

若要下载受信任的根证书,请执行以下步骤:

  1. 登录到要安装证书的计算机。 例如, 网关服务器或管理服务器

  2. 打开 Web 浏览器并连接到证书服务器 Web 地址。 例如,https://<servername>/certsrv

  3. “欢迎”页上,选择“下载 CA 证书”、“证书”或“CRL”。

    a. 如果出现 Web 访问确认提示,请验证服务器和 URL,然后选择“”。

    b. 验证 CA 证书下的多个选项并确认选择。

  4. 将编码方法更改为 Base 64 ,然后选择“ 下载 CA 证书链”。

  5. 保存证书并提供友好名称。

从客户端上的 CA 导入受信任的根证书

注意

若要导入受信任的根证书,必须在目标计算机上拥有管理权限。

若要导入受信任的根证书,请执行以下步骤:

  1. 将上一步中生成的文件复制到客户端。
  2. 打开“证书管理器”。
    1. 在命令行、PowerShell 或运行中,键入 certlm.msc ,然后按 Enter
    2. 选择“开始 > 运行”并键入 mmc 以查找Microsoft管理控制台(mmc.exe)。
      1. 转到 “文件>添加/删除管理单元...”
      2. 在“添加或删除管理单元”对话框中,选择“ 证书”,然后选择“ 添加”。
      3. 在“证书管理单元”对话框中,
        1. 选择 “计算机帐户 ”,然后选择“ 下一步”。 “选择计算机”对话框随即打开。
        2. 选择 “本地计算机 ”,然后选择“ 完成”。
      4. 选择“确定”
      5. 在控制台根下,展开 “证书”(本地计算机)
  3. 展开 “受信任的根证书颁发机构”,然后选择“证书”。
  4. 选择 “所有任务”。
  5. 在“证书导入向导”中,将第一页保留为默认值,然后选择“ 下一步”。
    1. 浏览到下载 CA 证书文件的位置,并选择从 CA 复制的受信任根证书文件。
    2. 选择下一步
    3. 在证书存储位置中,将受信任的根证书颁发机构保留为默认值。
    4. 依次选择“下一步”、“完成”
  6. 如果成功,来自 CA 的受信任根证书将显示在受信任的根证书颁发机构>证书下。

创建证书模板:企业 CA

企业 CA:

  • 与 Active Directory 域服务(AD-DS)集成。
  • 将证书和证书吊销列表(CRL)发布到 AD-DS。
  • 使用 AD-DS 中存储的用户帐户和安全组信息来批准或拒绝证书请求。
  • 使用证书模板。

为了颁发证书,企业 CA 使用证书模板中的信息生成具有该证书类型的相应属性的证书。

独立 CA:

  • 不需要 AD-DS。
  • 请勿使用证书模板。

如果使用独立 CA,请在证书请求中包含有关所请求证书类型的所有信息。

有关详细信息,请参阅 证书模板

为 System Center Operations Manager 创建证书模板

  1. 在环境中使用 AD CS 登录到已加入域的服务器(CA)。

  2. 在 Windows 桌面上,选择“启动>Windows 管理工具>证书颁发机构”。

  3. 在右侧导航窗格中,展开 CA,右键单击 “证书模板”,然后选择“ 管理”。

  4. 右键单击 IPSec(脱机请求), 然后选择“ 复制模板”。

  5. 此时 将打开“新建模板 的属性”对话框;选择如下:

    Tab 说明
    兼容性 1. 证书颁发机构:Windows Server 2008(或环境中的最低 AD 功能级别)。
    2. 证书收件人:Windows Server 2012(或环境中的最低版本 OS)。
    常规 1. 模板显示名称:输入友好名称,例如 Operations Manager
    2. 模板名称:输入与显示名称相同的名称。
    3. 有效期:输入符合组织要求的有效期。
    4. 在 Active Directory 中选择“发布证书”,如果 Active Directory 复选框中存在重复的证书,则不要自动重新注册。
    请求处理 1. 用途:从下拉列表中选择 “签名和加密 ”。
    2. 选中“允许导出私钥”复选框。
    加密 1. 提供程序类别:选择旧加密服务提供程序
    2。 算法名称:从下拉列表中选择 CSP 确定。
    3. 最小密钥大小:根据组织安全要求为 2048 或 4096。
    4. 提供程序:从下拉列表中选择 Microsoft RSA 通道加密提供程序Microsoft增强型加密提供程序 v1.0
    扩展 1.在此模板中包含的扩展下,选择“应用程序策略”,然后选择“编辑
    2”。 此时会打开“编辑应用程序策略扩展 ”对话框。
    3. 在 “应用程序策略:”下,选择 IP 安全 IKE 中间 ,然后选择“ 删除
    4”。 选择“添加”,然后在“应用程序策略”下选择“客户端身份验证”和服务器身份验证”。
    5. 选择“ 确定”。
    6. 选择 “密钥用法 ”和 “编辑”。
    7. 确保仅使用密钥加密(密钥加密)进行数字签名允许密钥交换。
    8. 选中“ 使此扩展关键 ”复选框,然后选择“ 确定”。
    安全性 1.确保经过身份验证的用户组(或计算机对象)具有读取注册权限,然后选择“应用以创建模板。

将模板添加到“证书模板”文件夹

  1. 在环境中使用 AD CS 登录到已加入域的服务器(CA)。
  2. 在 Windows 桌面上,选择“启动>Windows 管理工具>证书颁发机构”。
  3. 在右侧导航窗格中,展开 CA,右键单击“证书模板”,然后选择“要颁发的新>证书模板”。
  4. 选择在上述步骤中创建的新模板,然后选择“ 确定”。

使用请求文件请求证书

创建安装信息 (.inf) 文件

  1. 在承载要为其请求证书的 Operations Manager 功能的计算机上,在文本编辑器中打开一个新的文本文件。

  2. 创建包含以下内容的文本文件:

    
    [NewRequest]
    Subject=”CN=server.contoso.com”
    Key Exportable = TRUE  ; Private key is exportable
    HashAlgorithm = SHA256
    KeyLength = 2048  ; (2048 or 4096 as per Organization security requirement.)
    KeySpec = 1  ; Key Exchange – Required for encryption
    KeyUsage = 0xf0  ; Digital Signature, Key Encipherment
    MachineKeySet = TRUE
    ProviderName = "Microsoft RSA SChannel Cryptographic Provider and Microsoft Enhanced Cryptographic Provider v1.0"
    ProviderType = 12
    KeyAlgorithm = RSA
    
    ; Optionally include the Certificate Template for Enterprise CAs, remove the ; to uncomment
    ; [RequestAttributes]
    ; CertificateTemplate="SystemCenterOperationsManager"
    
    [EnhancedKeyUsageExtension]
    OID = 1.3.6.1.5.5.7.3.1  ; Server Authentication
    OID = 1.3.6.1.5.5.7.3.2  ; Client Authentication
    
    
  3. 使用 .inf 文件扩展名保存该文件。 例如,CertRequestConfig.inf

  4. 关闭文本编辑器。

创建证书请求文件

此过程对 Base64 中配置文件中指定的信息进行编码,并将信息输出到新文件。

  1. 在托管要为其请求证书的 Operations Manager 功能的计算机上,打开管理员命令提示符。

  2. 导航到 .inf 文件所在的同一目录。

  3. 运行以下命令以修改 .inf 文件名,以确保它与之前创建的文件名匹配。 将 .req 文件名保留原样:

    CertReq –New –f CertRequestConfig.inf CertRequest.req
    
  4. 打开新创建的文件并复制内容。

使用请求文件在 AD CS Web 门户中提交新的证书请求

  1. 在托管要为其请求证书的 Operations Manager 功能的计算机上,打开 Web 浏览器并连接到托管证书服务器 Web 地址的计算机。 例如,https://<servername>/certsrv

  2. Microsoft Active Directory 证书服务欢迎 页上,选择“ 请求证书”。

  3. “请求证书 ”页上,选择 高级证书请求

  4. 在“高级证书请求”页上,使用 base-64 编码的 CMC 或 PKCS #10 文件选择“提交证书请求”,或使用 base-64 编码的 PKCS #7 文件提交续订请求。

  5. 在“提交证书请求或续订请求”页上的“保存的请求”文本框中,粘贴在上一过程中步骤 4 中复制的 CertRequest.req 文件的内容。

  6. 证书模板上,选择创建的证书模板。 例如, OperationsManagerCert,然后选择“ 提交”。

  7. 如果成功,请在 “证书颁发 ”页上,选择 “Base 64 编码的>下载证书”。

  8. 保存证书并提供友好名称。 例如,另存为 SCOM-MS01.cer

  9. 关闭 Web 浏览器。

使用 AD-CS Web 门户请求证书

除了请求文件,还可以通过证书服务 Web 门户创建证书请求。 此步骤在目标计算机上完成,方便证书安装。 如果无法使用 AD-CS Web 门户的证书请求,请确保导出证书,如下所示:

  1. 在承载要为其请求证书的 Operations Manager 功能的计算机上,打开 Web 浏览器并连接到托管证书服务器 Web 地址的计算机。 例如,https://<servername>/certsrv
  2. Microsoft Active Directory 证书服务欢迎 页上,选择“ 请求证书”。
  3. “请求证书 ”页上,选择 高级证书请求
  4. 选择“ 创建”并向此 CA 提交请求。
  5. 此时会打开高级证书请求。 执行以下操作:
    1. 证书模板:使用之前创建的模板,或为 Operations Manager 指定的模板。
    2. 识别脱机模板的信息:
      1. 名称:服务器的 FQDN,或在 DNS 中显示时显示
      2. 根据需要为组织提供其他信息
    3. 关键选项:
      1. 选中将密钥标记为可导出的复选框
    4. 其他选项:
      1. 友好名称:服务器的 FQDN,或 DNS 中显示的名称
  6. 选择“提交”。
  7. 成功完成任务后,“证书颁发”页将打开,其中包含安装此证书的链接
  8. 选择“ 安装此证书”。
  9. 在服务器上, 个人证书存储 区存储证书。
  10. 加载 MMCCertMgr 控制台,并转到“个人>证书”并找到新创建的证书。
  11. 如果目标服务器上未完成此任务,请导出证书:
    1. 右键单击新证书 > “所有任务 > 导出”。
    2. 在“证书导出向导”中,选择“下一步”。
    3. 选择“是” ,导出私钥,选择“ 下一步”。
    4. 选择 个人信息交换 – PKCS #12 (。PFX).
    5. 如果可能,请选择“包括认证路径中的所有证书”,然后“导出所有扩展属性”复选框,然后选择“下一步”。
    6. 提供密码以加密静态证书文件,然后选择“ 下一步”。
    7. 保存导出的文件并提供友好名称。
    8. 选择“下一步,然后完成
    9. 找到导出的证书文件并检查该文件的图标。
      1. 如果图标包含密钥,则必须附加私钥。
      2. 如果图标不包含密钥,请根据需要使用私钥重新导出证书以供以后使用。
    10. 将导出的文件复制到目标计算机。
  12. 关闭 Web 浏览器。

使用证书管理器请求证书

对于具有已定义证书模板的企业 CA,可以使用证书管理器从已加入域的客户端计算机请求新证书。 使用模板时,此方法不适用于独立 CA。

  1. 使用管理员权限(管理服务器、网关、代理等)登录到目标计算机。
  2. 使用管理员命令提示符或 PowerShell 窗口打开证书管理器。
    1. certlm.msc – 打开本地计算机证书存储。
    2. mmc.msc – 打开Microsoft管理控制台。
      1. 加载证书管理器管理单元。
      2. 转到 “文件>添加/删除管理单元”。
      3. 选择证书
      4. 选择 添加
      5. 出现提示时,选择“计算机帐户”,然后选择“下一步”
      6. 确保选择“ 本地计算机 ”,然后选择“ 完成”。
      7. 选择“确定关闭向导。
  3. 启动证书请求:
    1. 在“证书”下,展开“个人”文件夹。
    2. 右键单击“证书>所有任务>请求新证书”。
  4. 证书注册向导
    1. 在“开始之前”页面上,选择“下一步”

    2. 选择适用的证书注册策略(默认值可能是 Active Directory 注册策略),选择“下一步”

    3. 选择所需的注册策略模板以创建证书

      1. 如果模板未立即可用,请选择列表下方的“ 显示所有模板 ”框
      2. 如果需要的模板与旁边的红色 X 一起提供,请咨询 Active Directory 或证书团队
    4. 在大多数环境中,可以在证书模板下找到带有超链接的警告消息,选择链接并继续填写证书的信息。

    5. 证书属性向导:

      Tab 说明
      Subject 1.在使用者名称中 ,选择公用名完整 DN,提供值 - 目标服务器的主机名或 BIOS 名称,选择“ 添加”。
      常规 1. 为生成的证书提供友好名称。
      2. 根据需要提供此票证用途的说明。
      扩展 1.在“密钥使用”下,确保选择“数字签名”和“密钥加密”选项,然后选择“使这些密钥用法至关重要”复选框。
      2.在“扩展密钥使用”下,确保选择“服务器身份验证”和客户端身份验证”选项。
      私钥 1.在“密钥”选项下,确保密钥大小至少为 1024 或 2048,然后选择“ 使私钥可 导出”复选框。
      2. 在“密钥类型”下,确保选择 Exchange 选项。
      “证书颁发机构”选项卡 确保选中 CA 复选框。
      签名 如果你的组织需要注册机构,请为此请求提供签名证书。
    6. 在“证书属性”向导中提供信息后,前面提供的警告超链接将消失。

    7. 选择“注册” 以创建证书。 如果出现错误,请咨询 AD 或证书团队。

    8. 如果成功,状态将读取 “成功” ,新证书将放置在“个人/证书”存储中。

  5. 如果对证书的目标接收方执行了这些操作,请继续执行后续步骤。
  6. 否则,从计算机导出新证书并复制到下一个证书。
    1. 打开“证书管理器”窗口并导航到“个人>证书”。
    2. 选择要导出的证书。
    3. 右键单击“所有任务>导出”。
    4. 在证书导出向导中。
      1. 在“欢迎”页上,选择“下一步”
      2. 确保选择“是” ,导出私钥
      3. 选择 个人信息交换 – PKCS #12 (。来自格式选项的 PFX
        1. 如果可能,请选择“包括认证路径中的所有证书”,并导出所有扩展属性复选框。
      4. 选择下一步
      5. 提供用于加密证书文件的已知密码。
      6. 选择下一步
      7. 为证书提供可访问的路径和可识别的文件名。
    5. 将新创建的证书文件复制到目标计算机。

在目标计算机上安装证书

若要使用新创建的证书,请将其导入到客户端计算机上的证书存储中。

将证书添加到证书存储

  1. 登录到为管理服务器、网关或代理创建证书的计算机。

  2. 将上面创建的证书复制到此计算机上的可访问位置。

  3. 打开管理员命令提示符或 PowerShell 窗口,并导航到证书文件所在的文件夹。

  4. 运行以下命令,确保将NewCertificate.cer替换为文件的正确名称/路径:

    CertReq -Accept -Machine NewCertificate.cer

  5. 此证书现在应存在于此计算机上的本地计算机个人存储中。

或者,右键单击证书文件 > “安装 > 本地计算机”,然后选择要安装证书的个人存储的目标。

注意

如果使用私钥将证书添加到证书存储,并在以后从存储中删除证书,则重新导入时证书将不再包含私钥。 Operations Manager 通信需要私钥,因为需要加密传出数据。 可以使用 certutil 修复证书;需要提供证书的序列号。例如,若要还原私钥,请在管理员命令提示符或 PowerShell 窗口中使用以下命令:

certutil -repairstore my <certificateSerialNumber>

将证书导入 Operations Manager

除了在系统上安装证书之外,还必须更新 Operations Manager 才能了解要使用的证书。 以下操作将重启Microsoft Monitoring Agent 服务。

使用 Operations Manager 安装介质中 SupportTools 文件夹中包含的 MOMCertImport.exe 实用工具。 将文件复制到服务器。

若要使用 MOMCertImport 将证书导入 Operations Manager,请执行以下步骤:

  1. 登录到目标计算机。

  2. 打开管理员命令提示符或 PowerShell 窗口并导航到 MOMCertImport.exe 实用工具文件夹。

  3. 运行MomCertImport.exe实用工具

    1. 在 CMD 中: MOMCertImport.exe
    2. 在 PowerShell 中:.\MOMCertImport.exe
  4. 此时会显示 GUI 窗口以 选择证书

    1. 如果看不到列表,可以查看证书列表,请选择“ 更多选项”。
  5. 从列表中选择计算机的新证书

    1. 可以通过选择证书来验证证书。 选择后,可以查看证书属性。
  6. 选择确定

  7. 如果成功,弹出窗口将显示以下消息:

    Successfully installed the certificate. Please check Operations Manager log in eventviewer to check channel connectivity.

  8. 若要验证,请转到事件 ID 20053 的 事件查看器>Applications 和服务日志>Operations Manager。 这表示已成功加载身份验证证书

  9. 如果系统上不存在事件 ID 20053,请查找以下事件 ID 中的一个错误,并相应地更正:

    • 20049
    • 20050
    • 20052
    • 20066
    • 20069
    • 20077
  10. MOMCertImport 更新此注册表位置,以包含与证书上显示的序列号的反向匹配的值:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Operations Manager\3.0\MachineSettings\ChannelCertificateSerialNumber
    

续订证书

当管理服务器和网关的导入证书即将过期时,Operations Manager 将生成警报。 如果收到警报,请在到期日期之前为服务器续订或创建新证书。 仅当证书包含模板信息(来自企业 CA)时,这才起作用。

  1. 使用即将过期的证书登录到服务器,并启动证书配置管理器(certlm.msc)。
  2. 找到即将过期的 Operations Manager 证书。
  3. 如果未找到证书,则它可能已通过文件删除或导入,而不是证书存储。 可能需要从 CA 为此计算机颁发新证书。 请参阅上述说明以执行此操作。
  4. 如果找到证书,下面是续订证书的选项:
    1. 使用新密钥请求证书
    2. 使用新密钥续订证书
    3. 使用相同的密钥续订证书
  5. 选择最适合要执行的操作的选项,然后按照向导进行操作。
  6. 完成后,运行该工具 MOMCertImport.exe 以确保 Operations Manager 具有证书的新序列号(反向),如果证书已更改,请参阅上面的部分了解更多详细信息。

如果通过此方法续订证书不可用,请使用前面的步骤请求新证书或组织证书颁发机构。 安装并导入新证书(MOMCertImport),供 Operations Manager 使用。

可选:配置证书自动注册和续订

使用企业 CA 在证书过期时配置证书自动注册和续订。 这将将受信任的根证书分发到所有已加入域的系统。

证书自动注册和续订的配置不适用于独立或第三方 CA。 对于工作组或单独域中的系统,证书续订和注册仍将是手动过程。

有关详细信息,请参阅 Windows Server 指南

注意

自动注册和续订不会自动将 Operations Manager 配置为使用新证书。 如果证书自动使用相同的密钥续订,指纹也可能保持不变,管理员无需执行任何操作。 如果生成新证书或指纹发生更改,则需要使用上述 MOMCertImport 工具将更新的证书导入 Operations Manager。