Nach der Installation der Juli Security Updates für Exchange Server 2013, 2016 und 2019 funktioniert eventuell das Einloggen im OWA und im ECP nicht mehr.

Die im Browser angezeigte Fehlermeldung lautet:

Server Error in ‚/owa‘ ApplicationASSERT: HMACProvider.GetCertificates:protectionCertificates.Length<

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: Microsoft.Exchange.Diagnostics.ExAssertException: ASSERT: HMACProvider.GetCertificates:protectionCertificates.Length<1

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Im Eventlog ist folgende Fehlermeldung zu sehen:

Event ID: 1003
Source: MSExchange Front End HTTPS Proxy
[Owa] An internal server error occurred. The unhandled exception was: System.NullReferenceException: Object reference not set to an instance of an object.
at Microsoft.Exchange.HttpProxy.FbaModule.ParseCadataCookies(HttpApplication httpApplication)

Hintergrund:
Mit den Security Updates wird der Prüfalgorithmus für das Microsoft Exchange OAuth Zertifikat gepatcht. Ist das Zertifikat bei der Installation bereits abgelaufen, dann tritt der Fehler auf. Der Mailfluss auf dem Exchange Server funktioniert weiterhin, aber das OWA und ECP und damit auch das Exchange Management sind nicht mehr benutzbar.

Lösung:
Bitte prüfen sie vor der Installation der Juli Updates, ob ihr Exchange OAuth Zertifikat abgelaufen ist.

Das geht zum Beispiel über die Powershell:

  1. Get-MicrosoftExchangeCertificate
  2. Kopieren Sie sich den Thumbprint des Microsoft Exchange Auth Certificate
  3. Get-MicrosoftExchangeCertificate -Thumbprint „kopiertesThumbprint“ | fl
  4. Prüfen sie das Ablaufdatum und den Status

Wenn das Zertifikat abgelaufen ist:
Das Exchange OAuth Zertfifikat kann über die Powershell erneuert werden:

  1. Ein neues Zertfikat generieren:
    New-ExchangeCertificate -KeySize 2048 -PrivateKeyExportable $true -SubjectName „cn=Microsoft Exchange Server Auth Certificate“ -FriendlyName „Microsoft Exchange Server Auth Certificate“ -DomainName „contoso.com“

    Für „contoso.com“ tragen sie bitte Ihre SMTP Domain ein.
    Kopieren sie sich das Thumbprint des neuen Zertifikates.

  2. Set-AuthConfig -NewCertificateThumbprint „kopiertesThumbprint“ -NewCertificateEffectiveDate (Get-Date)
    Set-AuthConfig -PublishCertificate
    Set-AuthConfig -ClearPreviousCertificat
  3. Starten sie den Dienst „Microsoft Exchange Diensthost“ neu
  4. IISReset oder Neustarten der Webapp Pools:
    Restart-WebAppPool MSExchangeOWAAppPool
    Restart-WebAppPool MSExchangeECPAppPool

Achtung:
Aus unserer Erfahrung heraus kann es mehrere Stunden dauern, bis das neue Zertifikat für den Exchange Server veröffentlicht wird. Bis dahin wird der Fehler im Browser weiterhin angezeigt. Bisher haben wir Zeiten von bis zu 8 Stunden beobachtet.

Weitere interessante Beiträge aus unserem Blog:

IT Support von Cloud Design
Azure App Consent