針對 Microsoft Intune 中的 NDES 原則模組進行疑難解答

本文提供指引,協助您驗證網路裝置註冊服務 (NDES) 原則模組的作業,並使用 Microsoft Intune 憑證連接器進行疑難解答。 當 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 憑證上的一般名稱

解決方案:針對 [ 一般名稱 ] 和 [ 主體別名] 發出具有下列屬性的 Web 伺服器 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

當成功指標不存在時:

如果您沒有看到表示成功的專案,請完成下列步驟:

  1. 尋找憑證登錄點驗證挑戰時, 在 CertificateRegistrationPoint.svclog 中記錄的問題。 尋找下列幾行之間的專案:

    • VerifyRequest 已啟動。
    • VerifyRequest 已完成,狀態為 False
  2. 開啟 CA 上的證書頒發機構單位 MMC,然後選取 [ 失敗的要求 ] 來尋找有助於識別問題的錯誤。 下圖是範例:

    範例失敗要求的螢幕快照。

  3. 檢閱 CA 上的應用程式事件記錄檔中是否有錯誤。 您通常會看到與您在上一個步驟的失敗 要求 中看到的錯誤相符。 下圖是範例:

    顯示應用程式記錄詳細數據的螢幕快照。

後續步驟

如果 NDES 原則模組驗證要求,並將要求轉送至證書頒發機構單位,下一個步驟是檢閱將 憑證傳遞至裝置