在 Intune 中排查 PKCS 证书部署问题
本文提供有关在 Microsoft Intune 中部署公钥加密标准(PKCS)证书时出现的几个常见问题的故障排除指南。 在进行故障排除之前,请确保已完成以下任务,如配置 和使用 Intune 中的 PKCS 证书中所述:
- 查看使用 PKCS 证书配置文件的要求。
- 从企业证书颁发机构(CA)导出根证书。
- 在证书颁发机构上配置证书模板。
- 安装和配置 Intune 证书连接器。
- 创建并部署受信任的证书配置文件以部署根证书。
- 创建和部署 PKCS 证书配置文件。
PKCS 证书配置文件最常见的问题来源是配置 PKCS 证书配置文件。 查看配置文件配置并查找服务器名称或完全限定域名(FQDN)中的拼写错误,并确认 证书颁发机构 和 证书颁发机构名称 正确。
- 证书颁发机构:证书颁发机构计算机的内部 FQDN。 例如,server1.domain.local。
- 证书颁发机构名称:证书颁发机构 MMC 中显示的证书颁发机构名称。 在证书颁发机构(本地)下 查看
可以使用 CA 上的 certutil 命令行程序 来确认证书颁发机构和证书颁发机构名称的正确名称。
PKCS 通信概述
下图概述了 Intune 中的 PKCS 证书部署过程。
- 管理员在 Intune 中创建 PKCS 证书配置文件。
- Intune 服务请求本地 Intune 证书连接器为用户创建新的证书。
- Intune 证书连接器将 PFX Blob 和请求发送到Microsoft证书颁发机构。
- 证书颁发机构颁发并将 PFX 用户证书发送回 Intune 证书连接器。
- Intune 证书连接器将加密的 PFX 用户证书上传到 Intune。
- Intune 使用 设备管理 证书解密 PFX 用户证书并重新加密设备。 然后,Intune 将 PFX 用户证书发送到设备。
- 设备将证书状态报告给 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 :
将 iOS/iPadOS 设备连接到 Mac,然后转到应用程序>实用工具打开控制台应用。
在“操作”下,选择“包括信息消息”和“包括调试消息”。
重现问题,然后将日志保存到文本文件:
- 选择“编辑>全选”以选择当前屏幕上的所有消息,然后选择“编辑>副本”将消息复制到剪贴板。
- 打开 TextEdit 应用程序,将复制的日志粘贴到新的文本文件中,然后保存该文件。
iOS 和 iPadOS 设备的公司门户日志不包含有关 PKCS 证书配置文件的信息。
Windows 设备的日志
对于运行 Windows 的设备,请使用 Windows 事件日志诊断使用 Intune 管理的设备注册或设备管理问题。
在设备上,Microsoft Windows>DeviceManagement-Enterprise-Diagnostics-Provider 打开 事件查看器>Applications 和服务日志>>
防病毒排除项
请考虑在以下情况下在托管 Intune 证书连接器的服务器上添加防病毒排除项:
- 证书请求到达服务器或 Intune 证书连接器,但未成功处理
- 证书颁发速度缓慢
下面是你可能排除的位置的示例:
- %program_files%\Microsoft Intune\PfxRequest
- %program_files%\Microsoft Intune\CertificateRequestStatus
- %program_files%\Microsoft Intune\CertificateRevocationStatus
常见错误
以下部分介绍了以下常见错误:
- RPC 服务器不可用0x800706ba
- 无法0x80094015找到注册策略服务器
- 提交挂起
- 参数0x80070057不正确
- 策略模块拒绝
- 证书配置文件停滞为挂起
- 错误 -2146875374 CERTSRV_E_SUBJECT_EMAIL_REQUIRED
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 响应签名证书可以通过检查其吊销状态来验证其他证书。 默认情况下不启用此签名。
解决方案;
手动强制签名证书:
- 在 CA 服务器上,打开提升的命令提示符并运行以下命令: certutil -setreg ca\UseDefinedCACertInRequest 1
- 重启证书服务服务。
证书服务服务重启后,设备可以接收证书。
无法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 的名称进行配置
- 分配给正确的用户组
- 组中的用户具有有效的电子邮件地址
有关详细信息,请参阅 在 Intune 中配置和使用 PKCS 证书。
策略模块拒绝
当设备收到受信任的根证书但未收到 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 证书连接器的服务器的计算机帐户无权访问证书模板时,会出现此问题。
解决方案;
- 使用具有管理权限的帐户登录到企业 CA。
- 打开 证书颁发机构 控制台,右键单击 “证书模板”,然后选择“管理”。
- 找到证书模板并打开 模板的“属性 ”对话框。
- 选择 “安全 ”选项卡,并为安装了 Microsoft Intune 证书连接器的服务器添加计算机帐户。 授予该帐户 “读取 ”和 “注册 ”权限。
- 选择“应用>确定”以保存证书模板,然后关闭“证书模板”控制台。
- 在证书颁发机构控制台中,右键单击要颁发的证书模板>新>证书模板。
- 选择修改的模板,然后单击“ 确定”。
有关详细信息,请参阅 在 CA 上配置证书模板。
证书配置文件停滞为挂起
在 Microsoft Intune 管理中心,PKCS 证书配置文件无法部署状态为 “挂起”。 NDESConnector_date_time.svclog 日志文件中没有明显的错误。 由于日志中未明确识别此问题的原因,因此请完成以下原因。
原因 1 - 未处理的请求文件
查看请求文件,了解指示未能处理错误的原因。
在承载 Intune 证书连接器的服务器上,使用文件资源管理器导航到 %programfiles%\Microsoft Intune\PfxRequest。
使用你喜欢的文本编辑器查看“失败”和“处理”文件夹中的文件。
在这些文件中,查找指示错误或建议问题的条目。 使用基于 Web 的搜索,查找错误消息以获取有关请求未能处理的原因以及这些问题的解决方案的线索。
原因 2 - PKCS 证书配置文件配置错误
在“失败”、“处理”或“成功”文件夹中找不到请求文件时,原因可能是错误的证书与 PKCS 证书配置文件相关联。 例如,从属 CA 与配置文件关联,或者使用了错误的根证书。
解决方案;
- 查看受信任的证书配置文件,确保已将根证书从企业 CA 部署到设备。
- 查看 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".
原因 - “请求中提供”配置错误
如果在证书模板“属性”对话框中的“使用者名称”选项卡上未启用“请求中的”提供“选项,则会出现此问题。
解决方案;
编辑模板以解决配置问题:
- 使用具有管理权限的帐户登录到企业 CA。
- 打开 证书颁发机构 控制台,右键单击 “证书模板”,然后选择“ 管理”。
- 打开证书模板的“属性”对话框。
- 在“使用者名称”选项卡上,选择请求中的“提供”。
- 选择“确定”保存证书模板,然后关闭“证书模板”控制台。
- 在证书颁发机构控制台中,右键单击要颁发的模板>新>证书模板。
- 选择修改的模板,然后选择“ 确定”。