Share via


取得及設定 AD FS 的 TS 和 TD 憑證

本文說明確保 AD FS 權杖簽署和權杖解密憑證為最新狀態的工作和程序。

權杖簽署憑證是標準 X509 憑證,用於安全地簽署同盟伺服器發出的所有權杖。 權杖解密憑證是用於解密任何傳入權杖的標準 X509 憑證。 其也會在同盟中繼資料中發佈。

如需詳細資訊,請參閱憑證要求

判斷 AD FS 是否自動更新憑證

根據預設,AD FS 會設定為自動產生權杖簽署和權杖解密憑證。 在初始設定和憑證接近到期日時,都會出現世代。

您可以執行下列 Windows PowerShell 命令:Get-AdfsProperties

Screenshot of the PowerShell window, highlighting the AutoCertificateRollover and CertificateGenerationThreshold values.

AutoCertificateRollover 屬性描述 AD FS 是否設定為自動更新權杖簽署和權杖解密憑證。

如果 AutoCertificateRollover 設定為 True,AD FS 憑證會自動在 AD FS 中更新及設定。 設定新的憑證後,您必須確定每個同盟合作夥伴都會以這個新憑證進行更新,以避免中斷。 您的同盟合作夥伴在 AD FS 伺服器陣列中會以信賴憑證者信任或宣告提供者信任表示。

如果未將 AD FS 設定為自動更新權杖簽署和權杖解密憑證 (例如,如果 AutoCertificateRollover 設定為 False),AD FS 不會自動產生或使用新的權杖簽署或權杖解密憑證。 您必須手動執行這些工作。

如果 AD FS 設定為自動更新權杖簽署和權杖解密憑證(AutoCertificateRollover 設定為 True),您可以判斷更新憑證的時機:

  • CertificateGenerationThreshold 描述提前在憑證的 [不晚於] 日期多少天會產生新的憑證。

  • CertificatePromotionThreshold 決定在產生新憑證之後多少天,該憑證會提升為主要憑證。 AD FS 會使用 CertificatePromotionThreshold 來簽署其發行的權杖,並將來自識別提供者的權杖解密。

Screenshot of the PowerShell window, highlighting the CertificateGenerationThreshold and CertificatePromotionThreshhold values.

判斷目前憑證何時到期

您可以使用下列程序來識別主要權杖簽署和權杖解密憑證,以及判斷目前憑證何時到期。

您可以執行下列 Windows PowerShell 命令:Get-AdfsCertificate –CertificateType token-signing (或 Get-AdfsCertificate –CertificateType token-decrypting)。 您也可以在 MMC 中檢查目前的憑證:服務->憑證。

Screenshot of the PowerShell window, highlighting the Not After date and the Is Primary properties.

AD FS 會使用 IsPrimary 值設定為 True 的憑證。

[不晚於] 顯示的日期是必須在該日期前設定新的主要權杖簽署或解密憑證。

為了確保服務持續性,所有同盟合作夥伴都必須在此到期日前取用新的權杖簽署和權杖解密憑證。 您的同盟合作夥伴在 AD FS 伺服器陣列中會以信賴憑證者信任或宣告提供者信任表示。 您應該提前 60 天規劃此處理序。

在寬限期結束之前手動產生新的自我簽屬憑證

您可以使用下列步驟,在寬限期結束之前手動產生新的自我簽屬憑證:

  1. 確定您已登入主要 AD FS 伺服器。
  2. 開啟 Windows PowerShell,然後執行下列命令:Add-PSSnapin "microsoft.adfs.powershell"
  3. 您可以在 AD FS 中查看目前的簽署憑證。 若要這樣做,請執行下列命令:Get-ADFSCertificate –CertificateType token-signing。 在命令輸出中查看任何所列憑證的 [不晚於] 日期。
  4. 若要產生新憑證,請執行下列命令以更新 AD FS 伺服器上的憑證:Update-ADFSCertificate –CertificateType token-signing
  5. 再次執行以下命令以驗證更新:Get-ADFSCertificate –CertificateType token-signing
  6. 現在應該列出兩個憑證。 其中一個憑證應該有未來大約一年的 [不晚於] 日期。 另一個憑證應該有 [IsPrimary] 值 [False]

重要

為了避免服務中斷,請使用有效的權杖簽名證書更新 Microsoft Entra ID 上的證書資訊。

如果您未使用自我簽署憑證

如果您未使用預設、自動產生的自我簽署權杖簽署和權杖解密憑證,您必須手動更新及設定這些憑證。

首先,您必須向憑證授權單位取得新憑證後,然後將其匯入每部同盟伺服器上的本機電腦個人憑證存放區。 如需指示,請參閱匯入憑證

然後您必須將此憑證設定為次要 AD FS 權杖簽署或解密憑證。 您可以將其設定為次要憑證,讓同盟合作夥伴有足夠的時間取用這個新憑證,再將它提升為主要憑證。

將新憑證設定為次要憑證

  1. 開啟 PowerShell 並執行 Set-ADFSProperties -AutoCertificateRollover $false
  2. 在匯入憑證後, 開啟 [AD FS 管理] 主控台。
  3. 展開 [服務] ,然後選取 [憑證]
  4. 在 [動作] 窗格中,選取 [新增權杖簽署憑證]Screenshot of the AD FS dialog box, highlighting the Add Token Signing Certificate option.
  5. 在顯示的憑證清單中選取新憑證,然後選取 [確定]
  6. 開啟 PowerShell 並執行 Set-ADFSProperties -AutoCertificateRollover $true

警告

確認新憑證擁有相關的私密金鑰,且 AD FS 服務帳戶已獲得私密金鑰的 [讀取] 權限。 請在每部同盟伺服器上驗證此項目。 若要這麼做,請在 [憑證] 嵌入式管理單元中以滑鼠右鍵按一下新憑證,選擇 [所有工作],然後選取 [管理私密金鑰]

同盟合作夥伴可提取同盟中繼資料或從您接收新憑證的公開金鑰,藉此取用您的新憑證。 一旦您有足夠的時間讓同盟合作夥伴取用您的新憑證,您必須將次要憑證提升為主要憑證。

將新憑證從次要提升為主要

  1. 開啟 [AD FS 管理] 主控台。

  2. 展開 [服務] ,然後選取 [憑證]

  3. 選取次要權杖簽署憑證。

  4. 在 [動作] 窗格中,選取 [設為主要]。 在確認提示中選取 [是]

    Screenshot of the AD FS dialog box, highlighting the Set as Primary option.

更新同盟合作夥伴

您必須根據同盟合作夥伴是否可取用同盟中繼資料,以不同的方式更新同盟合作夥伴。

可取用同盟中繼資料的合作夥伴

當您更新並設定新的權杖簽署或權杖解密憑證時,您必須確定所有同盟合作夥伴都已挑選新的憑證。 您的同盟合作夥伴是資源組織或帳戶組織合作夥伴在 AD FS 中會以信賴憑證者信任和宣告提供者信任表示。

可取用同盟中繼資料的合作夥伴

如果同盟合作夥伴無法取用同盟中繼資料,您必須手動傳送新權杖簽署或權杖解密憑證的公開金鑰給他們。 將新的憑證公開金鑰 (如果您想要包含整個鏈結,則為 .cer 檔案或 .p7b) 傳送給所有資源組織或帳戶組織合作夥伴。 您的資源組織或帳戶組織合作夥伴在 AD FS 中會以信賴憑證者信任和宣告提供者信任表示。 合作夥伴必須在自己這端實作變更,才能信任新的憑證。

如果 AutoCertificateRollover 為 False,則提升為主要

如果 AutoCertificateRollover 設定為 False,AD FS 不會自動產生或使用新的權杖簽署或權杖解密憑證。 您必須手動執行這些工作。 讓所有同盟合作夥伴有一段足夠的時間取用新的次要憑證之後,將這個次要憑證提升為主要憑證。 在 MMC 嵌入式管理單元中,選取次要權杖簽署憑證,然後在 [動作] 窗格中,選取 [設為主要]

更新 Microsoft Entra ID

AD FS 透過其現有的 AD DS 認證來驗證使用者,以提供對 Microsoft 雲端服務 (例如 Office 365) 的單一登入存取。 有關詳細資訊,請參閱 續訂 Office 365 和 Microsoft Entra ID 的聯盟證書。