更新同盟憑證
本主題說明如何更新同盟信任中使用的自我簽署同盟憑證:
如果同盟憑證尚未過期,請遵循更新工作同盟憑證一節中的步驟。
如果同盟憑證已過期,請遵循取代過期的同盟憑證一節中的步驟。
注意事項
根據設計,更新憑證之後,無法從同盟信任物件中移除與同盟信任相關聯的過期憑證。
如需同盟信任和同盟的詳細資訊,請參閱 同盟。
開始之前有哪些須知?
預估完成時間:10 分鐘。
您必須已獲指派權限,才能執行此程序或這些程序。 若要查看您需要的許可權,請參閱 Exchange 和 Shell 基礎 結構許可權主題中的專案。
本主題中的程式使用 Exchange 管理命令介面。 若要了解如何在內部部署 Exchange 組織中開啟 Exchange 管理命令介面,請參閱 Open the Shell 。
若要查看現有的同盟憑證是否已過期,請在 Exchange 管理命令介面中執行下列命令:
Get-ExchangeCertificate -Thumbprint (Get-FederationTrust).OrgCertificate.Thumbprint | Format-Table -Auto Thumbprint,NotAfter
如需適用於此主題中程序的快速鍵相關資訊,請參閱 Exchange 系統管理中心的鍵盤快速鍵。
警告
有問題嗎? 在 Exchange 論壇中尋求協助。 瀏覽 Exchange Server 的論壇。
更新工作同盟憑證
如果同盟憑證尚未過期,您可以使用新的同盟憑證來更新現有的同盟信任。
步驟 1:建立新的同盟憑證
在 Exchange 管理命令介面中執行下列命令,以建立新的同盟憑證:
$SKI = [System.Guid]::NewGuid().ToString("N"); New-ExchangeCertificate -DomainName 'Federation' -FriendlyName "Exchange Delegation Federation" -Services Federation -SubjectKeyIdentifier $SKI -PrivateKeyExportable $true
如需詳細的語法和參數資訊,請參閱 New-ExchangeCertificate。
命令輸出包含新憑證的指紋值。 您將在其餘步驟中需要此值,而且可以直接從 [Exchange 管理命令介面] 視窗複製值:
以滑鼠右鍵按一下 [Exchange 管理命令介面] 視窗中的任何位置,然後在出現的對話方塊中選取 [ 標記 ]。
選取指紋值,然後按 ENTER。
針對本主題中的其他程式,我們將使用同盟憑證指紋值: 6A99CED2E4F2B5BE96C5D17D662D217EF58B8F73
。 您的憑證指紋值會不同。
步驟 2:將新憑證設定為同盟憑證
若要使用 Exchange 管理命令介面將新的憑證設定為同盟憑證,請使用下列語法:
Set-FederationTrust -Identity "Microsoft Federation Gateway" -Thumbprint <Thumbprint> -RefreshMetaData
此範例使用步驟 1 中的憑證指紋值 6A99CED2E4F2B5BE96C5D17D662D217EF58B8F73
。
Set-FederationTrust -Identity "Microsoft Federation Gateway" -Thumbprint 6A99CED2E4F2B5BE96C5D17D662D217EF58B8F73 -RefreshMetaData
如需詳細的語法和參數資訊,請參閱 Set-FederationTrust。
注意: 命令輸出包含您需要更新 DNS 中網域擁有權 TXT 記錄證明的警告。 您將在下一個步驟中這麼做。
步驟 3:更新外部 DNS 中網域擁有權 TXT 記錄的同盟證明
您現在可以安全地執行此步驟,因為只有在啟用期間才會檢查網域擁有權 TXT 記錄的證明, (步驟 5) 。 不過,在您更新 TXT 記錄之後,以及繼續進行下一個步驟之前,您必須根據 DNS 記錄) 的存留時間或 TTL 值,讓更新的 TXT 記錄有時間傳播 (。
在 Exchange 管理命令介面中執行下列命令,以尋找所需 TXT 記錄的必要值:
Get-FederatedDomainProof -DomainName <Domain> | Format-List Thumbprint,Proof
例如,如果您的同盟網域 contoso.com,請執行下列命令:
Get-FederatedDomainProof -DomainName contoso.com | Format-List Thumbprint,Proof
命令輸出看起來像這樣:
Thumbprint : <new certificate thumbprint> (for example, 6A99CED2E4F2B5BE96C5D17D662D217EF58B8F73) Proof : <new hash text> (for example, znMfbkgSbOQSsWFdsW+gm3to0nZSdE3zbcPPHGVAqdgsLFGsCPuLHiyVbKoPmgyZKX90NH2g1PbCZH0YTQF6oA==) Thumbprint : <old certificate thumbprint> (for example, CC9BC204BB4DC60D06FC1F10F3C373DC785DA2A5) Proof : <old hash text> (for example, m4gZX7OLr9iOWYJMVjEklQpoSkPb5hSbcFjD7Q3/vsqmdJ2Z+HcSt7j5pzBKFmEW2s27JYr3xsK2POzAI/8Ffw==)
請注意,命令輸出會傳回兩個網域擁有權證明記錄的資訊:一個用於新憑證,另一個用於您要取代的目前憑證。 您可以分辨哪一個是由指紋值所組成,以及在外部 (公用) DNS 中目前網域擁有權證明 TXT 記錄中設定的雜湊文字值。
更新外部 DNS 中網域擁有權 TXT 記錄的同盟證明。 指示會根據您的 DNS 提供者而有所不同,但您可以編輯目前的 TXT 記錄,以新的雜湊文字值取代目前的雜湊文字值。 如需詳細資訊,請參閱外部網域名稱系統記錄中Office 365的Exchange Online一節。
步驟 4:確認將新的同盟憑證散發給所有 Exchange 伺服器
Exchange 會自動將新的同盟憑證散發給所有伺服器,但我們必須先確認散發,才能繼續進行。
若要使用 Exchange 管理命令介面來驗證新同盟憑證的散發,請執行下列命令:
$Servers = Get-ExchangeServer; $Servers | foreach {Get-ExchangeCertificate -Server $_ | Where {$_.Services -match 'Federation'}} | Format-List Identity,Thumbprint,Services,Subject
注意: 在 Exchange 2010 中, Test-FederationCertificate Cmdlet 的輸出包含伺服器名稱。 Exchange 2013 或更新版本中 Cmdlet 的輸出不包含伺服器名稱。
步驟 5:啟用新的同盟憑證
若要使用 Exchange 管理命令介面來啟用新的同盟憑證,請執行下列命令:
Set-FederationTrust -Identity "Microsoft Federation Gateway" -PublishFederationCertificate
如需詳細的語法和參數資訊,請參閱 Set-FederationTrust。
注意: 命令輸出包含警告,您需要更新您已在步驟 3) 中執行的 DNS (網域擁有權 TXT 記錄證明。
如何知道這是否正常運作?
若要確認您已使用新的同盟憑證成功更新現有的同盟信任,請使用下列步驟:
在 Exchange 管理命令介面中,執行下列命令以確認正在使用新的憑證:
Get-FederationTrust | Format-List *priv*
OrgPrivCertificate屬性應該包含新同盟憑證的指紋。
OrgPrevPrivCertificate屬性應該包含) 同盟憑證取代的舊 (指紋。
在 Exchange 管理命令介面中,將使用者的電子郵件地址 > 取代 <為組織中使用者的電子郵件地址,然後執行下列命令來確認同盟信任是否正常運作:
Test-FederationTrust -UserIdentity <user's email address>
取代過期的同盟憑證
如果同盟憑證已過期,您必須從同盟信任中移除所有同盟網域,然後移除並重新建立同盟信任。
如果您有多個同盟網域,您必須識別主要網域共用網域,以便最後移除它。 若要使用 Exchange 管理命令介面來識別主要共用網域和所有同盟網域,請執行下列命令:
Get-FederatedOrganizationIdentifier | Format-List AccountNamespace,Domains
AccountNamespace屬性的值包含格式
FYDIBOHF25SPDLT<primary shared domain>
為 的主要共用網域。 例如,在 值FYDIBOHF25SPDLT.contoso.com
中,contoso.com 是主要共用網域。在 Exchange 管理命令介面中執行下列命令,以移除不是主要共用網域的每個同盟網域:
Remove-FederatedDomain -DomainName <domain> -Force
移除所有其他同盟網域之後,請在 Exchange 管理命令介面中執行下列命令來移除主要共用網域:
Remove-FederatedDomain -DomainName <domain> -Force
在 Exchange 管理命令介面中執行下列命令,以移除同盟信任:
Remove-FederationTrust "Microsoft Federation Gateway"
重新建立同盟信任。 如需指示, 請參閱設定同盟信任。