Skip to content

Support for .NET AWSSDK.Core v4 #1736

@dsshep

Description

@dsshep

Currently, this library only supports v3.x of AWSSDK.Core for .Net.

Using v1.7.5 of the library will result in a missing method exception with v4 of the AWS SDK:

System.MissingMethodException: Method not found: 'Void Amazon.KeyManagementService.Model.DecryptRequest.set_DryRun(Boolean)'. 
at Com.Amazonaws.Kms.TypeConversion.FromDafny_N3_com__N9_amazonaws__N3_kms__S14_DecryptRequest(_IDecryptRequest value) 
at Com.Amazonaws.Kms.KeyManagementServiceShim.Decrypt(_IDecryptRequest request) 
at AwsKmsKeyring_Compile.KmsUnwrapKeyMaterial.Invoke(_IUnwrapInput input) at EdkWrapping_Compile.__default.UnwrapEdkMaterial[__T](ISequence`1 wrappedMaterial, _IDecryptionMaterials decryptionMaterials, UnwrapMaterial`1 unwrap) 
at AwsKmsKeyring_Compile.DecryptSingleEncryptedDataKey.Invoke(_IEncryptedDataKey edk) 
at Actions_Compile.__default.ReduceToSuccess[__A,__B,__E](ActionWithResult`3 action, ISequence`1 s) 
at AwsKmsKeyring_Compile.AwsKmsKeyring.OnDecrypt_k(_IOnDecryptInput input) 
at MultiKeyring_Compile.__default.AttemptDecryptDataKey(IKeyring keyring, _IOnDecryptInput input) 
at MultiKeyring_Compile.MultiKeyring.OnDecrypt_k(_IOnDecryptInput input) 
at DefaultCMM_Compile.DefaultCMM.DecryptMaterials_k(_IDecryptMaterialsInput input) 
at EncryptDecryptHelpers_Compile.__default.GetDecryptionMaterials(ICryptographicMaterialsManager cmm, _IAlgorithmSuiteId algorithmSuiteId, _IHeaderBody headerBody, _IOption`1 reproducedEncryptionContext, _IESDKCommitmentPolicy commitmentPolicy, MaterialProvidersClient mpl) 
at AwsEncryptionSdkOperations_Compile.__default.InternalDecrypt(_IConfig config, ICryptographicMaterialsManager cmm, _IReadableBuffer buffer, _IOption`1 inputEncryptionContext) 
at AWS.Cryptography.EncryptionSDK.ESDK.Decrypt(DecryptInput input)

(this is likely due to v4 of the SDK changing value types to nullable)

This fix, published as 1.7.6, pinned the version to be 3.x as there are issues with v4 of the SDK: #1629

There isn't really a valid workaround if you have any part of your application using v4 of SDK. Is there a timeline for when support will be added?

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions