Skip to main content

Cryptographic exception

If you have run the automatic troubleshooter and seen a message that looks something like this:

System.AggregateException: One or more errors occurred. (The data is invalid.)
---> Internal.Cryptography.CryptoThrowHelper+WindowsCryptographicException: The data is invalid.
at System.Security.Cryptography.ProtectedData.ProtectOrUnprotect(Byte[] inputData, Byte[] optionalEntropy, DataProtectionScope scope, Boolean protect)
at System.Security.Cryptography.ProtectedData.Unprotect(Byte[] encryptedData, Byte[] optionalEntropy, DataProtectionScope scope)
at Arup.Compute.Connect.TokenCacheHelper.BeforeAccessNotification(TokenCacheNotificationArgs args)
at Microsoft.Identity.Client.TokenCache.Microsoft.Identity.Client.ITokenCacheInternal.OnBeforeAccessAsync(TokenCacheNotificationArgs args)
at Microsoft.Identity.Client.Cache.CacheSessionManager.RefreshCacheForReadOperationsAsync(TokenTypes cacheEventType)
at Microsoft.Identity.Client.Cache.CacheSessionManager.GetAccountsAsync(String authority)
at Microsoft.Identity.Client.ClientApplicationBase.GetAccountsAsync()
at Arup.Compute.Connect.AcquireToken.WithIntegratedMicrosoftAsync(String clientId, String tenantId)
at Arup.Compute.Connect.Call.GenericAsync(Task`1 tokenTask, String endpoint, String body)
at Arup.Compute.Connect.Call.GetLibrariesAsync(Task`1 tokenTask, Boolean latestOnly)
--- End of inner exception stack trace ---
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
at System.Threading.Tasks.Task`1.get_Result()
at arupcompute_connect_cli.Program.DebuggingRoutine()

The resolution is to navigate to your equivalent of this folder C:\Users\Hugh.Groves\AppData\Local\Arup\Compute and delete the file called msalcache.bin.