共用方式為


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

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

原始 KB 編號: 281245

摘要

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

其他相關資訊

需求

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

如同任何 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 Enterprise CA 會新增至 NTAuth 存放區。

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

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

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

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

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

      將第三方 CA 放在 NTAuth 存放區之後,網域型組策略會將登錄機碼(憑證指紋)放在網域中的所有電腦上下列位置:

      HKEY_LOCAL_MACHINE\Software\Microsoft\EnterpriseCertificates\NTAuth\Certificates

      工作站上每隔八小時會重新整理一次(典型的組策略脈衝間隔)。

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

    如果您在 Active Directory 樹系中安裝Microsoft企業 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
      
    • 金鑰使用方式 = 數字簽名

    • 基本條件約束 [Subject Type=End Entity, Path Length Constraint=None] (選擇性)

    • 增強金鑰使用方式 =

      • 用戶端驗證 (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)。 智慧卡登入憑證必須具有 密鑰 Exchange(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、撤銷的憑證,以及「未知」的撤銷狀態全都被視為撤銷失敗。

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

  • 撤銷檢查未關閉。

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

  • 憑證鏈結中根 CA 以外的每個 CA 憑證都會在憑證中包含有效的 CDP 延伸模組。

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

確認企業中憑證所使用的每個唯一 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 中傾印智慧卡資訊。