Azure / azure-cosmos-dotnet-v3

.NET SDK for Azure Cosmos DB for the core SQL API
MIT License
723 stars 477 forks source link

MissingManifestResourceException in Microsoft.Azure.Cosmos.Encryption #4561

Open elarrieux opened 2 days ago

elarrieux commented 2 days ago

Describe the bug Could not find the resource "Microsoft.Data.Encryption.Cryptography.Strings.resources" among the resources "Microsoft.Azure.Cosmos.Encryption.MdeSrc.Resources.Strings.resources" embedded in the assembly "Microsoft.Azure.Cosmos.Encryption", nor among the resources in any satellite assemblies for the specified culture. Perhaps the resources were embedded with an incorrect name.

To Reproduce Not sure how to reproduce.

Expected behavior Throw an exception with the "InvalidAuthenticationTag" message.

Actual behavior Seems it tried to throw an exception but couldn't find the proper string.

Environment summary "Microsoft.Azure.Cosmos.Encryption" Version="2.0.4" Linux 5.15.0-1064-azure #73-Ubuntu

Additional context at System.Resources.ManifestBasedResourceGroveler.HandleResourceStreamMissing(String fileName) at System.Resources.ManifestBasedResourceGroveler.GrovelForResourceSet(CultureInfo culture, Dictionary`2 localResourceSets, Boolean tryParents, Boolean createIfNotExists) at System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo culture, Boolean createIfNotExists, Boolean tryParents) at System.Resources.ResourceManager.GetString(String name, CultureInfo culture) at Microsoft.Data.Encryption.Resources.Strings.get_InvalidAuthenticationTag() at Microsoft.Data.Encryption.Cryptography.AeadAes256CbcHmac256EncryptionAlgorithm.Decrypt(Byte[] ciphertext) at Microsoft.Azure.Cosmos.Encryption.EncryptionProcessor.DecryptAndDeserializeValueAsync(JToken jToken, EncryptionSettingForProperty encryptionSettingForProperty, Boolean isEscaped, CancellationToken cancellationToken) at Microsoft.Azure.Cosmos.Encryption.EncryptionProcessor.DecryptJTokenAsync(JToken jTokenToDecrypt, EncryptionSettingForProperty encryptionSettingForProperty, Boolean isEscaped, CancellationToken cancellationToken) at Microsoft.Azure.Cosmos.Encryption.EncryptionProcessor.DecryptJTokenAsync(JToken jTokenToDecrypt, EncryptionSettingForProperty encryptionSettingForProperty, Boolean isEscaped, CancellationToken cancellationToken) at Microsoft.Azure.Cosmos.Encryption.EncryptionProcessor.DecryptObjectAsync(JObject document, EncryptionSettings encryptionSettings, CancellationToken cancellationToken) at Microsoft.Azure.Cosmos.Encryption.EncryptionProcessor.DecryptAsync(Stream input, EncryptionSettings encryptionSettings, EncryptionDiagnosticsContext operationDiagnostics, CancellationToken cancellationToken) at Microsoft.Azure.Cosmos.Encryption.EncryptionContainer.ReadItemHelperAsync(String id, PartitionKey partitionKey, ItemRequestOptions requestOptions, CancellationToken cancellationToken) at Microsoft.Azure.Cosmos.Encryption.EncryptionContainer.ReadItemAsync[T](String id, PartitionKey partitionKey, ItemRequestOptions requestOptions, CancellationToken cancellationToken)