本文提供了两种方法来帮助解决在验证过程中简单证书注册协议 (SCEP) 证书请求失败时。

在证书注册点的验证阶段,SCEP 证书请求在 CRP) (失败。 因此,即使配置了 NDES,Android 和 iOS 设备也不会收到 SCEP 证书。

此外,CRP 日志中还会出现错误条目。

默认日志文件位置为:

C:\Program Files\Microsoft Intune\NDESConnectorSvc\Logs\Logs\CertificateRegistrationPoint_xx_xx.svclog

三个日志条目指定了加密异常错误,如下图所示。

第一个错误条目

<Source Name=“CertificateRegistrationPoint” />
加密异常:System.Security.Cryptography.CryptographicException:m_safeCertContext无效句柄。
at System.Security.Cryptography.X509Certificates.X509Certificate.ThrowIfContextInvalid ()
at System.Security.Cryptography.X509Certificates.X509Certificate.SetThumbprint ()
at System.Security.Cryptography.X509Certificates.X509Certificate.GetCertHashString ()
at Microsoft.ConfigurationManager.CertRegPoint.Helper.ValidateChallenge (String base64Encodedtoken, X509Certificate2Collection encryptedCerts, X509Certificate2 SigningCert, String& decodedChallengePassword)

第二个错误条目

加密异常:System.Security.Cryptography.CryptographicException:m_safeCertContext无效句柄。
at System.Security.Cryptography.X509Certificates.X509Certificate.ThrowIfContextInvalid ()
at System.Security.Cryptography.X509Certificates.X509Certificate.SetThumbprint ()
at System.Security.Cryptography.X509Certificates.X509Certificate.GetCertHashString ()
at Microsoft.ConfigurationManager.CertRegPoint.Helper.ValidateChallenge (String base64Encodedtoken, X509Certificate2Collection encryptedCerts, X509Certificate2 SigningCert, String& decodedChallengePassword)
at Microsoft.ConfigurationManager.CertRegPoint.ChallengeValidation.ValidationPhase1 (VerifyChallengeParams 值、String& decodedChallenge、PKCSDecodedObject& pkcsObj)

第三个错误条目

加密异常:System.Security.Cryptography.CryptographicException:m_safeCertContext无效句柄。
at System.Security.Cryptography.X509Certificates.X509Certificate.ThrowIfContextInvalid ()
at System.Security.Cryptography.X509Certificates.X509Certificate.SetThumbprint ()
at System.Security.Cryptography.X509Certificates.X509Certificate.GetCertHashString ()
at Microsoft.ConfigurationManager.CertRegPoint.Helper.ValidateChallenge (String base64Encodedtoken, X509Certificate2Collection encryptedCerts, X509Certificate2 SigningCert, String& decodedChallengePassword)
at Microsoft.ConfigurationManager.CertRegPoint.ChallengeValidation.ValidationPhase1 (VerifyChallengeParams 值、String& decodedChallenge、PKCSDecodedObject& pkcsObj)
at Microsoft.ConfigurationManager.CertRegPoint.Controllers.CertificateController.VerifyRequest (VerifyChallengeParams 值)

出现此问题是因为 NDES 连接器注册表设置中缺少负责验证证书请求的注册表项。

解决方案 1

完成以下步骤以重启 Intune 连接器服务:

  • 在已安装连接器的服务器上,打开 “服务 ”管理单元。 为此,请打开“ 开始 ”菜单,输入 services.msc ,然后从结果列表中选择“ 服务 ”。

  • “服务” 管理单元中,重启Intune连接器服务。

  • HKLM\Software\Microsoft\MicrosoftIntune\NDESConnector 检查注册表子项,验证是否已根据以下屏幕截图创建了注册表项。

    HKEY_LOCAL_Machine\Software\Microsoft\Cryptography\MSCEP

  • 将模板值更改为默认 ( IPSECIntermediateOffline ) ,然后重启服务器。

  • 服务器重启后,检查 HKEY_LOCAL_Machine\Software\Microsoft\MicrosoftIntune\NDESConnector 子项。 现在应会看到签名证书。

  • 创建密钥后,将下的 HKEY_LOCAL_Machine\Software\Microsoft\Cryptography\MSCEP 模板名称更改为为 SCEP 和 NDES 创建的自定义模板名称。

  •