共用方式為


在 Windows Server 2016 中管理 AD FS 和 WAP 中的 TLS/SSL 憑證

本文說明如何將新的 TLS/SSL 憑證部署到您的 Active Directory 同盟服務 (AD FS) 和 Web 應用程式 Proxy (WAP) 伺服器。

備註

若要取代AD FS 伺服器陣列的 TLS/SSL 憑證,建議使用 Microsoft Entra Connect。 如需詳細資訊,請參閱 更新 Active Directory 同盟服務 (AD FS) 伺服器陣列的 TLS/SSL 憑證

取得 TLS/SSL 憑證

針對生產 AD FS 伺服器陣列,建議使用公開信任的 TLS/SSL 憑證。 AD FS 會將憑證簽署要求 (CSR) 提交給第三方公開憑證提供者,以取得此憑證。 有各種方式可以產生 CSR,包括從 Windows 7 或更新版本電腦產生 CSR。 您的廠商應該有該流程的文件。

所需的憑證

您應該在所有 AD FS 和 WAP 伺服器上使用通用 TLS/SSL 憑證。 如需詳細需求,請參閱 AD FS 和 Web 應用程式 Proxy TLS/SSL 憑證需求

TLS/SSL 憑證需求

For requirements, including naming root of trust and extensions, see AD FS and Web Application Proxy TLS/SSL certificate requirements.

取代 AD FS 的 TLS/SSL 憑證

備註

AD FS TLS/SSL 憑證與 AD FS 管理嵌入式管理單元中找到的 AD FS 服務通訊憑證不同。 若要變更 AD FS TLS/SSL 憑證,您必須使用 PowerShell。

首先,判斷您的 AD FS 伺服器是否執行預設憑證驗證系結模式或替代用戶端 TLS 系結模式。

在預設憑證驗證綁定模式中,替換 AD FS 使用的 TLS/SSL 憑證

AD FS 預設會在埠 443 上執行裝置憑證驗證,以及在埠 49443 上執行用戶憑證驗證(或不是 443 的可設定埠)。 在此模式中,使用 PowerShell Cmdlet Set-AdfsSslCertificate 來管理 TLS/SSL 憑證,如下列步驟所示:

  1. 首先,您必須取得新的憑證。 您可以將憑證簽署要求 (CSR) 提交給第三方公開憑證提供者,以取得它。 有各種方式可以產生 CSR,包括從 Windows 7 或更新版本電腦產生 CSR。 您的廠商應該有該流程的文件。

  2. 從憑證提供者取得回應之後,請將它匯入至每個 AD FS 和 WAP 上的本機電腦存放區。

  3. 主要 AD FS 伺服器上,使用下列 Cmdlet 來安裝新的 TLS/SSL 憑證:

Set-AdfsSslCertificate -Thumbprint '<thumbprint of new cert>'

您可以執行此命令來找到憑證指紋:

dir Cert:\LocalMachine\My\

替換在替代 TLS 綁定模式下運行的 AD FS 的 TLS/SSL 憑證

在替代用戶端 TLS 系結模式中設定時,AD FS 會在埠 443 上執行裝置憑證驗證。 它也會在不同的主機名上,在埠 443 上執行用戶憑證驗證。 使用者憑證主機名是前面加上 certauth的 AD FS 主機名,例如 certauth.fs.contoso.com。 在此模式中,使用 PowerShell Cmdlet Set-AdfsAlternateTlsClientBinding 來管理 TLS/SSL 憑證。 此 Cmdlet 不僅會管理替代用戶端 TLS 系結,也會管理 AD FS 設定 TLS/SSL 憑證的所有其他系結。

使用下列步驟來取代在替代 TLS 系結模式中執行之 AD FS 的 TLS/SSL 憑證。

  1. 首先,您必須取得新的憑證。 您可以將憑證簽署要求 (CSR) 提交給第三方公開憑證提供者,以取得它。 有各種方式可以產生 CSR,包括從 Windows 7 或更新版本電腦產生 CSR。 您的廠商應該有該流程的文件。

  2. 從憑證提供者取得回應之後,請將它匯入至每個 AD FS 和 WAP 上的本機電腦存放區。

  3. 主要 AD FS 伺服器上,使用下列 Cmdlet 來安裝新的 TLS/SSL 憑證:

Set-AdfsAlternateTlsClientBinding -Thumbprint '<thumbprint of new cert>'

您可以執行此命令來找到憑證指紋:

dir Cert:\LocalMachine\My\

Other considerations for TLS/SSL certificates in default certificate authentication binding and alternate TLS binding mode

  • The Set-AdfsSslCertificate and Set-AdfsAlternateTlsClientBinding cmdlets are multi-node cmdlets, so they only have to run from the primary. The cmdlets also update all nodes in the farm. 此變更是 Server 2016 的新功能。 在 Server 2012 R2 上,您必須在每個伺服器上執行 Cmdlet。
  • Set-AdfsSslCertificateSet-AdfsAlternateTlsClientBinding Cmdlet 必須只在主伺服器上執行。 The primary server has to run Server 2016, and you should raise the farm behavior level to 2016.
  • Set-AdfsSslCertificateSet-AdfsAlternateTlsClientBinding Cmdlet 會使用 PowerShell 遠端設定其他 AD FS 伺服器,請確定其他節點上已開啟埠 5985 (TCP)。
  • Set-AdfsSslCertificateSet-AdfsAlternateTlsClientBinding 指令小程式將讀取權限授予 adfssrv 主體,使其能夠存取 TLS/SSL 憑證的私鑰。 This principal represents the AD FS service. 不需要將 TLS/SSL 憑證私鑰的讀取許可權授與 AD FS 服務帳戶。

取代 Web 應用程式 Proxy 的 TLS/SSL 憑證

如果您想要在 WAP 上設定預設憑證驗證系結或替代用戶端 TLS 系結模式,您可以使用 Set-WebApplicationProxySslCertificate Cmdlet。 若要取代每個 WAP 伺服器上的 WAP TLS/SSL 憑證,請使用下列 Cmdlet 來安裝新的 TLS/SSL 憑證:

Set-WebApplicationProxySslCertificate -Thumbprint '<thumbprint of new cert>'

如果上述 Cmdlet 因為舊憑證已過期而失敗,請使用下列 Cmdlet 重新設定 Proxy:

$cred = Get-Credential

請輸入在 AD FS 伺服器上擁有本機系統管理員權限的網域使用者的認證。

Install-WebApplicationProxy -FederationServiceTrustCredential $cred -CertificateThumbprint '<thumbprint of new cert>' -FederationServiceName 'fs.contoso.com'