获取用于 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"
获取证书的高级过程:
从 CA 下载根证书。
将根证书导入到客户端服务器。
创建证书模板。
将模板添加到“证书模板”文件夹。
创建用于命令行实用工具的设置信息文件
<certreq>
。创建请求文件(或使用 Web 门户)。
向 CA 提交请求。
将证书导入证书存储区。
使用
<MOMCertImport>
.. 将证书导入 Operations Manager。
从 CA 下载并导入根证书
若要信任和验证从企业或独立 CA 创建的任何证书,目标计算机需要在其受信任的根存储中拥有根证书的副本。 大多数已加入域的计算机必须信任企业 CA。 但是,没有安装根证书,任何计算机都不会信任独立 CA 中的证书。
如果使用第三方 CA,下载过程将有所不同。 但是,导入过程保持不变。
从 CA 下载受信任的根证书
若要下载受信任的根证书,请执行以下步骤:
登录到要安装证书的计算机。 例如, 网关服务器或管理服务器。
打开 Web 浏览器并连接到证书服务器 Web 地址。 例如,
https://<servername>/certsrv
。在“欢迎”页上,选择“下载 CA 证书”、“证书链”或“CRL”。
a. 如果出现 Web 访问确认提示,请验证服务器和 URL,然后选择“是”。
b. 验证 CA 证书下的多个选项并确认选择。
将编码方法更改为 Base 64 ,然后选择“ 下载 CA 证书链”。
保存证书并提供友好名称。
从客户端上的 CA 导入受信任的根证书
注意
若要导入受信任的根证书,必须在目标计算机上拥有管理权限。
若要导入受信任的根证书,请执行以下步骤:
- 将上一步中生成的文件复制到客户端。
- 打开“证书管理器”。
- 在命令行、PowerShell 或运行中,键入 certlm.msc ,然后按 Enter。
- 选择“开始 > 运行”并键入 mmc 以查找Microsoft管理控制台(mmc.exe)。
- 转到 “文件>添加/删除管理单元...”。
- 在“添加或删除管理单元”对话框中,选择“ 证书”,然后选择“ 添加”。
- 在“证书管理单元”对话框中,
- 选择 “计算机帐户 ”,然后选择“ 下一步”。 “选择计算机”对话框随即打开。
- 选择 “本地计算机 ”,然后选择“ 完成”。
- 选择“确定”。
- 在控制台根下,展开 “证书”(本地计算机)
- 展开 “受信任的根证书颁发机构”,然后选择“证书”。
- 选择 “所有任务”。
- 在“证书导入向导”中,将第一页保留为默认值,然后选择“ 下一步”。
- 浏览到下载 CA 证书文件的位置,并选择从 CA 复制的受信任根证书文件。
- 选择下一步。
- 在证书存储位置中,将受信任的根证书颁发机构保留为默认值。
- 依次选择“下一步”、“完成”。
- 如果成功,来自 CA 的受信任根证书将显示在受信任的根证书颁发机构>证书下。
创建证书模板:企业 CA
企业 CA:
- 与 Active Directory 域服务(AD-DS)集成。
- 将证书和证书吊销列表(CRL)发布到 AD-DS。
- 使用 AD-DS 中存储的用户帐户和安全组信息来批准或拒绝证书请求。
- 使用证书模板。
为了颁发证书,企业 CA 使用证书模板中的信息生成具有该证书类型的相应属性的证书。
独立 CA:
- 不需要 AD-DS。
- 请勿使用证书模板。
如果使用独立 CA,请在证书请求中包含有关所请求证书类型的所有信息。
有关详细信息,请参阅 证书模板。
为 System Center Operations Manager 创建证书模板
在环境中使用 AD CS 登录到已加入域的服务器(CA)。
在 Windows 桌面上,选择“启动>Windows 管理工具>证书颁发机构”。
在右侧导航窗格中,展开 CA,右键单击 “证书模板”,然后选择“ 管理”。
右键单击 IPSec(脱机请求), 然后选择“ 复制模板”。
此时 将打开“新建模板 的属性”对话框;选择如下:
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.确保经过身份验证的用户组(或计算机对象)具有读取和注册权限,然后选择“应用”以创建模板。
将模板添加到“证书模板”文件夹
- 在环境中使用 AD CS 登录到已加入域的服务器(CA)。
- 在 Windows 桌面上,选择“启动>Windows 管理工具>证书颁发机构”。
- 在右侧导航窗格中,展开 CA,右键单击“证书模板”,然后选择“要颁发的新>证书模板”。
- 选择在上述步骤中创建的新模板,然后选择“ 确定”。
使用请求文件请求证书
创建安装信息 (.inf) 文件
在承载要为其请求证书的 Operations Manager 功能的计算机上,在文本编辑器中打开一个新的文本文件。
创建包含以下内容的文本文件:
[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
使用 .inf 文件扩展名保存该文件。 例如,
CertRequestConfig.inf
。关闭文本编辑器。
创建证书请求文件
此过程对 Base64 中配置文件中指定的信息进行编码,并将信息输出到新文件。
在托管要为其请求证书的 Operations Manager 功能的计算机上,打开管理员命令提示符。
导航到 .inf 文件所在的同一目录。
运行以下命令以修改 .inf 文件名,以确保它与之前创建的文件名匹配。 将 .req 文件名保留原样:
CertReq –New –f CertRequestConfig.inf CertRequest.req
打开新创建的文件并复制内容。
使用请求文件在 AD CS Web 门户中提交新的证书请求
在托管要为其请求证书的 Operations Manager 功能的计算机上,打开 Web 浏览器并连接到托管证书服务器 Web 地址的计算机。 例如,
https://<servername>/certsrv
。在 Microsoft Active Directory 证书服务欢迎 页上,选择“ 请求证书”。
在 “请求证书 ”页上,选择 高级证书请求。
在“高级证书请求”页上,使用 base-64 编码的 CMC 或 PKCS #10 文件选择“提交证书请求”,或使用 base-64 编码的 PKCS #7 文件提交续订请求。
在“提交证书请求或续订请求”页上的“保存的请求”文本框中,粘贴在上一过程中步骤 4 中复制的 CertRequest.req 文件的内容。
在 证书模板上,选择创建的证书模板。 例如, OperationsManagerCert,然后选择“ 提交”。
如果成功,请在 “证书颁发 ”页上,选择 “Base 64 编码的>下载证书”。
保存证书并提供友好名称。 例如,另存为 SCOM-MS01.cer。
关闭 Web 浏览器。
使用 AD-CS Web 门户请求证书
除了请求文件,还可以通过证书服务 Web 门户创建证书请求。 此步骤在目标计算机上完成,方便证书安装。 如果无法使用 AD-CS Web 门户的证书请求,请确保导出证书,如下所示:
- 在承载要为其请求证书的 Operations Manager 功能的计算机上,打开 Web 浏览器并连接到托管证书服务器 Web 地址的计算机。
例如,
https://<servername>/certsrv
。 - 在 Microsoft Active Directory 证书服务欢迎 页上,选择“ 请求证书”。
- 在 “请求证书 ”页上,选择 高级证书请求。
- 选择“ 创建”并向此 CA 提交请求。
- 此时会打开高级证书请求。 执行以下操作:
- 证书模板:使用之前创建的模板,或为 Operations Manager 指定的模板。
- 识别脱机模板的信息:
- 名称:服务器的 FQDN,或在 DNS 中显示时显示
- 根据需要为组织提供其他信息
- 关键选项:
- 选中将密钥标记为可导出的复选框
- 其他选项:
- 友好名称:服务器的 FQDN,或 DNS 中显示的名称
- 选择“提交”。
- 成功完成任务后,“证书颁发”页将打开,其中包含安装此证书的链接。
- 选择“ 安装此证书”。
- 在服务器上, 个人证书存储 区存储证书。
- 加载 MMC 或 CertMgr 控制台,并转到“个人>证书”并找到新创建的证书。
- 如果目标服务器上未完成此任务,请导出证书:
- 右键单击新证书 > “所有任务 > 导出”。
- 在“证书导出向导”中,选择“下一步”。
- 选择“是” ,导出私钥,选择“ 下一步”。
- 选择 个人信息交换 – PKCS #12 (。PFX).
- 如果可能,请选择“包括认证路径中的所有证书”,然后“导出所有扩展属性”复选框,然后选择“下一步”。
- 提供密码以加密静态证书文件,然后选择“ 下一步”。
- 保存导出的文件并提供友好名称。
- 选择“下一步”,然后完成。
- 找到导出的证书文件并检查该文件的图标。
- 如果图标包含密钥,则必须附加私钥。
- 如果图标不包含密钥,请根据需要使用私钥重新导出证书以供以后使用。
- 将导出的文件复制到目标计算机。
- 关闭 Web 浏览器。
使用证书管理器请求证书
对于具有已定义证书模板的企业 CA,可以使用证书管理器从已加入域的客户端计算机请求新证书。 使用模板时,此方法不适用于独立 CA。
- 使用管理员权限(管理服务器、网关、代理等)登录到目标计算机。
- 使用管理员命令提示符或 PowerShell 窗口打开证书管理器。
- certlm.msc – 打开本地计算机证书存储。
- mmc.msc – 打开Microsoft管理控制台。
- 加载证书管理器管理单元。
- 转到 “文件>添加/删除管理单元”。
- 选择证书。
- 选择 添加 。
- 出现提示时,选择“计算机帐户”,然后选择“下一步”
- 确保选择“ 本地计算机 ”,然后选择“ 完成”。
- 选择“确定”关闭向导。
- 启动证书请求:
- 在“证书”下,展开“个人”文件夹。
- 右键单击“证书>所有任务>请求新证书”。
- 证书注册向导
在“开始之前”页面上,选择“下一步”。
选择适用的证书注册策略(默认值可能是 Active Directory 注册策略),选择“下一步”
选择所需的注册策略模板以创建证书
- 如果模板未立即可用,请选择列表下方的“ 显示所有模板 ”框
- 如果需要的模板与旁边的红色 X 一起提供,请咨询 Active Directory 或证书团队
在大多数环境中,可以在证书模板下找到带有超链接的警告消息,选择链接并继续填写证书的信息。
证书属性向导:
Tab 说明 Subject 1.在使用者名称中 ,选择公用名 或 完整 DN,提供值 - 目标服务器的主机名或 BIOS 名称,选择“ 添加”。 常规 1. 为生成的证书提供友好名称。
2. 根据需要提供此票证用途的说明。扩展 1.在“密钥使用”下,确保选择“数字签名”和“密钥加密”选项,然后选择“使这些密钥用法至关重要”复选框。
2.在“扩展密钥使用”下,确保选择“服务器身份验证”和“客户端身份验证”选项。私钥 1.在“密钥”选项下,确保密钥大小至少为 1024 或 2048,然后选择“ 使私钥可 导出”复选框。
2. 在“密钥类型”下,确保选择 Exchange 选项。“证书颁发机构”选项卡 确保选中 CA 复选框。 签名 如果你的组织需要注册机构,请为此请求提供签名证书。 在“证书属性”向导中提供信息后,前面提供的警告超链接将消失。
选择“注册” 以创建证书。 如果出现错误,请咨询 AD 或证书团队。
如果成功,状态将读取 “成功” ,新证书将放置在“个人/证书”存储中。
- 如果对证书的目标接收方执行了这些操作,请继续执行后续步骤。
- 否则,从计算机导出新证书并复制到下一个证书。
- 打开“证书管理器”窗口并导航到“个人>证书”。
- 选择要导出的证书。
- 右键单击“所有任务>导出”。
- 在证书导出向导中。
- 在“欢迎”页上,选择“下一步” 。
- 确保选择“是” ,导出私钥。
- 选择 个人信息交换 – PKCS #12 (。来自格式选项的 PFX 。
- 如果可能,请选择“包括认证路径中的所有证书”,并导出所有扩展属性复选框。
- 选择下一步。
- 提供用于加密证书文件的已知密码。
- 选择下一步。
- 为证书提供可访问的路径和可识别的文件名。
- 将新创建的证书文件复制到目标计算机。
在目标计算机上安装证书
若要使用新创建的证书,请将其导入到客户端计算机上的证书存储中。
将证书添加到证书存储
登录到为管理服务器、网关或代理创建证书的计算机。
将上面创建的证书复制到此计算机上的可访问位置。
打开管理员命令提示符或 PowerShell 窗口,并导航到证书文件所在的文件夹。
运行以下命令,确保将NewCertificate.cer替换为文件的正确名称/路径:
CertReq -Accept -Machine NewCertificate.cer
此证书现在应存在于此计算机上的本地计算机个人存储中。
或者,右键单击证书文件 > “安装 > 本地计算机”,然后选择要安装证书的个人存储的目标。
注意
如果使用私钥将证书添加到证书存储,并在以后从存储中删除证书,则重新导入时证书将不再包含私钥。 Operations Manager 通信需要私钥,因为需要加密传出数据。 可以使用 certutil 修复证书;需要提供证书的序列号。例如,若要还原私钥,请在管理员命令提示符或 PowerShell 窗口中使用以下命令:
certutil -repairstore my <certificateSerialNumber>
将证书导入 Operations Manager
除了在系统上安装证书之外,还必须更新 Operations Manager 才能了解要使用的证书。 以下操作将重启Microsoft Monitoring Agent 服务。
使用 Operations Manager 安装介质中 SupportTools 文件夹中包含的 MOMCertImport.exe 实用工具。 将文件复制到服务器。
若要使用 MOMCertImport 将证书导入 Operations Manager,请执行以下步骤:
登录到目标计算机。
打开管理员命令提示符或 PowerShell 窗口并导航到 MOMCertImport.exe 实用工具文件夹。
运行MomCertImport.exe实用工具
- 在 CMD 中:
MOMCertImport.exe
- 在 PowerShell 中:
.\MOMCertImport.exe
- 在 CMD 中:
此时会显示 GUI 窗口以 选择证书
- 如果看不到列表,可以查看证书列表,请选择“ 更多选项”。
从列表中选择计算机的新证书
- 可以通过选择证书来验证证书。 选择后,可以查看证书属性。
选择确定
如果成功,弹出窗口将显示以下消息:
Successfully installed the certificate. Please check Operations Manager log in eventviewer to check channel connectivity.
若要验证,请转到事件 ID 20053 的 事件查看器>Applications 和服务日志>Operations Manager。 这表示已成功加载身份验证证书
如果系统上不存在事件 ID 20053,请查找以下事件 ID 中的一个错误,并相应地更正:
- 20049
- 20050
- 20052
- 20066
- 20069
- 20077
MOMCertImport 更新此注册表位置,以包含与证书上显示的序列号的反向匹配的值:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft Operations Manager\3.0\MachineSettings\ChannelCertificateSerialNumber
续订证书
当管理服务器和网关的导入证书即将过期时,Operations Manager 将生成警报。 如果收到警报,请在到期日期之前为服务器续订或创建新证书。 仅当证书包含模板信息(来自企业 CA)时,这才起作用。
- 使用即将过期的证书登录到服务器,并启动证书配置管理器(certlm.msc)。
- 找到即将过期的 Operations Manager 证书。
- 如果未找到证书,则它可能已通过文件删除或导入,而不是证书存储。 可能需要从 CA 为此计算机颁发新证书。 请参阅上述说明以执行此操作。
- 如果找到证书,下面是续订证书的选项:
- 使用新密钥请求证书
- 使用新密钥续订证书
- 使用相同的密钥续订证书
- 选择最适合要执行的操作的选项,然后按照向导进行操作。
- 完成后,运行该工具
MOMCertImport.exe
以确保 Operations Manager 具有证书的新序列号(反向),如果证书已更改,请参阅上面的部分了解更多详细信息。
如果通过此方法续订证书不可用,请使用前面的步骤请求新证书或组织证书颁发机构。 安装并导入新证书(MOMCertImport),供 Operations Manager 使用。
可选:配置证书自动注册和续订
使用企业 CA 在证书过期时配置证书自动注册和续订。 这将将受信任的根证书分发到所有已加入域的系统。
证书自动注册和续订的配置不适用于独立或第三方 CA。 对于工作组或单独域中的系统,证书续订和注册仍将是手动过程。
有关详细信息,请参阅 Windows Server 指南。
注意
自动注册和续订不会自动将 Operations Manager 配置为使用新证书。 如果证书自动使用相同的密钥续订,指纹也可能保持不变,管理员无需执行任何操作。 如果生成新证书或指纹发生更改,则需要使用上述 MOMCertImport 工具将更新的证书导入 Operations Manager。