EX2019-CU10 OWA/ECP not working after July Security Update

Emil Gustafsson 266 Reputation points
2021-07-14T19:07:37.263+00:00

Hello,

After installing the July Security update access to ECP and OWA is broken.
Mail Flow works, but accessing OWA or ECP returns the following error:

ASSERT: HMACProvider.GetCertificates:protectionCertificates.Length<1

It also logs error 1003 to the Event Logs.

As many others have suggested, we have tried replacing the OATH Certificate according to this: https://learn.microsoft.com/en-us/exchange/troubleshoot/administration/cannot-access-owa-or-ecp-if-oauth-expired several times, we also waited >60 minutes after doing it - but the error persists. Even after full server reboot.

Please advice on what to do next.

Full Stack Trace Here:

Server Error in '/owa' Application.  
ASSERT: HMACProvider.GetCertificates:protectionCertificates.Length<1  
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.  
  
Stack Trace:  
  
  
[ExAssertException: ASSERT: HMACProvider.GetCertificates:protectionCertificates.Length<1]  
   Microsoft.Exchange.Diagnostics.ExAssert.AssertInternal(String formatString, Object[] parameters) +241  
   Microsoft.Exchange.Diagnostics.ExAssert.RetailAssert(Boolean condition, String formatString, T1 parameter1, T2 parameter2) +2694334  
   Microsoft.Exchange.Clients.Common.HmacProvider.GetCertificates() +363  
   Microsoft.Exchange.Clients.Common.HmacProvider.GetHmacProvider() +140  
   Microsoft.Exchange.Clients.Common.HmacProvider.ComputeHmac(Byte[][] messageArrays) +14  
   Microsoft.Exchange.HttpProxy.FbaModule.SetCadataCookies(HttpApplication httpApplication) +1032  
   Microsoft.Exchange.HttpProxy.FbaFormPostProxyRequestHandler.HandleFbaFormPost(BackEndServer backEndServer) +3581  
   Microsoft.Exchange.HttpProxy.FbaFormPostProxyRequestHandler.ShouldContinueProxy() +20  
   Microsoft.Exchange.HttpProxy.ProxyRequestHandler.BeginProxyRequestOrRecalculate() +257  
   Microsoft.Exchange.HttpProxy.ProxyRequestHandler.InternalOnCalculateTargetBackEndCompleted(TargetCalculationCallbackBeacon beacon) +1528  
   Microsoft.Exchange.HttpProxy.<>c__DisplayClass280_0.<OnCalculateTargetBackEndCompleted>b__0() +303  
   Microsoft.Exchange.Common.IL.ILUtil.DoTryFilterCatch(Action tryDelegate, Func`2 filterDelegate, Action`1 catchDelegate) +35  
   Microsoft.Exchange.HttpProxy.ProxyRequestHandler.CallThreadEntranceMethod(Action method) +59  
  
[AggregateException: One or more errors occurred.]  
   Microsoft.Exchange.HttpProxy.ProxyRequestHandler.EndProcessRequest(IAsyncResult result) +414  
   System.Web.CallHandlerExecutionStep.InvokeEndHandler(IAsyncResult ar) +231  
   System.Web.CallHandlerExecutionStep.OnAsyncHandlerCompletion(IAsyncResult ar) +172  
  
  
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.8.4330.0   
Microsoft Exchange Online Management
Microsoft Exchange Online Management
Microsoft Exchange Online: A Microsoft email and calendaring hosted service.Management: The act or process of organizing, handling, directing or controlling something.
4,282 questions
Exchange Server Management
Exchange Server Management
Exchange Server: A family of Microsoft client/server messaging and collaboration software.Management: The act or process of organizing, handling, directing or controlling something.
7,424 questions
{count} votes

Accepted answer
  1. Willem Hendrik Berkhof 107 Reputation points
    2021-07-14T21:08:15.277+00:00

    Followed this instructions has solved the problem:
    https://learn.microsoft.com/en-us/exchange/troubleshoot/administration/cannot-access-owa-or-ecp-if-oauth-expired

    But is does take time (more then one hour) before it works.

    4 people found this answer helpful.

10 additional answers

Sort by: Newest
  1. Anton Yundin 1 Reputation point
    2021-11-11T13:28:23.963+00:00

    It worked for me after 5 hours of waiting, EXCH2016CU21

    0 comments No comments

  2. Marcel De Oliveira Lima 1 Reputation point
    2021-11-06T01:52:15.66+00:00

    Just out of curiosity: I had this problem with a 2019 Exchange Server in Hybrid mode and another one but a fresh install (AD & exchange - lab demo). Both servers took hours to get it resolved but the last one as it is hosted in a Demo Environment I shutdown the whole network and on the next day the Exchange server was back on.
    It seems like the waiting hours are not related with leaving the server on but something regarding the certificate publishing/date/time. Does anybody know what happens under the hood and could give an better explanation, rather than "In some environments, it may take an hour for the OAuth certificate to be published." from https://learn.microsoft.com/en-us/exchange/troubleshoot/administration/cannot-access-owa-or-ecp-if-oauth-expired ?

    0 comments No comments

  3. AshExchangeAdmin 1 Reputation point
    2021-08-04T17:10:39.473+00:00

    Had the exact same issue with Exchange 2013 CU23 just last night. My Exchange Auth Certs had years left on them so proceeded with the patch installs on all servers and completed the AD Schema Update. Rebooted all servers and tested OWA and ECP access and could no longer access either of them. Log in pages would load fine but could not get passed sign in. Decided to renew the Exchange Auth certificates and recycled the App Pools as per the article but still couldn't get into OWA or ECP. Checked each Exchange sever with Get-AuthConfig to verify the new certificate had propagated to all Exchange servers and, based on its thumbprint, it had. ECP and OWA still weren't working. Waited an hour or so and tested both again and could then log in fine. No idea what happens in that 60mins which allows it to then start working, even though the new certificate had propagated to all Exchange servers within a few minutes. However, pleased to say, simply waiting did the trick for me so hope this helps someone else. Very annoying how this is documented as a "known issue" but ONLY when the existing Exchange Auth Certificate/s is expired. These patches are clearly breaking the existing certificate...

    0 comments No comments

  4. Mike Grant 31 Reputation points
    2021-07-15T23:40:58.97+00:00

    I suspect this command:

    Set-AuthConfig -NewCertificateThumbprint <ThumbprintFromStep1> -NewCertificateEffectiveDate (Get-Date)

    Does not take the timezone into account, i'm in NZ with a +12 timezone and that's about how long it took after I ran the command for it to start working.

    Some people are saying it worked immediately, some 1 hour and someone posted it took 4 hours for them. This may correlate to their timezone?

    Maybe try:

    $Time = Get-Date

    Set-AuthConfig -NewCertificateThumbprint <ThumbprintFromStep1> -NewCertificateEffectiveDate $Time.ToUniversalTime()

    3 people found this answer helpful.