使用第三方證書頒發機構單位啟用智慧卡登入的指導方針

本文提供一些使用第三方證書頒發機構單位來啟用智慧卡登入的指導方針。

適用於:Windows Server 2012 R2、Windows 10 - 所有版本
原始 KB 編號: 281245

摘要

您可以遵循本文中的指導方針,啟用 Microsoft Windows 2000 和非 Microsoft 證書頒發機構單位 (CA) 的智慧卡登入程式。 本文稍後將說明此設定的有限支援。

其他相關資訊

需求

對 Active Directory 的智慧卡驗證需要正確設定智慧卡工作站、Active Directory 和 Active Directory 域控制器。 Active Directory 必須信任證書頒發機構單位,才能根據來自該 CA 的憑證來驗證使用者。 Smartcard 工作站和域控制器都必須使用正確設定的憑證進行設定。

如同任何 PKI 實作,所有合作對象都必須信任發行 CA 鏈結的根 CA。 域控制器和智慧卡工作站都信任此根目錄。

Active Directory 和域控制器設定

  • 必要:Active Directory 必須在NTAuth存放區中具有第三方發行CA,才能向Active Directory驗證使用者。
  • 必要:域控制器必須設定域控制器憑證,才能驗證智慧卡使用者。
  • 選擇性:Active Directory 可以設定為使用 群組原則,將第三方根 CA 散發到所有網域成員的信任根 CA 存放區。

智慧卡憑證和工作站需求

  • 必要:必須符合一節中所述的所有智慧卡需求,包括位元段的文字格式設定。 如果不符合智慧卡驗證,則會失敗。
  • 必要:智慧卡和私鑰必須安裝在智慧卡上。

設定指示

  1. 匯出或下載第三方跟證書。 如何取得合作物件跟證書會因廠商而異。 憑證必須是Base64編碼 X.509 格式。

  2. 將第三方根 CA 新增至 Active Directory 群組原則 物件中受信任的根目錄。 若要在 Windows 2000 網域中設定 群組原則,將第三方 CA 散發到所有網域電腦的受信任根存放區:

    1. 按一下 [開始],依序指向 [程式] 及 [系統管理工具],然後按一下 [Active Directory 使用者及電腦]
    2. 在左窗格中,找出要編輯之原則套用所在的網域。
    3. 在網域上按一下滑鼠右鍵,然後按一下 [內容]
    4. 按兩下 [群組原則] 索引標籤。
    5. 按兩下預設網域原則 群組原則物件,然後按兩下 [編輯]。 新的視窗隨即開啟。
    6. 在左窗格中,展開下列專案:
      • 電腦設定
      • Windows 設定
      • 安全性設定
      • 公鑰原則
    7. 以滑鼠右鍵按兩下 [受信任的跟證書授權單位]
    8. 選取 [所有工作],然後按兩下 [ 匯入]
    9. 請依照精靈中的指示匯入憑證。
    10. 按一下確定
    11. 關閉 群組原則 視窗。
  3. 將發行 CA 的第三方新增至 Active Directory 中的 NTAuth 存放區。

    智慧卡登入憑證必須從NTAuth存放區中的CA發出。 根據預設,Microsoft 企業 CA 會新增至 NTAuth 存放區。

    • 如果發出智慧卡登入憑證或域控制器憑證的 CA 未正確張貼在 NTAuth 存放區中,智慧卡登入程式將無法運作。 對應的答案是「無法驗證認證」。

    • NTAuth存放區位於樹系的組態容器中。 例如,範例位置如下所示:LDAP://server1.name.com/CN=NTAuthCertificates,CN=Public Key Services,CN=Services,CN=Configuration,DC=name,DC=com

    • 根據預設,當您安裝 Microsoft Enterprise CA 時,會建立此存放區。 您也可以在 Windows 2000 支援工具中使用 ADSIedit.msc 或使用 LDIFDE 手動建立物件。 如需詳細資訊,請按下列文章編號以檢視 Microsoft 知識庫中的文章:

      295663 如何將第三方證書頒發機構單位 (CA) 憑證匯入 Enterprise NTAuth 存放區

    • 相關的屬性是 cACertificate,這是八位字串,ASN 編碼憑證的多重值清單。

      將第三方 CA 放在 NTAuth 存放區之後,網域型 群組原則 會將登錄機碼 (憑證的指紋) 在網域中的所有計算機上:

      HKEY_LOCAL_MACHINE\Software\Microsoft\EnterpriseCertificates\NTAuth\Certificates

      工作站會每隔八小時重新整理一次, (一般 群組原則 脈衝間隔) 。

  4. 在域控制器 (的) 上要求並安裝域控制器憑證。 要驗證智慧卡使用者的每個域控制器都必須有域控制器憑證。

    如果您在 Active Directory 樹系中安裝 Microsoft Enterprise CA,所有域控制器都會自動註冊域控制器憑證。 如需有關第三方 CA 之域控制器憑證需求的詳細資訊,請按下列文章編號以檢視 Microsoft 知識庫中的文章:

    291010 第三方 CA 的域控制器憑證需求

    注意事項

    域控制器憑證用於安全套接字層 (SSL) 驗證、簡易郵件傳輸通訊協定 (SMTP) 加密、遠端過程調用 (RPC) 簽署,以及智慧卡登入程式。 使用非 Microsoft CA 將憑證簽發給域控制器可能會導致非預期的行為或不支持的結果。 格式不正確的憑證或主體名稱不存在的憑證,可能會導致這些或其他功能停止回應。

  5. 向第三方 CA 要求智慧卡憑證。

    從符合所述需求的第三方 CA 註冊憑證。 註冊的方法會因 CA 廠商而異。

    智慧卡憑證具有特定格式需求:

    • CRL 發佈點 (CDP) 位置 (其中 CRL 是證書吊銷清單) 必須填入、在線和可用。 例如:

      [1]CRL Distribution Point  
      Distribution Point Name:  
      Full Name:  
      URL=http://server1.name.com/CertEnroll/caname.crl
      
    • 金鑰使用方式 = 數字簽名

    • 基本條件約束 [主體類型=結束實體,路徑長度條件約束=無] (選用)

    • 增強金鑰使用方式 =

      • 客戶端驗證 (1.3.6.1.5.5.7.3.2)
        (只有當憑證用於SSL驗證時,才需要客戶端驗證OID) 。)
      • 智慧卡登入 (1.3.6.1.4.1.311.20.2.2)
    • 主體別名 = 其他名稱:主體名稱= (UPN) 。 例如:
      UPN = user1@name.com
      UPN OtherName OID 為:“1.3.6.1.4.1.311.20.2.3”
      UPN OtherName 值:必須是 ASN1 編碼的 UTF8 字串

    • Subject = 使用者的辨別名稱。 此欄位是必要的延伸模組,但此欄位的母體擴展是選擇性的。

  6. 私鑰有兩種預先定義的類型。 這些金鑰是 僅限簽章 (AT_SIGNATURE) 金鑰交換 (AT_KEYEXCHANGE) 。 智慧卡登入憑證必須具有 密鑰交換 (AT_KEYEXCHANGE) 私鑰類型,智慧卡登入才能正確運作。

  7. 將智慧卡驅動程式和軟體安裝到智慧卡工作站。

    請確定智慧卡工作站上已安裝適當的智慧卡讀取器裝置和驅動程序軟體。 其會因智慧卡讀取器廠商而有所不同。

  8. 將第三方智慧卡憑證安裝到智慧卡工作站。

    如果智慧卡尚未在步驟 4 的註冊程式中放入智慧卡使用者的個人存放區,則您必須將憑證匯入使用者的個人存放區。 若要這麼做︰

    1. 開啟包含憑證嵌入式管理單元的 Microsoft Management Console (MMC) 。

    2. 在主控台樹的 [個人] 底下,按兩下 [憑證]。

    3. 在 [所有工作] 功能表上,單擊 [匯入] 以啟動 [憑證匯入精靈]。

    4. 按兩下包含您要匯入之憑證的檔案。

      注意事項

      如果包含憑證的檔案是個人資訊交換 (PKCS #12) 檔案,請輸入您用來加密私鑰的密碼,如果您想要匯出私鑰,請按下以選取適當的複選框,然後如果您想要使用此功能) ,請開啟強式私鑰保護 (。

      注意事項

      若要開啟強式私鑰保護,您必須使用邏輯證書存儲檢視模式。

    5. 選取選項,根據憑證類型自動將憑證放在證書存儲中。

  9. 將第三方智慧卡憑證安裝到智慧卡上。 此安裝會根據密碼編譯服務提供者 (CSP) 和智慧卡廠商而有所不同。 如需相關指示,請參閱廠商的檔。

  10. 使用智慧卡登入工作站。

可能問題

在智慧卡登入期間,最常見的錯誤訊息是:

系統無法將您登入。 無法驗證您的認證。

此訊息是一般錯誤,可能是下列一或多個問題的結果。

憑證和設定問題

  • 域控制器沒有域控制器憑證。

  • 智慧卡憑證的 SubjAltName 欄位格式不正確。 如果 SubjAltName 欄位中的資訊顯示為十六進位/ASCII 原始數據,則文字格式設定不是 ASN1 / UTF-8。

  • 域控制器的憑證格式不正確或不完整。

  • 針對下列每個條件,您必須要求新的有效域控制器憑證。 如果您的有效域控制器憑證已過期,您可以更新域控制器憑證,但此程式會比要求新的域控制器憑證更複雜,而且通常更困難。

    • 域控制器憑證已過期。
    • 域控制器具有不受信任的憑證。 如果 NTAuth 存放區不包含證書頒發機構單位 (CA) 域控制器憑證發行 CA 的憑證,您必須將它新增至 NTAuth 存放區,或從憑證位於 NTAuth 存放區的發行 CA 取得 DC 憑證。

    如果域控制器或智慧卡工作站不信任域控制器憑證鏈結的根 CA,則您必須將這些計算機設定為信任該根 CA。

  • 智慧卡具有不受信任的憑證。 如果 NTAuth 存放區不包含智慧卡憑證發行 CA 的 CA 憑證,您必須將其新增至 NTAuth 存放區,或從憑證位於 NTAuth 存放區的發行 CA 取得智慧卡憑證。

    如果域控制器或智慧卡工作站不信任用戶智慧卡憑證鏈結的根 CA,則您必須將這些計算機設定為信任該根 CA。

  • 智慧卡的憑證不會安裝在工作站上的使用者存放區中。 儲存在智慧卡上的憑證必須位於使用智慧卡登入之使用者配置檔中的智慧卡工作站上。

    注意事項

    您不需要將私鑰儲存在工作站上的使用者設定檔中。 它只需要儲存在智慧卡上。

  • 智慧卡上未安裝正確的智慧卡憑證或私鑰。 有效的智慧卡憑證必須安裝在具有私鑰的智慧卡上,且憑證必須符合智慧卡工作站上智慧卡使用者配置檔中所儲存的憑證。

  • 智慧卡的憑證無法從智慧卡讀取器擷取。 這可能是智慧卡讀取器硬體或智慧卡讀取器驅動程式軟體的問題。 確認您可以使用智慧卡讀取器廠商的軟體來檢視智慧卡上的憑證和私鑰。

  • 智慧卡憑證已過期。

  • 智慧卡憑證的 SubjAltName 延伸模組中沒有可用的用戶主體名稱 (UPN) 。

  • 智慧卡憑證的 [SubjAltName] 字段中的 UPN 格式不正確。 如果 SubjAltName 中的資訊顯示為十六進位/ASCII 原始數據,則文字格式設定不是 ASN1 / UTF-8。

  • 智慧卡有格式不正確或不完整的憑證。 針對上述每個條件,您必須要求新的有效智慧卡憑證,並將其安裝到智慧卡上,並安裝到智慧卡工作站上的使用者配置檔中。 智慧卡憑證必須符合本文稍早所述的需求,其中在 SubjAltName 欄位中包含格式正確的 UPN 字段。

    如果您的有效智慧卡憑證已過期,您也可以更新智慧卡憑證,這比要求新的智慧卡憑證更複雜且困難。

  • 使用者的 Active Directory 使用者帳戶中沒有定義 UPN。 Active Directory 中的用戶帳戶在智慧卡使用者的 Active Directory 用戶帳戶的 userPrincipalName 屬性中必須有有效的 UPN。

  • 憑證中的UPN不符合使用者Active Directory使用者帳戶中定義的UPN。 更正智慧卡使用者 Active Directory 用戶帳戶中的 UPN,或重新發出智慧卡憑證,讓 SubjAltName 字段中的 UPN 值符合智慧卡使用者 Active Directory 使用者帳戶中的 UPN。 建議智慧卡 UPN 符合第三方 CA 的 userPrincipalName 使用者帳戶屬性。 不過,如果憑證中的UPN是帳戶的「隱含UPN」, (格式samAccountName@domain_FQDN) ,則UPN不需要明確比對userPrincipalName屬性。

撤銷檢查問題

如果域控制器驗證智慧卡登入憑證時撤銷檢查失敗,域控制器會拒絕登入。 網域控制器可能會傳回稍早提及的錯誤訊息或下列錯誤訊息:

系統無法將您登入。 用於驗證的智慧卡憑證不受信任。

注意事項

找不到並下載證書吊銷清單 (CRL) 、無效的 CRL、撤銷的憑證,以及「未知」的撤銷狀態,都會被視為撤銷失敗。

撤銷檢查必須從用戶端和域控制器都成功。 請確定下列專案為 true:

  • 撤銷檢查未關閉。

    無法關閉內建撤銷提供者的撤銷檢查。 如果已安裝自定義的可安裝撤銷提供者,則必須開啟它。

  • 除了憑證鏈結中的根 CA 之外,每個 CA 憑證都會在憑證中包含有效的 CDP 擴充功能。

  • CRL 有 [下一個更新] 字段,而且 CRL 是最新的。 您可以從 Internet Explorer 下載 CRL,以確認 CRL 在 CDP 上線且有效。 您應該能夠從任何 HyperText 傳輸通訊協定 (HTTP) 下載及檢視 CRL,或從智慧卡工作站 ( (的) 和域控制器 (的) ,下載並檢視 Internet Explorer 中 FTP) CDP 的任何文件傳輸通訊協定或文件傳輸通訊協定。

確認您企業中憑證所使用的每個唯一 HTTP 和 FTP CDP 都已上線且可供使用。

若要確認 CRL 在線上且可從 FTP 或 HTTP CDP 取得:

  1. 若要開啟有問題的憑證,請按兩下.cer檔案,或按兩下存放區中的憑證。
  2. 按兩下 [詳細數據] 索引標籤,然後選取 [CRL 發佈點] 字 段。
  3. 在底部窗格中,反白顯示完整的 FTP 或 HTTP 統一資源定位器 (URL) 並複製它。
  4. 開啟 Internet Explorer,並將 URL 貼到網址列中。
  5. 當您收到提示時,請選取 [開啟 CRL] 選項。
  6. 請確定CRL中有 [下一個更新] 欄位,且 [下一個更新] 欄位中的時間尚未經過。

若要下載或確認輕量型目錄存取通訊協定 (LDAP) CDP 有效,您必須撰寫腳本或應用程式來下載 CRL。 下載並開啟 CRL 之後,請確定 CRL 中有 [下一個更新] 欄位,且 [下一個更新] 字段中的時間尚未通過。

支援

如果判斷下列一或多個專案造成問題,Microsoft 產品支援服務不支援第三方 CA 智慧卡登入程式:

  • 憑證格式不正確。
  • 第三方 CA 無法使用憑證狀態或撤銷狀態。
  • 第三方 CA 的憑證註冊問題。
  • 第三方 CA 無法發佈至 Active Directory。
  • 第三方 CSP。

其他資訊

用戶端計算機會檢查域控制器的憑證。 因此,本機計算機會將域控制器憑證的CRL下載到CRL快取中。

離線登入程式不涉及憑證,只會涉及快取的認證。

若要強制在本機計算機上立即填入NTAuth存放區,而不是等待下一個 群組原則傳播,請執行下列命令來起始 群組原則 更新:

  dsstore.exe -pulse  

您也可以使用 Certutil.exe -scinfo 命令,傾印 Windows Server 2003 和 Windows XP 中的智慧卡資訊。