Microsoft Intune 中的 NDES 原則模組疑難解答
本文提供指引,協助您驗證和疑難解答使用 Microsoft Intune 憑證連接器安裝的網路裝置註冊服務 (NDES) 原則模組作業。 當 NDES 收到憑證的要求時,它會將要求轉送至原則模組,以驗證要求對裝置有效。 驗證之後,NDES 會連絡證書頒發機構單位 (CA) 代表裝置要求憑證。
本文同時適用於 SCEP 通訊工作流程的步驟 3 和步驟 4。
NDES 與原則模組的通訊
從裝置接收憑證要求之後,NDES 會透過使用 Microsoft Intune 憑證連接器安裝的原則模組,向 Intune 驗證該要求。 這些專案是指 憑證登錄點。
指出成功的記錄專案:
若要確認驗證要求已提交至模組,請在 NDES 伺服器上的記錄中尋找類似下列範例的專案:
IIS 記錄:
fe80::f53d:89b8:c3e8:5fec%13 POST /CertificateRegistrationSvc/Certificate/VerifyRequest - 443 - fe80::f53d:89b8:c3e8:5fec%13 NDES_Plugin - 201 0 0 341 875
NDESPlugin 記錄:
Calling VerifyRequest ... Sending request to certificate registration point.
下列範例指出裝置挑戰要求的成功驗證,且 NDES 現在可以連絡 CA:
Verify challenge returns true Exiting VerifyRequest with 0x0
CertificateRegistrationPoint.svclog:
Validation Phase 1 finished with status True.
Validation Phase 3 finished with status True.
VerifyRequest Finished with status True
當成功指標不存在時:
如果您找不到這些專案,請從檢閱裝置到 NDES 伺服器通訊的疑難解答指引開始。
如果該文章中的資訊無法協助您解決問題,以下是可指出問題的其他專案。
NDESPlugin.log包含錯誤 12175
當記錄檔包含類似下列的錯誤 12175 時,SSL 憑證可能會發生問題:
WINHTTP_CALLBACK_STATUS_FLAG_CERT_CN_INVALID
Failed to send http request /CertificateRegistrationSvc/Certificate/VerifyRequest. Error 12175
如果存在主體別名,行動裝置上的新式瀏覽器和瀏覽器會忽略 SSL 憑證上的通用名稱。
解決方案:針對 [一般名稱] 和 [主體別名] 發出具有下列屬性的網頁伺服器 SSL 憑證,然後將它系結至 IIS 中的埠 443:
- 主體名稱
CN = 外部伺服器名稱 - 主體別名
名稱 = 外部伺服器名稱
DNS 名稱 = 內部伺服器名稱
NDESPlugin.log包含錯誤 403 – 禁止:拒絕存取」
當下列記錄包含類似下列的錯誤 403 時,客戶端憑證可能不受信任或無效:
NDESPlugin.log:
Sending request to certificate registration point.
Verify challenge returns <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<title>403 - Forbidden: Access is denied.</title>
IIS 記錄檔:
POST /CertificateRegistrationSvc/Certificate/VerifyRequest - 443 -<IP_address>
NDES_Plugin - 403 16 2148204809 453
如果 NDES 伺服器的受信任跟證書授權單位證書存儲中有中繼 CA 憑證,就會發生此問題。
如果憑證具有相同 的 [發行者 ] 和 [由 值簽發],則為跟證書。 否則,它是中繼憑證。
解決方案:若要修正問題,請識別並移除受信任跟證書授權單位證書存儲中的中繼 CA 憑證。
NDESPlugin.log表示挑戰傳回 false
當挑戰的結果傳 回 false 時,請檢查 CertificateRegistrationPoint.svclog 是否有錯誤。 例如,您可能會看到類似下列專案的「無法擷取簽署憑證」錯誤:
Signing certificate could not be retrieved. System.Security.Cryptography.CryptographicException: m_safeCertContext is an invalid handle. at System.Security.Cryptography.X509Certificates.X509Certificate.ThrowIfContextInvalid() at System.Security.Cryptography.X509Certificates.X509Certificate.GetCertHashString() at Microsoft.ConfigurationManager.CertRegPoint.CRPCertificate.RetrieveSigningCert(String certThumbprint
解決方案:在安裝連接器的伺服器上,開啟註冊表編輯器,找出 HKLM\SOFTWARE\Microsoft\MicrosoftIntune\NDESConnector
登錄機碼,然後檢查 SigningCertificate 值是否存在。
如果此值不存在,請重新啟動 services.msc 中的 Intune 連接器服務,然後檢查值是否出現在登錄中。 如果值仍然遺失,通常是因為 NDES 與 Intune 服務之間的網路連線問題。
NDES 會傳遞要求以發出憑證
憑證註冊點成功驗證之後,NDES 會代表裝置將憑證要求傳遞至 CA。
指出成功的記錄專案:
NDESPlugin 記錄:
Verify challenge returns true Exiting VerifyRequest with 0x0
IIS 記錄:
fe80::f53d:89b8:c3e8:5fec%13 GET /certsrv/mscep/mscep.dll/pkiclient.exe ... 80 - fe80::f53d:89b8:c3e8:5fec%13 Mozilla/4.0+(compatible;+Win32;+NDES+client) - 200 0 0 2713 1296
CertificateRegistrationPoint.svclog:
Validation Phase 1 finished with status True.
Validation Phase 3 finished with status True.
VerifyRequest Finished with status True
當成功指標不存在時:
如果您沒有看到指出成功的專案,請完成下列步驟:
尋找憑證登錄點驗證挑戰時,在 CertificateRegistrationPoint.svclog 中記錄的問題。 尋找下列幾行之間的專案:
- VerifyRequest Started。
- VerifyRequest Finished with status False
開啟 CA 上的證書頒發機構單位 MMC,然後選取 [失敗要求 ] 以尋找有助於識別問題的錯誤。 下圖是範例:
檢閱 CA 上的應用程式事件記錄檔是否有錯誤。 通常,您可以看到符合您在上一個步驟中 失敗要求 中看到的錯誤。 下圖是範例:
下一步
如果 NDES 原則模組驗證要求,並將要求轉送到證書頒發機構單位,下一個步驟是檢閱 憑證傳遞至裝置。