排查 Intune 中的 PKCS 证书部署问题

本文提供有关在 Microsoft Intune 中部署公钥加密标准 (PKCS) 证书时的几个常见问题的故障排除指南。 在进行故障排除之前,请确保已完成以下任务,如配置 PKCS 证书并将其与Intune中所述:

  • 查看 使用 PKCS 证书配置文件的要求
  • 从企业证书颁发机构 (CA) 导出根证书。
  • 在证书颁发机构上配置证书模板。
  • 安装和配置Intune证书连接器。
  • 创建并部署受信任的证书配置文件以部署根证书。
  • 创建和部署 PKCS 证书配置文件。

PKCS 证书配置文件最常见的问题来源是配置 PKCS 证书配置文件。 查看配置文件配置,查找服务器名称或完全限定域名中的拼写错误, (FQDN) ,并确认 证书颁发机构证书颁发机构名称 正确。

  • 证书颁发机构:证书颁发机构计算机的内部 FQDN。 例如 server1.domain.local。
  • 证书颁发机构名称:证书颁发机构 MMC 中显示的证书颁发机构名称。 在“证书颁发机构 (本地) ”下查找

可以使用 CA 上的 certutil 命令行程序 来确认证书颁发机构和证书颁发机构名称的正确名称。

PKCS 通信概述

下图提供了 Intune 中 PKCS 证书部署过程的基本概述。

PKCS 证书配置文件流的屏幕截图。

  1. 管理员在 Intune 中创建 PKCS 证书配置文件。
  2. Intune服务请求本地Intune证书连接器为用户创建新证书。
  3. Intune证书连接器将 PFX Blob 和请求发送到Microsoft Certification颁发机构。
  4. 证书颁发机构颁发 PFX 用户证书并将其发送回Intune证书连接器。
  5. Intune证书连接器将加密的 PFX 用户证书上传到Intune。
  6. Intune解密 PFX 用户证书,并使用 设备管理 证书重新加密设备。 然后,Intune将 PFX 用户证书发送到设备。
  7. 设备向Intune报告证书状态。

日志文件

若要确定通信和证书预配工作流的问题,请查看服务器基础结构和设备中的日志文件。 有关对 PKCS 证书配置文件进行故障排除的后续部分将参考本节中引用的日志文件。

设备日志取决于设备平台:

本地基础结构的日志

支持将 PKCS 证书配置文件用于证书部署的本地基础结构包括Microsoft Intune证书连接器和证书颁发机构。

这些角色的日志文件包括 Windows 事件查看器、证书控制台以及特定于Intune证书连接器的各种日志文件,或者属于本地基础结构的其他角色和操作。

  • NDESConnector_date_time.svclog

    此日志显示从 Microsoft Intune 证书连接器到 Intune 云服务的通信。 可以使用 服务跟踪查看器工具 查看此日志文件。

    相关注册表项: HKLM\SW\Microsoft\MicrosoftIntune\NDESConnector\ConnectionStatus

    位置:在托管 Intune 证书连接器的服务器上,其位置为 %program_files%\Microsoft intune\ndesconnectorsvc\logs\logs

  • Windows 应用程序日志

    位置:在托管 Intune 证书连接器的服务器上:运行 eventvwr.msc 以打开 Windows 事件查看器

Android 设备的日志

对于运行 Android 的设备,请使用 Android 公司门户 应用日志文件,OMADM.log。 在收集和查看日志之前,启用“确保已启用 详细日志记录 ”,然后重现问题。

若要从设备收集 OMADM.logs,请参阅 使用 USB 电缆上传和通过电子邮件发送日志

还可以 上传日志并通过电子邮件发送日志 以提供支持。

适用于 iOS 和 iPadOS 设备的日志

对于运行 iOS/iPadOS 的设备,请使用在 Mac 计算机上运行的调试日志和 Xcode

  1. 将 iOS/iPadOS 设备连接到 Mac,然后转到“应用程序实用工具”>以打开“控制台”应用。

  2. “操作”下,选择“包括信息消息”和“包括调试消息”。

    屏幕截图显示已选择“包括信息消息”和“包括调试消息”选项。

  3. 重现问题,然后将日志保存到文本文件:

    1. 选择 “编辑>”“全选 ”以选择当前屏幕上的所有邮件,然后选择“ 编辑>副本 ”将邮件复制到剪贴板。
    2. 打开 TextEdit 应用程序,将复制的日志粘贴到新的文本文件中,然后保存该文件。

iOS 和 iPadOS 设备的公司门户日志不包含有关 PKCS 证书配置文件的信息。

Windows 设备的日志

对于运行 Windows 的设备,请使用 Windows 事件日志来诊断使用 Intune 管理的设备的注册或设备管理问题。

在设备上,打开事件查看器>应用程序和服务日志>Microsoft>Windows>DeviceManagement-Enterprise-Diagnostics-Provider

Windows 事件日志的屏幕截图。

防病毒排除项

在以下情况下,请考虑在托管 Intune 证书连接器的服务器上添加防病毒排除项:

  • 证书请求到达服务器或Intune证书连接器,但未成功处理
  • 证书颁发速度缓慢

下面是可能排除的位置示例:

  • %program_files%\Microsoft Intune\PfxRequest
  • %program_files%\Microsoft Intune\CertificateRequestStatus
  • %program_files%\Microsoft Intune\CertificateRevocationStatus

常见错误

以下部分将逐一解决以下常见错误:

RPC 服务器不可用0x800706ba

在 PFX 部署期间,受信任的根证书显示在设备上,但 PFX 证书不会出现在设备上。 NDESConnector_date_time.svclog 日志文件包含字符串 “RPC 服务器不可用”。0x800706ba,如以下示例的第一行所示:

IssuePfx - COMException: System.Runtime.InteropServices.COMException (0x800706BA): CCertRequest::Submit: The RPC server is unavailable. 0x800706ba (WIN32: 1722 RPC_S_SERVER_UNAVAILABLE)
IssuePfx -Generic Exception: System.ArgumentException: CCertRequest::Submit: The parameter is incorrect. 0x80070057 (WIN32: 87 ERROR_INVALID_PARAMETER)
IssuePfx - COMException: System.Runtime.InteropServices.COMException (0x80094800): The requested certificate template is not supported by this CA. (Exception from HRESULT: 0x80094800)

原因 1 - Intune 中 CA 配置不正确

当 PKCS 证书配置文件指定了错误的服务器,或者包含 CA 的名称或 FQDN 的拼写错误时,可能会出现此问题。 CA 在配置文件的以下属性中指定:

  • 证书颁发机构
  • 证书颁发机构名称

解决方案

查看以下设置,如果不正确,请修复这些设置:

  • 证书颁发机构属性显示 CA 服务器的内部 FQDN。
  • 证书颁发机构名称属性显示 CA 的名称。

原因 2 - CA 不支持对以前 CA 证书签名的请求续订证书

如果在 PKCS 证书配置文件中 CA FQDN 和名称正确,请查看证书颁发机构服务器上的 Windows 应用程序日志。 查找类似于以下示例 的事件 ID 128

Log Name: Application:
Source: Microsoft-Windows-CertificationAuthority
Event ID: 128
Level: Warning
Details:
An Authority Key Identifier was passed as part of the certificate request 2268. This feature has not been enabled. To enable specifying a CA key for certificate signing, run: "certutil -setreg ca\UseDefinedCACertInRequest 1" and then restart the service.

CA 证书续订时,它必须 (OCSP) 响应签名证书对联机证书状态协议进行签名。 通过签名,OCSP 响应签名证书可以通过检查其吊销状态来验证其他证书。 默认情况下不启用此签名。

解决方案

手动强制签名证书:

  1. 在 CA 服务器上,打开提升的命令提示符并运行以下命令: certutil -setreg ca\UseDefinedCACertInRequest 1
  2. 重启证书服务服务。

证书服务服务重启后,设备可以接收证书。

无法找到注册策略服务器0x80094015

无法定位和0x80094015注册策略服务器如以下示例所示:

IssuePfx - COMException: System.Runtime.InteropServices.COMException (0x80094015): An enrollment policy server cannot be located. (Exception from HRESULT: 0x80094015)

原因 - 证书注册策略服务器名称

如果托管Intune证书连接器的计算机找不到证书注册策略服务器,则会出现此问题。

解决方案

在托管Intune证书连接器的计算机上手动配置证书注册策略服务器的名称。 若要配置名称,请使用 Add-CertificateEnrollmentPolicyServer PowerShell cmdlet。

提交挂起

将 PKCS 证书配置文件部署到移动设备后,不会获取证书,并且 NDESConnector_date_time.svclog 日志包含字符串 “提交挂起”,如以下示例所示:

IssuePfx - The submission is pending: Taken Under Submission
IssuePfx -Generic Exception: System.InvalidOperationException: IssuePfx - The submission is pending

此外,在证书颁发机构服务器上,可以在 “挂起 的请求”文件夹中看到 PFX 请求:

“证书颁发机构挂起的请求”文件夹的屏幕截图。

原因 - 请求处理配置不正确

如果“ 将请求状态设置为挂起”选项,则会出现此问题。管理员必须在 “证书颁发机构 属性策略>模块>属性 ”对话框中选择显式颁发证书。

策略模块属性的屏幕截图。

解决方案

编辑要设置的策略模块属性: 遵循证书模板中的设置(如果适用)。否则,会自动颁发证书。

参数不正确0x80070057

成功安装并配置 Intune 证书连接器后,设备不会收到 PKCS 证书,NDESConnector_date_time.svclog 日志包含字符串“参数不正确”。0x80070057,如以下示例所示:

CCertRequest::Submit: The parameter is incorrect. 0x80070057 (WIN32: 87 ERROR_INVALID_PARAMETER)

原因 - PKCS 配置文件的配置

如果Intune中的 PKCS 配置文件配置错误,则会出现此问题。 下面是常见的错误配置:

  • 配置文件包含的 CA 名称不正确。
  • 为电子邮件地址配置了“使用者可选名称 (SAN) ,但目标用户还没有有效的电子邮件地址。 此组合导致 SAN 的 null 值,该值无效。

解决方案

验证 PKCS 配置文件的以下配置,然后在设备上等待策略刷新:

  • 使用 CA 的名称进行配置
  • 分配给正确的用户组
  • 组中的用户具有有效的电子邮件地址

有关详细信息,请参阅配置 PKCS 证书并将其用于Intune

策略模块拒绝

当设备收到受信任的根证书但未收到 PFX 证书时,NDESConnector_date_time.svclog 日志包含字符串 “提交失败:由策略模块拒绝”,如以下示例所示:

IssuePfx - The submission failed: Denied by Policy Module
IssuePfx -Generic Exception: System.InvalidOperationException: IssuePfx - The submission failed
   at Microsoft.Management.Services.NdesConnector.MicrosoftCA.GetCertificate(PfxRequestDataStorage pfxRequestData, String containerName, String& certificate, String& password)
Issuing Pfx certificate for Device ID <Device ID> failed  

原因 - 计算机帐户对证书模板的权限

当托管Intune证书连接器的服务器的计算机帐户对证书模板没有权限时,会出现此问题。

解决方案

  1. 使用具有管理权限的帐户登录到企业 CA。
  2. 打开 证书颁发机构 控制台,右键单击“ 证书模板”,然后选择“管理”。
  3. 找到证书模板并打开模板的“ 属性 ”对话框。
  4. 选择“安全性”选项卡,并为安装了 Microsoft Intune 证书连接器的服务器添加“计算机帐户”。 向该帐户授予 “读取 ”和 “注册” 权限。
  5. 选择“ 应用>确定” 以保存证书模板,然后关闭 “证书模板” 控制台。
  6. 在“证书颁发机构”控制台中,右键单击“证书模板”>“新建”>“要颁发的证书模板”。
  7. 选择修改的模板,然后单击“ 确定”。

有关详细信息,请参阅 在 CA 上配置证书模板

证书配置文件停滞为“挂起”

在Microsoft Intune管理中心,PKCS 证书配置文件无法部署,状态为“挂起”。 NDESConnector_date_time.svclog 日志文件中没有明显的错误。 由于日志中未明确指出此问题的原因,因此请解决以下原因。

原因 1 - 未处理的请求文件

查看请求文件,了解指示无法处理错误的原因。

  1. 在托管 Intune 证书连接器的服务器上,使用 文件资源管理器 导航到 %programfiles%\Microsoft Intune\PfxRequest

  2. 使用你喜欢的文本编辑器查看“ 失败”“正在处理 ”文件夹中的文件。

    PfxRequest 文件夹的屏幕截图。

  3. 在这些文件中,查找指示错误或建议问题的条目。 使用基于 Web 的搜索,查找错误消息以获取有关请求无法处理的原因的线索,以及这些问题的解决方案。

原因 2 - PKCS 证书配置文件配置错误

如果在 “失败”、“ 处理”或 “成功” 文件夹中找不到请求文件,原因可能是错误的证书与 PKCS 证书配置文件相关联。 例如,从属 CA 与配置文件相关联,或者使用了错误的根证书。

解决方案

  1. 查看受信任的证书配置文件,确保已将根证书从企业 CA 部署到设备。
  2. 查看 PKCS 证书配置文件,确保它引用正确的 CA、证书类型和将根证书部署到设备的受信任证书配置文件。

有关详细信息,请参阅 在 Microsoft Intune 中使用证书进行身份验证

错误 -2146875374 CERTSRV_E_SUBJECT_EMAIL_REQUIRED

PKCS 证书无法部署,颁发 CA 上的证书控制台显示字符串 为 -2146875374 CERTSRV_E_SUBJECT_EMAIL_REQUIRED 的消息,如以下示例所示:

Active Directory Certificate Services denied request abc123 because The Email name is unavailable and cannot be added to the Subject or Subject Alternate name. 0x80094812 (-2146875374 CERTSRV_E_SUBJECT_EMAIL_REQUIRED). The request was for CN=" Common Name".  Additional information: Denied by Policy Module".

原因 - “请求中的供应”配置错误

如果在证书模板“属性”对话框的“使用者名称”选项卡上未启用“请求中提供”选项,则会出现此问题。

NDES 属性的屏幕截图,其中突出显示了“请求中的提供”选项。

解决方案

编辑模板以解决配置问题:

  1. 使用具有管理权限的帐户登录到企业 CA。
  2. 打开“证书颁发机构”控制台,右键单击“证书模板”,然后选择“管理”。
  3. 打开证书模板的“属性”对话框。
  4. 在“ 使用者名称 ”选项卡上,在 请求中选择“提供”。
  5. 选择“ 确定” 保存证书模板,然后关闭 “证书模板” 控制台。
  6. 证书颁发机构 控制台中,右键单击“ 模板>”“新建>要颁发的证书模板”。
  7. 选择修改的模板,然后选择“ 确定”。