다음을 통해 공유


CRP의 확인 단계에서 SCEP 인증서 요청이 실패함

이 문서에서는 확인 중에 SCEP(단순 인증서 등록 프로토콜) 인증서 요청이 실패하는 경우를 해결하는 데 도움이 되는 두 가지 방법을 제공합니다.

증상

CRP(인증서 등록 지점)의 확인 단계에서 SCEP 인증서 요청이 실패합니다. 따라서 Android 및 iOS 디바이스는 NDES가 구성된 경우에도 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 value, 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 value, String& decodedChallenge, PKCSDecodedObject& pkcsObj)
 at Microsoft.ConfigurationManager.CertRegPoint.Controllers.CertificateController.VerifyRequest(VerifyChallengeParams value)

원인

이 문제는 인증서 요청 확인을 담당하는 레지스트리 키가 NDES 커넥터 레지스트리 설정에 없으므로 발생합니다.

NDES 커넥터 레지스트리 설정의 스크린샷.

솔루션 1

Intune 커넥터 서비스를 다시 시작하려면 다음 단계를 완료합니다.

  1. 커넥터 설치 서버에서 서비스 스냅인을 엽니다. 이렇게 하려면 시작 메뉴를 열고 입력services.msc한 다음 결과 목록에서 서비스를 선택합니다.

  2. 서비스 스냅인에서 Intune 커넥터 서비스를 다시 시작합니다.

  3. HKLM\Software\Microsoft\MicrosoftIntune\NDESConnector 레지스트리 하위 키를 확인하여 다음 스크린샷에 따라 레지스트리 키가 생성되었는지 확인합니다.

    필요한 NDESConnector 레지스트리 하위 키 설정의 스크린샷

서비스 또는 컴퓨터를 다시 시작하면 문제가 해결되지 않으면 솔루션 2로 계속 진행합니다.

해결 방법 2

템플릿 이름을 지우고 다시 설정하려면 다음 단계를 완료합니다.

  1. NDES 컴퓨터에서 레지스트리를 열고 다음 하위 키를 찾습니다.
    HKEY_LOCAL_Machine\Software\Microsoft\Cryptography\MSCEP

  2. 템플릿 값을 기본값(IPSECIntermediateOffline)으로 변경하고 서버를 다시 시작합니다.

  3. 서버를 다시 시작한 후 하위 키를 확인 HKEY_LOCAL_Machine\Software\Microsoft\MicrosoftIntune\NDESConnector 합니다. 이제 서명 인증서가 표시됩니다.

  4. 키를 만든 후 아래의 템플릿 이름을 HKEY_LOCAL_Machine\Software\Microsoft\Cryptography\MSCEP SCEP 및 NDES용으로 만든 사용자 지정 템플릿 이름으로 변경합니다.