共用方式為


更新同盟憑證

本主題說明如何更新同盟信任中使用的自我簽署同盟憑證:

  • 如果同盟憑證尚未過期,請遵循更新工作同盟憑證一節中的步驟。

  • 如果同盟憑證已過期,請遵循取代過期的同盟憑證一節中的步驟。

注意事項

根據設計,更新憑證之後,無法從同盟信任物件中移除與同盟信任相關聯的過期憑證。

如需同盟信任和同盟的詳細資訊,請參閱 同盟

開始之前有哪些須知?

  • 預估完成時間: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 管理命令介面] 視窗複製值:

  1. 以滑鼠右鍵按兩下 [Exchange 管理命令介面] 視窗中的任何位置,然後在出現的對話框中選取 [ 標記 ]。

  2. 選取指紋值,然後按 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 記錄有時間傳播 (。

  1. 在 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 記錄中設定的哈希文字值。

  2. 更新外部 DNS 中網域擁有權 TXT 記錄的同盟證明。 指示會根據您的 DNS 提供者而有所不同,但您可以編輯目前的 TXT 記錄,以新的哈希文字值取代目前的哈希文字值。 For more information, see the Exchange Online section in External Domain Name System records for Office 365.

步驟 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>
    

取代過期的同盟憑證

如果同盟憑證已過期,您必須從同盟信任中移除所有同盟網域,然後移除並重新建立同盟信任。

  1. 如果您有多個同盟網域,您必須識別主要網域共用網域,以便最後移除它。 若要使用 Exchange 管理命令介面來識別主要共用網域和所有同盟網域,請執行下列命令:

    Get-FederatedOrganizationIdentifier | Format-List AccountNamespace,Domains
    

    AccountNamespace 屬性的值包含格式FYDIBOHF25SPDLT<primary shared domain>為 的主要共用網域。 例如,在值 FYDIBOHF25SPDLT.contoso.com中,contoso.com 是主要共用網域。

  2. 在 Exchange 管理命令介面中執行下列命令,以移除不是主要共用網域的每個同盟網域:

    Remove-FederatedDomain -DomainName <domain> -Force
    
  3. 移除所有其他同盟網域之後,請在 Exchange 管理命令介面中執行下列命令來移除主要共享網域:

    Remove-FederatedDomain -DomainName <domain> -Force
    
  4. 在 Exchange 管理命令介面中執行下列命令,以移除同盟信任:

    Remove-FederationTrust "Microsoft Federation Gateway"
    
  5. 重新建立同盟信任。 如需指示, 請參閱設定同盟信任