共用方式為


針對 Microsoft Intune 中 SCEP 憑證設定檔的裝置與 NDES 伺服器通訊進行疑難解答

使用下列資訊來判斷接收及處理 Intune 簡單憑證註冊通訊協定 (SCEP) 憑證配置檔的裝置是否可以成功連絡網路裝置註冊服務 (NDES) 提出挑戰。 在裝置上,會產生私鑰,並將憑證簽署要求 (CSR) 和挑戰從裝置傳遞至 NDES 伺服器。 若要連絡 NDES 伺服器,裝置會使用來自 SCEP 憑證配置檔的 URI。

本文參考 SCEP 通訊流程概觀的步驟 2。

檢閱裝置連線的 IIS 記錄

Internet Information Services (IIS) 記錄檔包含所有平臺的相同類型專案。

  1. 在 NDES 伺服器上,開啟在下列資料夾中找到的最新 IIS 記錄檔: %SystemDrive%\inetpub\logs\logfiles\w3svc1

  2. 在記錄檔中搜尋類似下列範例的專案。 這兩個範例都包含狀態 200,其會出現在結尾附近:

    fe80::f53d:89b8:c3e8:5fec%13 GET /certsrv/mscep/mscep.dll/pkiclient.exe operation=GetCACaps&message=default 80 - fe80::f53d:89b8:c3e8:5fec%13 Mozilla/4.0+(compatible;+Win32;+NDES+client) - 200 0 0 186 0.

    And

    fe80::f53d:89b8:c3e8:5fec%13 GET /certsrv/mscep/mscep.dll/pkiclient.exe operation=GetCACert&message=default 80 - fe80::f53d:89b8:c3e8:5fec%13 Mozilla/4.0+(compatible;+Win32;+NDES+client) - 200 0 0 3567 0

  3. 當裝置連絡 IIS 時,會記錄 mscep.dll 的 HTTP GET 要求。

    檢閱此要求結尾附近的狀態代碼:

    如果完全未記錄連線要求,裝置與 NDES 伺服器之間的網路上可能會封鎖來自裝置的連絡人。

檢閱裝置記錄以取得 NDES 連線

Android 裝置

檢閱 裝置 OMADM 記錄。 尋找類似下列範例的專案,這些範例會在裝置連線到 NDES 時記錄:

2018-02-27T05:16:08.2500000  VERB  Event  com.microsoft.omadm.platforms.android.certmgr.CertificateEnrollmentManager  18327    10  There are 1 requests
2018-02-27T05:16:08.2500000  VERB  Event  com.microsoft.omadm.platforms.android.certmgr.CertificateEnrollmentManager  18327    10  Trying to enroll certificate request: ModelName=AC_51bad41f-3854-4eb5-a2f2-0f7a94034ee8%2FLogicalName_39907e78_e61b_4730_b9fa_d44a53e4111c;Hash=1677525787
2018-02-27T05:16:09.5530000  VERB  Event  org.jscep.transport.UrlConnectionGetTransport  18327    10  Sending GetCACaps(ca) to https://<server>.msappproxy.net/certsrv/mscep/mscep.dll?operation=GetCACaps&message=ca
2018-02-27T05:16:14.6440000  VERB  Event  org.jscep.transport.UrlConnectionGetTransport  18327    10  Received '200 OK' when sending GetCACaps(ca) to https://<server>.msappproxy.net/certsrv/mscep/mscep.dll?operation=GetCACaps&message=ca
2018-02-27T05:16:21.8220000  VERB  Event  org.jscep.message.PkiMessageEncoder  18327     10 Encoding message: org.jscep.message.PkcsReq@2b06f45f[messageData=org.<server>.pkcs.PKCS10CertificationRequest@699b3cd,messageType=PKCS_REQ,senderNonce=Nonce [D447AE9955E624A56A09D64E2B3AE76E],transId=251E592A777C82996C7CF96F3AAADCF996FC31FF]
2018-02-27T05:16:21.8790000  VERB  Event  org.jscep.message.PkiMessageEncoder  18327     10  Signing pkiMessage using key belonging to [dn=CN=<uesrname>; serial=1]
2018-02-27T05:16:21.9580000  VERB  Event  org.jscep.transaction.EnrollmentTransaction  18327     10  Sending org.<server>.cms.CMSSignedData@ad57775

主要專案包括下列範例文字字串:

  • 有1個要求
  • 傳送 GetCACaps (ca) 至 時收到 '200 OK' https://<server>.msappproxy.net/certsrv/mscep/mscep.dll?operation=GetCACaps&message=ca
  • 使用屬於 [dn=CN=<username>; serial=1] 的密鑰簽署 pkiMessage

IIS 也會在 NDES 伺服器的 %SystemDrive%\inetpub\logs\LogFiles\W3SVC1\ 資料夾中記錄連線。 以下是範例:

fe80::f53d:89b8:c3e8:5fec%13 GET /certsrv/mscep/mscep.dll operation=GetCACert&message=ca 443 - 
fe80::f53d:89b8:c3e8:5fec%13 Dalvik/2.1.0+(Linux;+U;+Android+5.0;+P01M+Build/LRX21V) - 200 0 0 3909 0
fe80::f53d:89b8:c3e8:5fec%13 GET /certsrv/mscep/mscep.dll operation=GetCACaps&message=ca 443 - 
fe80::f53d:89b8:c3e8:5fec%13 Dalvik/2.1.0+(Linux;+U;+Android+5.0;+P01M+Build/LRX21V) - 200 0 0 421

iOS/iPadOS 裝置

檢閱 裝置偵錯記錄。 尋找類似下列範例的專案,這些範例會在裝置連線到 NDES 時記錄:

debug    18:30:53.691033 -0500    profiled    Performing synchronous URL request: https://<server>-contoso.msappproxy.net/certsrv/mscep/mscep.dll?operation=GetCACert&message=SCEP%20Authority\ 
debug    18:30:54.640644 -0500    profiled    Performing synchronous URL request: https://<server>-contoso.msappproxy.net/certsrv/mscep/mscep.dll?operation=GetCACaps&message=SCEP%20Authority\ 
default    18:30:55.483977 -0500    profiled    Attempting to retrieve issued certificate...\ 
debug    18:30:55.487798 -0500    profiled    Sending CSR via GET.\  
debug    18:30:55.487908 -0500    profiled    Performing synchronous URL request: https://<server>-contoso.msappproxy.net/certsrv/mscep/mscep.dll?operation=PKIOperation&message=MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgMFADCABgkqhkiG9w0BBwGggCSABIIZfzCABgkqhkiG9w0BBwOggDCAAgEAMYIBgjCCAX4CAQAwZjBPMRUwEwYKCZImiZPyLGQBGRYFbG9jYWwxHDAaBgoJkiaJk/IsZAEZFgxmb3VydGhjb2ZmZWUxGDAWBgNVBAMTD0ZvdXJ0aENvZmZlZSBDQQITaAAAAAmaneVjEPlcTwAAAAAACTANBgkqhkiG9w0BAQEFAASCAQCqfsOYpuBToerQLkw/tl4tH9E+97TBTjGQN9NCjSgb78fF6edY0pNDU+PH4RB356wv3rfZi5IiNrVu5Od4k6uK4w0582ZM2n8NJFRY7KWSNHsmTIWlo/Vcr4laAtq5rw+CygaYcefptcaamkjdLj07e/Uk4KsetGo7ztPVjSEFwfRIfKv474dLDmPqp0ZwEWRQGZwmPoqFMbX3g85CJT8khPaqFW05yGDTPSX9YpuEE0Bmtht9EwOpOZe6O7sd77IhfFZVmHmwy5mIYN7K6mpx/4Cb5zcNmY3wmTBlKEkDQpZDRf5PpVQ3bmQ3we9XxeK1S4UsAXHVdYGD+bg/bCafMIAGCSqGSIb3DQEHATAUBggqhkiG9w0DBwQI5D5J2lwZS5OggASCF6jSG9iZA/EJ93fEvZYLV0v7GVo3JAsR11O7DlmkIqvkAg5iC6DQvXO1j88T/MS3wV+rqUbEhktr8Xyf4sAAPI4M6HMfVENCJTStJw1PzaGwUJHEasq39793nw4k268UV5XHXvzZoF3Os2OxUHSfHECOj

主要專案包括下列範例文字字串:

  • operation=GetCACert
  • 嘗試擷取發行的憑證
  • 透過 GET 傳送 CSR
  • operation=PKIOperation

Windows 裝置

在連線到 NDES 的 Windows 裝置上,您可以檢視 Windows 事件檢視器 裝置,並尋找成功連線的指示。 Connections 會在 DeviceManagement-Enterprise-Diagnostics-Provide>管理員 記錄檔中記錄為事件標識碼 36

若要開啟記錄:

  1. 在裝置上,執行 eventvwr.msc 以開啟 Windows 事件檢視器。

  2. 展開應用程式和服務記錄>Microsoft>Windows>DeviceManagement-Enterprise-Diagnostic-Provider>管理員

  3. 尋找類似下列範例的事件 36,其中包含 SCEP 的索引鍵行 :成功產生的憑證要求

    Event ID:      36
    Task Category: None
    Level:         Information
    Keywords:
    User:          <UserSid>
    Computer:      <Computer Name>
    Description:
    SCEP: Certificate request generated successfully. Enhanced Key Usage: (1.3.6.1.5.5.7.3.2), NDES URL: (https://<server>/certsrv/mscep/mscep.dll/pkiclient.exe), Container Name: (), KSP Setting: (0x2), Store Location: (0x1).
    

針對狀態代碼 500 進行疑難解答

Connections 類似下列範例,狀態代碼為 500,表示未將驗證用戶權力指派給 NDES 伺服器上IIS_IUSRS群組之後模擬客戶端。 狀態值 500 會出現在結尾:

2017-08-08 20:22:16 IP_address GET /certsrv/mscep/mscep.dll operation=GetCACert&message=SCEP%20Authority 443 - 10.5.14.22 profiled/1.0+CFNetwork/811.5.4+Darwin/16.6.0 - 500 0 1346 31

完成下列步驟以修正此問題:

  1. 在 NDES 伺服器上,執行 secpol.msc 以開啟本機安全策略。
  2. 展開 [ 本機原則],然後選取 [ 用戶權力指派]
  3. 在右窗格中,於驗證之後按兩下 [ 模擬客戶 端]。
  4. 選取 [新增使用者或群組...],在 [輸入要選取的物件名稱] 方塊中輸入IIS_IUSRS,然後選取 [確定]
  5. 選取 [確定]
  6. 重新啟動計算機,然後再次嘗試從裝置連線。

測試 SCEP 伺服器 URL 並進行疑難解答

使用下列步驟來測試 SCEP 憑證配置檔中指定的 URL。

  1. 在 Intune 中,編輯 SCEP 憑證設定檔並複製伺服器 URL。 URL 應該類似 https://contoso.com/certsrv/mscep/mscep.dll

  2. 開啟網頁瀏覽器,然後流覽至該 SCEP 伺服器 URL。 結果應該是: HTTP 錯誤 403.0 – 禁止。 此結果表示 URL 正常運作。

    如果您未收到該錯誤,請選取與您看到的錯誤類似的連結,以檢視問題特定的指引:

一般 NDES 訊息

當您瀏覽至 SCEP 伺服器 URL 時,您會收到下列網路裝置註冊服務訊息:

網路裝置註冊服務訊息的螢幕快照。

  • 原因:此問題通常是 Microsoft Intune 連接器安裝的問題。

    Mscep.dll 是一個 ISAPI 擴充功能,可攔截傳入要求,並在正確安裝時顯示 HTTP 403 錯誤。

    解決方案:檢查SetupMsi.log檔案,以判斷是否已成功安裝 Microsoft Intune 連接器。 在下列範例中, 安裝已成功完成且安裝成功或錯誤狀態:0 表示安裝成功:

    MSI (c) (28:54) [16:13:11:905]: Product: Microsoft Intune Connector -- Installation completed successfully.
    MSI (c) (28:54) [16:13:11:999]: Windows Installer installed the product. Product Name: Microsoft Intune Connector. Product Version: 6.1711.4.0. Product Language: 1033. Manufacturer: Microsoft Corporation. Installation success or error status: 0.
    

    如果安裝失敗,請移除 Microsoft Intune 連接器,然後重新安裝它。 如果安裝成功,而且您繼續收到一般 NDES 訊息,請執行 iisreset 命令以重新啟動 IIS。

HTTP 錯誤 503

當您瀏覽至 SCEP 伺服器 URL 時,您會收到下列錯誤:

HTTP 錯誤 503 的螢幕快照。服務無法使用。

此問題通常是因為 IIS 中的 SCEP 應用程式集區未啟動。 在 NDES 伺服器上,開啟 [IIS 管理員 ],然後移至 [ 應用程式集區]。 找出 SCEP 應用程式集區,並確認其已啟動。

如果未啟動 SCEP 應用程式集區,請檢查伺服器上的應用程式事件記錄檔:

  1. 在裝置上,執行 eventvwr.msc 以開啟 事件檢視器 並移至 Windows 記錄應用程式>。

  2. 尋找類似下列範例的事件,這表示應用程式集區會在收到要求時損毀:

    Log Name:      Application
    Source:        Application Error
    Event ID:      1000
    Task Category: Application Crashing Events
    Level:         Error
    Keywords:      Classic
    Description: Faulting application name: w3wp.exe, version: 8.5.9600.16384, time stamp: 0x5215df96
    Faulting module name: ntdll.dll, version: 6.3.9600.18821, time stamp: 0x59ba86db
    Exception code: 0xc0000005
    

應用程式集區損毀的常見原因

  • 原因 1:NDES 伺服器的受信任跟證書授權單位證書存儲中有中繼 CA 憑證 (沒有自我簽署) 。

    解決方案:從受信任的跟證書授權單位證書存儲移除中繼憑證,然後重新啟動 NDES 伺服器。

    若要識別受信任跟證書授權單位證書存儲中的所有中繼憑證,請執行下列 PowerShell Cmdlet: Get-Childitem -Path cert:\LocalMachine\root -Recurse | Where-Object {$_.Issuer -ne $_.Subject}

    具有相同 [發行至 ] 和 [ 由值發行] 的 憑證是跟證書。 否則,它是中繼憑證。

    拿掉憑證並重新啟動伺服器之後,請再次執行 PowerShell Cmdlet 以確認沒有任何中繼憑證。 如果有,請檢查 群組原則 是否將中繼憑證推送至 NDES 伺服器。 如果是,請從 群組原則 中排除 NDES 伺服器,然後再次移除中繼憑證。

  • 原因 2:Intune 憑證連接器所使用的憑證,會封鎖或無法連線到證書吊銷清單 (CRL) 中的 URL。

    解決方案:啟用其他記錄以收集詳細資訊:

    1. 開啟 事件檢視器,選取 [檢視],確定已核取 [顯示分析和偵錯記錄] 選項。
    2. 移至 [應用程式和服務記錄>] [Microsoft>Windows>CAPI2>作業],以滑鼠右鍵按兩下 [ 操作],然後選取 [ 啟用記錄]
    3. 啟用CAPI2記錄之後,請重現問題,並檢查事件記錄檔以針對問題進行疑難解答。
  • 原因 3CertificateRegistrationSvc 的 IIS 許可權已啟用 Windows 驗證

    解決方案:啟用 匿名驗證 並停用 Windows 驗證,然後重新啟動 NDES 伺服器。

    匿名驗證和 Windows 驗證許可權的螢幕快照。

  • 原因 4:NDESPolicy 模組憑證已過期。

    CAPI2 記錄 (請參閱原因 2 的解決方案) 會顯示與憑證有效期間以外所 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\MSCEP\Modules\NDESPolicy\NDESCertThumbprint 參考憑證相關的錯誤。

    解決方案:更新憑證並重新安裝連接器。

    1. 使用 certlm.msc 開啟本機計算機證書存儲,展開 [ 個人],然後選取 [ 憑證]

    2. 在憑證清單中,尋找符合下列條件的過期憑證:

      • [ 預定用途] 的值為 [客戶端驗證]
      • [ 發行至 ] 或 [ 一般名稱] 的值符合 NDES 伺服器名稱。

      注意事項

      需要客戶端驗證擴充金鑰使用 (EKU) 。 如果沒有此 EKU,CertificateRegistrationSvc 會傳回 NDESPlugin 要求的 HTTP 403 回應。 此回應將會記錄在 IIS 記錄中。

    3. 按兩下憑證。 在 [ 憑證 ] 對話框中,選取 [ 詳細數據] 索 引卷標,找出 [指紋 ] 欄位,然後確認值符合登錄子機碼的 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\MSCEP\Modules\NDESPolicy\NDESCertThumbprint 值。

    4. 選取 [確定 ] 以關閉 [ 憑證 ] 對話框。

    5. 以滑鼠右鍵按下憑證,選取 [ 所有工作],然後選取 [ 使用新金鑰要求憑證 ] 或 [ 使用新金鑰更新憑證]

    6. 在 [ 憑證註冊] 頁面中,選取 [ 下一步],選取正確的 SSL 範本,然後選取 [需要更多資訊才能註冊此憑證]。按這裏設定設定

    7. 在 [ 憑證內容] 對話框中,選取 [ 主體] 索引卷標,然後執行下列步驟:

      1. 在 [ 主體名稱] 下方的 [ 類型 ] 下拉式方塊中,選取 [ 一般名稱]。 在 [ 值] 方塊中,輸入 NDES 伺服器的完整域名 (FQDN) 。 然後選取 [新增]
      2. 在 [ 別名] 下方的 [ 類型 ] 下拉式方塊中,選取 [DNS]。 在 [ 值] 方塊中,輸入 NDES 伺服器的 FQDN。 然後選取 [新增]
      3. 選取 [確定 ] 以關閉 [ 憑證內容 ] 對話框。
    8. 取 [註冊],等候註冊成功完成,然後選取 [ 完成]

    9. 重新安裝 Intune 憑證連接器,以將其連結至新建立的憑證。 如需詳細資訊,請參閱安裝適用於 Microsoft Intune 的憑證連接器

    10. 關閉憑證連接器 UI 之後,請重新啟動 Intune 連接器服務和萬維網發佈服務。

GatewayTimeout

當您瀏覽至 SCEP 伺服器 URL 時,您會收到下列錯誤:

Gatewaytimeout 錯誤的螢幕快照。

  • 原因Microsoft Entra 應用程式 Proxy 連接器服務未啟動。

    解決方案:執行 services.msc,然後確定 Microsoft Entra 應用程式 Proxy 連接器服務正在執行,且 [啟動類型] 設定為 [自動]

HTTP 414 Request-URI 太長

當您瀏覽至 SCEP 伺服器 URL 時,您會收到下列錯誤: HTTP 414 Request-URI Too Long

  • 原因:IIS 要求篩選未設定為支援 NDES 服務收到 (查詢) 長 URL。 當您設定 NDES 服務 以搭配 SCEP 的基礎結構使用時,會設定這項支援。

  • 解決方案:設定長URL的支援。

    1. 在 NDES 伺服器上,開啟 IIS 管理員,選取 [ 預設網站>要求篩選>編輯功能設定 ] 以開啟 [ 編輯要求篩選設定] 頁面。

    2. 進行下列設定:

      • 最大 URL 長度 (位元組) = 65534
      • 最大查詢字串 (位元組數) = 65534
    3. 選取 [確定 ] 以儲存此設定並關閉 IIS 管理員。

    4. 藉由尋找下列登錄機碼來確認它具有指定的值,以驗證此設定:

      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters

      下列值會設定為 DWORD 專案:

      • 名稱: MaxFieldLength,小數值為 65534
      • 名稱: MaxRequestBytes,小數值為 65534
    5. 重新啟動 NDES 伺服器。

無法顯示此頁面

您已設定 Microsoft Entra 應用程式 Proxy。 當您瀏覽至 SCEP 伺服器 URL 時,您會收到下列錯誤:

This page can't be displayed

  • 原因:當 SCEP 外部 URL 在 應用程式 Proxy 組態中不正確時,就會發生此問題。 此網址的範例為 https://contoso.com/certsrv/mscep/mscep.dll

    解決方案:針對 應用程式 Proxy 組態中的SCEP外部URL,使用 yourtenant.msappproxy.net 的預設網域。

500 - 內部伺服器錯誤

當您瀏覽至 SCEP 伺服器 URL 時,您會收到下列錯誤:

500 - 內部伺服器錯誤的螢幕快照。

  • 原因 1:NDES 服務帳戶已鎖定或密碼已過期。

    解決方案:解除鎖定帳戶或重設密碼。

  • 原因 2:MSCEP-RA 憑證已過期。

    解決方案:如果 MSCEP-RA 憑證已過期,請重新安裝 NDES 角色,或要求新的 CEP 加密和 Exchange 註冊代理程式 (離線要求) 憑證。

    若要要求新的憑證,請遵循下列步驟:

    1. 在證書頒發機構單位 (CA) 或發行 CA,開啟證書範本 MMC。 請確定登入的使用者和 NDES 伺服器具有 CEP 加密和 Exchange 註冊代理程式的 取和 註冊 許可權, (憑證範本) 脫機要求。

    2. 檢查 NDES 伺服器上的過期憑證,從憑證複製 主體 資訊。

    3. 開啟電腦 帳戶的憑證 MMC。

    4. 展開 [個人],以滑鼠右鍵按兩下 [ 憑證],然後選取 [ 所有工作>要求新憑證]

    5. 在 [ 要求憑證 ] 頁面上,選取 [CEP 加密],然後選取 [ 需要更多資訊才能註冊此憑證]。按這裏設定設定

      [要求憑證] 頁面的螢幕快照,其中已選取 [CEP 加密]。

    6. 在 [ 憑證內容] 中,選取 [ 主體] 索引 標籤,在 [ 主體名稱 ] 中填入您在步驟 2 收集的資訊,選取 [ 新增],然後選取 [ 確定]

    7. 完成憑證註冊。

    8. 開啟 [ 我的用戶帳戶的憑證 MMC]。

      當您註冊 Exchange 註冊代理程式 (離線要求) 憑證時,必須在用戶內容中完成。 因為此證書範本的主體 類型 設定為 [使用者]

    9. 展開 [個人],以滑鼠右鍵按兩下 [ 憑證],然後選取 [ 所有工作>要求新憑證]

    10. 在 [ 要求憑證] 頁面上,選 取 [Exchange 註冊代理程式 (脫機要求) ,然後選取 [需要更多資訊才能註冊此憑證]。按這裏設定設定

      [要求憑證] 頁面的螢幕快照,其中已選取 [Exchange 註冊代理程式 (脫機要求) 。

    11. 在 [ 憑證內容] 中,選取 [ 主體] 索引 標籤,以您在步驟 2 期間收集的資訊填入主體 名稱 ,然後選取 [ 新增]

      [憑證屬性] 視窗中 [主體] 索引標籤的螢幕快照。

      選取 [私鑰] 索引標籤 ,選 取 [讓私鑰可匯出],然後選取 [ 確定]

      [憑證屬性] 視窗中 [私鑰] 索引標籤的螢幕快照。

    12. 完成憑證註冊。

    13. 從目前的使用者證書存儲匯出 Exchange 註冊代理程式 (離線要求) 憑證。 在 [憑證導出精靈] 中,選取 [ 是,匯出私鑰]

    14. 將憑證匯入本機計算機證書存儲。

    15. 在 [憑證 MMC] 中,針對每個新憑證執行下列動作:

      以滑鼠右鍵按兩下憑證,選取 [ 所有工作>] [管理私鑰],並將 [讀 取] 許可權新增至 NDES 服務帳戶。

    16. 執行 iisreset 命令以重新啟動 IIS。

後續步驟

如果裝置成功連線到 NDES 伺服器以提出憑證要求,下一個步驟是檢閱 Intune 憑證連接器原則模組