이 문서에서는 확인 중에 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 커넥터 레지스트리 설정에 없으므로 발생합니다.
솔루션 1
Intune 커넥터 서비스를 다시 시작하려면 다음 단계를 완료합니다.
커넥터 설치 서버에서 서비스 스냅인을 엽니다. 이렇게 하려면 시작 메뉴를 열고 입력
services.msc
한 다음 결과 목록에서 서비스를 선택합니다.서비스 스냅인에서 Intune 커넥터 서비스를 다시 시작합니다.
HKLM\Software\Microsoft\MicrosoftIntune\NDESConnector
레지스트리 하위 키를 확인하여 다음 스크린샷에 따라 레지스트리 키가 생성되었는지 확인합니다.
서비스 또는 컴퓨터를 다시 시작하면 문제가 해결되지 않으면 솔루션 2로 계속 진행합니다.
해결 방법 2
템플릿 이름을 지우고 다시 설정하려면 다음 단계를 완료합니다.
NDES 컴퓨터에서 레지스트리를 열고 다음 하위 키를 찾습니다.
HKEY_LOCAL_Machine\Software\Microsoft\Cryptography\MSCEP
템플릿 값을 기본값(IPSECIntermediateOffline)으로 변경하고 서버를 다시 시작합니다.
서버를 다시 시작한 후 하위 키를 확인
HKEY_LOCAL_Machine\Software\Microsoft\MicrosoftIntune\NDESConnector
합니다. 이제 서명 인증서가 표시됩니다.키를 만든 후 아래의 템플릿 이름을
HKEY_LOCAL_Machine\Software\Microsoft\Cryptography\MSCEP
SCEP 및 NDES용으로 만든 사용자 지정 템플릿 이름으로 변경합니다.