diff --git a/AwsCryptographicMaterialProviders/runtimes/go/TestsFromDafny-go/go.mod b/AwsCryptographicMaterialProviders/runtimes/go/TestsFromDafny-go/go.mod index b07528776c..7e678bad3f 100644 --- a/AwsCryptographicMaterialProviders/runtimes/go/TestsFromDafny-go/go.mod +++ b/AwsCryptographicMaterialProviders/runtimes/go/TestsFromDafny-go/go.mod @@ -2,43 +2,31 @@ module github.com/aws/aws-cryptographic-material-providers-library/releases/go/m go 1.23.0 -replace github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl v0.0.0 => ../ImplementationFromDafny-go - -replace ( - github.com/aws/aws-cryptographic-material-providers-library/releases/go/dynamodb v0.0.0 => ../../../../ComAmazonawsDynamodb/runtimes/go/ImplementationFromDafny-go/ - github.com/aws/aws-cryptographic-material-providers-library/releases/go/kms v0.0.0 => ../../../../ComAmazonawsKms/runtimes/go/ImplementationFromDafny-go/ - github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives v0.0.0 => ../../../../AwsCryptographyPrimitives/runtimes/go/ImplementationFromDafny-go/ - -) - -replace github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library => ../../../../StandardLibrary/runtimes/go/ImplementationFromDafny-go/ - require ( - github.com/aws/aws-cryptographic-material-providers-library/releases/go/dynamodb v0.0.0 - github.com/aws/aws-cryptographic-material-providers-library/releases/go/kms v0.0.0 - github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl v0.0.0 - github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives v0.0.0 - github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library v0.2.0 - github.com/aws/aws-sdk-go-v2/service/dynamodb v1.39.2 - github.com/aws/aws-sdk-go-v2/service/kms v1.36.0 - github.com/aws/smithy-go v1.22.1 - github.com/dafny-lang/DafnyRuntimeGo/v4 v4.9.2 + github.com/aws/aws-cryptographic-material-providers-library/releases/go/dynamodb v0.2.1 + github.com/aws/aws-cryptographic-material-providers-library/releases/go/kms v0.2.1 + github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl v0.2.1 + github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives v0.2.1 + github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library v0.2.1 + github.com/aws/aws-sdk-go-v2/service/dynamodb v1.46.0 + github.com/aws/aws-sdk-go-v2/service/kms v1.43.0 + github.com/aws/smithy-go v1.22.5 + github.com/dafny-lang/DafnyRuntimeGo/v4 v4.10.1 ) require ( - github.com/aws/aws-sdk-go-v2 v1.32.8 // indirect - github.com/aws/aws-sdk-go-v2/config v1.28.10 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.17.51 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.23 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.27 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.27 // indirect - github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.10.8 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.8 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.24.9 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.8 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.33.6 // indirect + github.com/aws/aws-sdk-go-v2 v1.37.2 // indirect + github.com/aws/aws-sdk-go-v2/config v1.30.3 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.18.3 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.2 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.2 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.2 // indirect + github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.2 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.2 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.27.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.32.0 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.36.0 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/jmespath/go-jmespath v0.4.0 // indirect ) diff --git a/TestVectorsAwsCryptographicMaterialProviders/runtimes/go/ImplementationFromDafny-go/go.mod b/TestVectorsAwsCryptographicMaterialProviders/runtimes/go/ImplementationFromDafny-go/go.mod index 82d07ede5c..c89498e224 100644 --- a/TestVectorsAwsCryptographicMaterialProviders/runtimes/go/ImplementationFromDafny-go/go.mod +++ b/TestVectorsAwsCryptographicMaterialProviders/runtimes/go/ImplementationFromDafny-go/go.mod @@ -38,4 +38,4 @@ require ( github.com/aws/smithy-go v1.22.1 // indirect github.com/google/uuid v1.6.0 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect -) +) \ No newline at end of file diff --git a/releases/go/mpl/AlgorithmSuites/AlgorithmSuites.go b/releases/go/mpl/AlgorithmSuites/AlgorithmSuites.go index 811030d557..8c9ead9f0c 100644 --- a/releases/go/mpl/AlgorithmSuites/AlgorithmSuites.go +++ b/releases/go/mpl/AlgorithmSuites/AlgorithmSuites.go @@ -61,6 +61,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -80,6 +81,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ diff --git a/releases/go/mpl/AwsArnParsing/AwsArnParsing.go b/releases/go/mpl/AwsArnParsing/AwsArnParsing.go index 51002acf1f..4c3e5adc78 100644 --- a/releases/go/mpl/AwsArnParsing/AwsArnParsing.go +++ b/releases/go/mpl/AwsArnParsing/AwsArnParsing.go @@ -46,6 +46,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -66,6 +67,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -158,27 +160,29 @@ func (_static *CompanionStruct_Default___) ValidAwsKmsArn(arn AwsArn) bool { func (_static *CompanionStruct_Default___) ParseAwsKmsRawResources(identifier _dafny.Sequence) m_Wrappers.Result { var _0_info _dafny.Sequence = m_StandardLibrary.Companion_Default___.Split(identifier, _dafny.Char('/')) _ = _0_info - var _1_valueOrError0 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need(!_dafny.Companion_Sequence_.Equal((_0_info).Select(0).(_dafny.Sequence), _dafny.SeqOfString("key")), _dafny.Companion_Sequence_.Concatenate(_dafny.SeqOfString("Malformed raw key id: "), identifier)) + var _1_valueOrError0 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need(!_dafny.Companion_Sequence_.Equal((_0_info).Select(uint32(uint32(0))).(_dafny.Sequence), _dafny.SeqOfString("key")), _dafny.Companion_Sequence_.Concatenate(_dafny.SeqOfString("Malformed raw key id: "), identifier)) _ = _1_valueOrError0 if (_1_valueOrError0).IsFailure() { return (_1_valueOrError0).PropagateFailure() - } else if (_dafny.IntOfUint32((_0_info).Cardinality())).Cmp(_dafny.One) == 0 { - return Companion_Default___.ParseAwsKmsResources(_dafny.Companion_Sequence_.Concatenate(_dafny.SeqOfString("key/"), identifier)) } else { - return Companion_Default___.ParseAwsKmsResources(identifier) + if (uint64((_0_info).Cardinality())) == (uint64(1)) { + return Companion_Default___.ParseAwsKmsResources(_dafny.Companion_Sequence_.Concatenate(_dafny.SeqOfString("key/"), identifier)) + } else { + return Companion_Default___.ParseAwsKmsResources(identifier) + } } } func (_static *CompanionStruct_Default___) ParseAwsKmsResources(identifier _dafny.Sequence) m_Wrappers.Result { var _0_info _dafny.Sequence = m_StandardLibrary.Companion_Default___.Split(identifier, _dafny.Char('/')) _ = _0_info - var _1_valueOrError0 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need((_dafny.IntOfUint32((_0_info).Cardinality())).Cmp(_dafny.One) > 0, _dafny.Companion_Sequence_.Concatenate(_dafny.SeqOfString("Malformed resource: "), identifier)) + var _1_valueOrError0 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need((uint64((_0_info).Cardinality())) > (uint64(1)), _dafny.Companion_Sequence_.Concatenate(_dafny.SeqOfString("Malformed resource: "), identifier)) _ = _1_valueOrError0 if (_1_valueOrError0).IsFailure() { return (_1_valueOrError0).PropagateFailure() } else { - var _2_resourceType _dafny.Sequence = (_0_info).Select(0).(_dafny.Sequence) + var _2_resourceType _dafny.Sequence = (_0_info).Select(uint32(uint32(0))).(_dafny.Sequence) _ = _2_resourceType - var _3_value _dafny.Sequence = m_StandardLibrary.Companion_Default___.Join((_0_info).Drop(1), _dafny.SeqOfString("/")) + var _3_value _dafny.Sequence = m_StandardLibrary.Companion_Default___.Join((_0_info).Drop(uint32(uint32(1))), _dafny.SeqOfString("/")) _ = _3_value var _4_resource AwsResource = Companion_AwsResource_.Create_AwsResource_(_2_resourceType, _3_value) _ = _4_resource @@ -229,19 +233,19 @@ func (_static *CompanionStruct_Default___) ParseAmazonDynamodbResources(identifi func (_static *CompanionStruct_Default___) ParseAwsKmsArn(identifier _dafny.Sequence) m_Wrappers.Result { var _0_components _dafny.Sequence = m_StandardLibrary.Companion_Default___.Split(identifier, _dafny.Char(':')) _ = _0_components - var _1_valueOrError0 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need((_dafny.IntOfInt64(6)).Cmp(_dafny.IntOfUint32((_0_components).Cardinality())) == 0, _dafny.Companion_Sequence_.Concatenate(_dafny.SeqOfString("Malformed arn: "), identifier)) + var _1_valueOrError0 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need((uint64(6)) == (uint64((_0_components).Cardinality())), _dafny.Companion_Sequence_.Concatenate(_dafny.SeqOfString("Malformed arn: "), identifier)) _ = _1_valueOrError0 if (_1_valueOrError0).IsFailure() { return (_1_valueOrError0).PropagateFailure() } else { - var _2_valueOrError1 m_Wrappers.Result = Companion_Default___.ParseAwsKmsResources((_0_components).Select(5).(_dafny.Sequence)) + var _2_valueOrError1 m_Wrappers.Result = Companion_Default___.ParseAwsKmsResources((_0_components).Select(uint32(uint32(5))).(_dafny.Sequence)) _ = _2_valueOrError1 if (_2_valueOrError1).IsFailure() { return (_2_valueOrError1).PropagateFailure() } else { var _3_resource AwsResource = (_2_valueOrError1).Extract().(AwsResource) _ = _3_resource - var _4_arn AwsArn = Companion_AwsArn_.Create_AwsArn_((_0_components).Select(0).(_dafny.Sequence), (_0_components).Select(1).(_dafny.Sequence), (_0_components).Select(2).(_dafny.Sequence), (_0_components).Select(3).(_dafny.Sequence), (_0_components).Select(4).(_dafny.Sequence), _3_resource) + var _4_arn AwsArn = Companion_AwsArn_.Create_AwsArn_((_0_components).Select(uint32(uint32(0))).(_dafny.Sequence), (_0_components).Select(uint32(uint32(1))).(_dafny.Sequence), (_0_components).Select(uint32(uint32(2))).(_dafny.Sequence), (_0_components).Select(uint32(uint32(3))).(_dafny.Sequence), (_0_components).Select(uint32(uint32(4))).(_dafny.Sequence), _3_resource) _ = _4_arn var _5_valueOrError2 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need(Companion_Default___.ValidAwsKmsArn(_4_arn), _dafny.Companion_Sequence_.Concatenate(_dafny.SeqOfString("Malformed Arn:"), identifier)) _ = _5_valueOrError2 @@ -256,19 +260,19 @@ func (_static *CompanionStruct_Default___) ParseAwsKmsArn(identifier _dafny.Sequ func (_static *CompanionStruct_Default___) ParseAmazonDynamodbTableArn(identifier _dafny.Sequence) m_Wrappers.Result { var _0_components _dafny.Sequence = m_StandardLibrary.Companion_Default___.Split(identifier, _dafny.Char(':')) _ = _0_components - var _1_valueOrError0 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need((_dafny.IntOfInt64(6)).Cmp(_dafny.IntOfUint32((_0_components).Cardinality())) == 0, _dafny.Companion_Sequence_.Concatenate(_dafny.SeqOfString("Malformed arn: "), identifier)) + var _1_valueOrError0 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need((uint64(6)) == (uint64((_0_components).Cardinality())), _dafny.Companion_Sequence_.Concatenate(_dafny.SeqOfString("Malformed arn: "), identifier)) _ = _1_valueOrError0 if (_1_valueOrError0).IsFailure() { return (_1_valueOrError0).PropagateFailure() } else { - var _2_valueOrError1 m_Wrappers.Result = Companion_Default___.ParseAmazonDynamodbResources((_0_components).Select(5).(_dafny.Sequence)) + var _2_valueOrError1 m_Wrappers.Result = Companion_Default___.ParseAmazonDynamodbResources((_0_components).Select(uint32(uint32(5))).(_dafny.Sequence)) _ = _2_valueOrError1 if (_2_valueOrError1).IsFailure() { return (_2_valueOrError1).PropagateFailure() } else { var _3_resource AwsResource = (_2_valueOrError1).Extract().(AwsResource) _ = _3_resource - var _4_arn AwsArn = Companion_AwsArn_.Create_AwsArn_((_0_components).Select(0).(_dafny.Sequence), (_0_components).Select(1).(_dafny.Sequence), (_0_components).Select(2).(_dafny.Sequence), (_0_components).Select(3).(_dafny.Sequence), (_0_components).Select(4).(_dafny.Sequence), _3_resource) + var _4_arn AwsArn = Companion_AwsArn_.Create_AwsArn_((_0_components).Select(uint32(uint32(0))).(_dafny.Sequence), (_0_components).Select(uint32(uint32(1))).(_dafny.Sequence), (_0_components).Select(uint32(uint32(2))).(_dafny.Sequence), (_0_components).Select(uint32(uint32(3))).(_dafny.Sequence), (_0_components).Select(uint32(uint32(4))).(_dafny.Sequence), _3_resource) _ = _4_arn var _5_valueOrError2 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need(Companion_Default___.ValidAmazonDynamodbArn(_4_arn), _dafny.Companion_Sequence_.Concatenate(_dafny.SeqOfString("Malformed Arn:"), identifier)) _ = _5_valueOrError2 @@ -360,7 +364,7 @@ func (_static *CompanionStruct_Default___) IsAwsKmsIdentifierString(s _dafny.Seq if (_0_valueOrError0).IsFailure() { return (_0_valueOrError0).PropagateFailure() } else { - var _1_valueOrError1 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need(((_dafny.IntOfUint32((s).Cardinality())).Sign() == 1) && ((_dafny.IntOfUint32((s).Cardinality())).Cmp(Companion_Default___.MAX__AWS__KMS__IDENTIFIER__LENGTH()) <= 0), _dafny.SeqOfString("Identifier exceeds maximum length.")) + var _1_valueOrError1 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need(((uint64(0)) < (uint64((s).Cardinality()))) && ((uint64((s).Cardinality())) <= (Companion_Default___.MAX__AWS__KMS__IDENTIFIER__LENGTH())), _dafny.SeqOfString("Identifier exceeds maximum length.")) _ = _1_valueOrError1 if (_1_valueOrError1).IsFailure() { return (_1_valueOrError1).PropagateFailure() @@ -399,8 +403,8 @@ func (_static *CompanionStruct_Default___) ValidateDdbTableArn(tableArn _dafny.S } } } -func (_static *CompanionStruct_Default___) MAX__AWS__KMS__IDENTIFIER__LENGTH() _dafny.Int { - return _dafny.IntOfInt64(2048) +func (_static *CompanionStruct_Default___) MAX__AWS__KMS__IDENTIFIER__LENGTH() uint64 { + return uint64(2048) } // End of class Default__ @@ -507,7 +511,7 @@ var _ _dafny.TraitOffspring = AwsResource{} func (_this AwsResource) Valid() bool { { - return (true) && ((_dafny.IntOfUint32(((_this).Dtor_value()).Cardinality())).Sign() == 1) + return (true) && ((uint64(0)) < (uint64(((_this).Dtor_value()).Cardinality()))) } } func (_this AwsResource) ToString() _dafny.Sequence { @@ -640,7 +644,7 @@ var _ _dafny.TraitOffspring = AwsArn{} func (_this AwsArn) Valid() bool { { - return (((((_dafny.Companion_Sequence_.Equal((_this).Dtor_arnLiteral(), _dafny.SeqOfString("arn"))) && ((_dafny.IntOfUint32(((_this).Dtor_partition()).Cardinality())).Sign() == 1)) && ((_dafny.IntOfUint32(((_this).Dtor_service()).Cardinality())).Sign() == 1)) && ((_dafny.IntOfUint32(((_this).Dtor_region()).Cardinality())).Sign() == 1)) && ((_dafny.IntOfUint32(((_this).Dtor_account()).Cardinality())).Sign() == 1)) && (((_this).Dtor_resource()).Valid()) + return (((((_dafny.Companion_Sequence_.Equal((_this).Dtor_arnLiteral(), _dafny.SeqOfString("arn"))) && ((uint64(0)) < (uint64(((_this).Dtor_partition()).Cardinality())))) && ((uint64(0)) < (uint64(((_this).Dtor_service()).Cardinality())))) && ((uint64(0)) < (uint64(((_this).Dtor_region()).Cardinality())))) && ((uint64(0)) < (uint64(((_this).Dtor_account()).Cardinality())))) && (((_this).Dtor_resource()).Valid()) } } func (_this AwsArn) ToString() _dafny.Sequence { diff --git a/releases/go/mpl/AwsCryptographyKeyStoreOperations/AwsCryptographyKeyStoreOperations.go b/releases/go/mpl/AwsCryptographyKeyStoreOperations/AwsCryptographyKeyStoreOperations.go index d2fe0fa41d..6700e9e9cb 100644 --- a/releases/go/mpl/AwsCryptographyKeyStoreOperations/AwsCryptographyKeyStoreOperations.go +++ b/releases/go/mpl/AwsCryptographyKeyStoreOperations/AwsCryptographyKeyStoreOperations.go @@ -57,6 +57,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -79,6 +80,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -213,7 +215,7 @@ func (_static *CompanionStruct_Default___) CreateKey(config Config, input m_AwsC _ = output var _0_valueOrError0 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _0_valueOrError0 - _0_valueOrError0 = m_Wrappers.Companion_Default___.Need(!(((input).Dtor_branchKeyIdentifier()).Is_Some()) || ((((input).Dtor_encryptionContext()).Is_Some()) && (((((input).Dtor_encryptionContext()).Dtor_value().(_dafny.Map)).Cardinality()).Sign() == 1)), m_AwsCryptographyKeyStoreTypes.Companion_Error_.Create_KeyStoreException_(m_KeyStoreErrorMessages.Companion_Default___.CUSTOM__BRANCH__KEY__ID__NEED__EC())) + _0_valueOrError0 = m_Wrappers.Companion_Default___.Need(!(((input).Dtor_branchKeyIdentifier()).Is_Some()) || ((((input).Dtor_encryptionContext()).Is_Some()) && ((uint64(0)) < (uint64((((input).Dtor_encryptionContext()).Dtor_value().(_dafny.Map)).CardinalityInt())))), m_AwsCryptographyKeyStoreTypes.Companion_Error_.Create_KeyStoreException_(m_KeyStoreErrorMessages.Companion_Default___.CUSTOM__BRANCH__KEY__ID__NEED__EC())) if (_0_valueOrError0).IsFailure() { output = (_0_valueOrError0).PropagateFailure() return output @@ -251,7 +253,7 @@ func (_static *CompanionStruct_Default___) CreateKey(config Config, input m_AwsC } else { var _6_valueOrError3 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _6_valueOrError3 - _6_valueOrError3 = m_Wrappers.Companion_Default___.Need((_dafny.IntOfUint32((((input).Dtor_branchKeyIdentifier()).Dtor_value().(_dafny.Sequence)).Cardinality())).Sign() == 1, m_AwsCryptographyKeyStoreTypes.Companion_Error_.Create_KeyStoreException_(_dafny.SeqOfString("Custom branch key id can not be an empty string."))) + _6_valueOrError3 = m_Wrappers.Companion_Default___.Need((uint64(0)) < (uint64((((input).Dtor_branchKeyIdentifier()).Dtor_value().(_dafny.Sequence)).Cardinality())), m_AwsCryptographyKeyStoreTypes.Companion_Error_.Create_KeyStoreException_(_dafny.SeqOfString("Custom branch key id can not be an empty string."))) if (_6_valueOrError3).IsFailure() { output = (_6_valueOrError3).PropagateFailure() return output @@ -310,9 +312,9 @@ func (_static *CompanionStruct_Default___) CreateKey(config Config, input m_AwsC _16_encodedEncryptionContext = func() _dafny.Set { var _coll0 = _dafny.NewBuilder() _ = _coll0 - for _iter7 := _dafny.Iterate((_15_unwrapEncryptionContext).Keys().Elements()); ; { - _compr_0, _ok7 := _iter7() - if !_ok7 { + for _iter8 := _dafny.Iterate((_15_unwrapEncryptionContext).Keys().Elements()); ; { + _compr_0, _ok8 := _iter8() + if !_ok8 { break } var _17_k _dafny.Sequence @@ -345,9 +347,9 @@ func (_static *CompanionStruct_Default___) CreateKey(config Config, input m_AwsC _out3 = m_CreateKeys.Companion_Default___.CreateBranchAndBeaconKeys(_2_branchKeyIdentifier, func() _dafny.Map { var _coll1 = _dafny.NewMapBuilder() _ = _coll1 - for _iter8 := _dafny.Iterate((_16_encodedEncryptionContext).Elements()); ; { - _compr_1, _ok8 := _iter8() - if !_ok8 { + for _iter9 := _dafny.Iterate((_16_encodedEncryptionContext).Elements()); ; { + _compr_1, _ok9 := _iter9() + if !_ok9 { break } var _21_i _dafny.Tuple @@ -373,7 +375,7 @@ func (_static *CompanionStruct_Default___) VersionKey(config Config, input m_Aws } var _1_valueOrError1 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _1_valueOrError1 - _1_valueOrError1 = m_Wrappers.Companion_Default___.Need((_dafny.IntOfUint32(((input).Dtor_branchKeyIdentifier()).Cardinality())).Sign() == 1, m_AwsCryptographyKeyStoreTypes.Companion_Error_.Create_KeyStoreException_(m_KeyStoreErrorMessages.Companion_Default___.BRANCH__KEY__ID__NEEDED())) + _1_valueOrError1 = m_Wrappers.Companion_Default___.Need((uint64(0)) < (uint64(((input).Dtor_branchKeyIdentifier()).Cardinality())), m_AwsCryptographyKeyStoreTypes.Companion_Error_.Create_KeyStoreException_(m_KeyStoreErrorMessages.Companion_Default___.BRANCH__KEY__ID__NEEDED())) if (_1_valueOrError1).IsFailure() { output = (_1_valueOrError1).PropagateFailure() return output diff --git a/releases/go/mpl/AwsCryptographyKeyStoreTypes/AwsCryptographyKeyStoreTypes.go b/releases/go/mpl/AwsCryptographyKeyStoreTypes/AwsCryptographyKeyStoreTypes.go index f9fe1c246d..58db3648ef 100644 --- a/releases/go/mpl/AwsCryptographyKeyStoreTypes/AwsCryptographyKeyStoreTypes.go +++ b/releases/go/mpl/AwsCryptographyKeyStoreTypes/AwsCryptographyKeyStoreTypes.go @@ -44,6 +44,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -64,6 +65,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ diff --git a/releases/go/mpl/AwsCryptographyMaterialProvidersOperations/AwsCryptographyMaterialProvidersOperations.go b/releases/go/mpl/AwsCryptographyMaterialProvidersOperations/AwsCryptographyMaterialProvidersOperations.go index b9377eb7b3..ce08dc0f4e 100644 --- a/releases/go/mpl/AwsCryptographyMaterialProvidersOperations/AwsCryptographyMaterialProvidersOperations.go +++ b/releases/go/mpl/AwsCryptographyMaterialProvidersOperations/AwsCryptographyMaterialProvidersOperations.go @@ -99,6 +99,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -120,6 +121,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -184,34 +186,34 @@ var _ m_KeyStore.Dummy__ var _ m_AlgorithmSuites.Dummy__ var _ m_Materials.Dummy__ var _ m_Keyring.Dummy__ -var _ m_MultiKeyring.Dummy__ -var _ m_AwsKmsMrkAreUnique.Dummy__ -var _ m_Constants.Dummy__ -var _ m_MaterialWrapping.Dummy__ var _ m_CanonicalEncryptionContext.Dummy__ +var _ m_MaterialWrapping.Dummy__ var _ m_IntermediateKeyWrapping.Dummy__ var _ m_EdkWrapping.Dummy__ var _ m_ErrorMessages.Dummy__ +var _ m_RawAESKeyring.Dummy__ +var _ m_Constants.Dummy__ +var _ m_EcdhEdkWrapping.Dummy__ +var _ m_RawECDHKeyring.Dummy__ +var _ m_RawRSAKeyring.Dummy__ var _ m_AwsKmsKeyring.Dummy__ -var _ m_StrictMultiKeyring.Dummy__ var _ m_AwsKmsDiscoveryKeyring.Dummy__ -var _ m_DiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkDiscoveryKeyring.Dummy__ -var _ m_MrkAwareDiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkKeyring.Dummy__ -var _ m_MrkAwareStrictMultiKeyring.Dummy__ +var _ m_AwsKmsEcdhKeyring.Dummy__ var _ m_LocalCMC.Dummy__ var _ m_SynchronizedLocalCMC.Dummy__ var _ m_StormTracker.Dummy__ var _ m_StormTrackingCMC.Dummy__ var _ m_CacheConstants.Dummy__ var _ m_AwsKmsHierarchicalKeyring.Dummy__ +var _ m_AwsKmsMrkDiscoveryKeyring.Dummy__ +var _ m_AwsKmsMrkKeyring.Dummy__ var _ m_AwsKmsRsaKeyring.Dummy__ -var _ m_EcdhEdkWrapping.Dummy__ -var _ m_RawECDHKeyring.Dummy__ -var _ m_AwsKmsEcdhKeyring.Dummy__ -var _ m_RawAESKeyring.Dummy__ -var _ m_RawRSAKeyring.Dummy__ +var _ m_MultiKeyring.Dummy__ +var _ m_AwsKmsMrkAreUnique.Dummy__ +var _ m_StrictMultiKeyring.Dummy__ +var _ m_DiscoveryMultiKeyring.Dummy__ +var _ m_MrkAwareDiscoveryMultiKeyring.Dummy__ +var _ m_MrkAwareStrictMultiKeyring.Dummy__ var _ m_CMM.Dummy__ var _ m_Defaults.Dummy__ var _ m_Commitment.Dummy__ @@ -652,9 +654,9 @@ func (_static *CompanionStruct_Default___) CreateAwsKmsHierarchicalKeyring(confi if ((input).Dtor_partitionId()).Is_Some() { var _7_valueOrError4 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_UTF8.Companion_ValidUTF8Bytes_.Witness()) _ = _7_valueOrError4 - _7_valueOrError4 = (m_UTF8.Encode(((input).Dtor_partitionId()).Dtor_value().(_dafny.Sequence))).MapFailure(func(coer132 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg133 interface{}) interface{} { - return coer132(arg133.(_dafny.Sequence)) + _7_valueOrError4 = (m_UTF8.Encode(((input).Dtor_partitionId()).Dtor_value().(_dafny.Sequence))).MapFailure(func(coer128 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg129 interface{}) interface{} { + return coer128(arg129.(_dafny.Sequence)) } }(func(_8_e _dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.Companion_Sequence_.Concatenate(_dafny.SeqOfString("Could not UTF-8 Encode Partition ID: "), _8_e)) @@ -673,9 +675,9 @@ func (_static *CompanionStruct_Default___) CreateAwsKmsHierarchicalKeyring(confi _9_uuid_q = _out4 var _10_valueOrError5 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq.SetString()) _ = _10_valueOrError5 - _10_valueOrError5 = (_9_uuid_q).MapFailure(func(coer133 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg134 interface{}) interface{} { - return coer133(arg134.(_dafny.Sequence)) + _10_valueOrError5 = (_9_uuid_q).MapFailure(func(coer129 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg130 interface{}) interface{} { + return coer129(arg130.(_dafny.Sequence)) } }(func(_11_e _dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_11_e) @@ -689,9 +691,9 @@ func (_static *CompanionStruct_Default___) CreateAwsKmsHierarchicalKeyring(confi _12_uuid = (_10_valueOrError5).Extract().(_dafny.Sequence) var _13_valueOrError6 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) _ = _13_valueOrError6 - _13_valueOrError6 = (m_UUID.ToByteArray(_12_uuid)).MapFailure(func(coer134 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg135 interface{}) interface{} { - return coer134(arg135.(_dafny.Sequence)) + _13_valueOrError6 = (m_UUID.ToByteArray(_12_uuid)).MapFailure(func(coer130 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg131 interface{}) interface{} { + return coer130(arg131.(_dafny.Sequence)) } }(func(_14_e _dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_14_e) @@ -710,9 +712,9 @@ func (_static *CompanionStruct_Default___) CreateAwsKmsHierarchicalKeyring(confi _15_getKeyStoreInfoOutput_q = _out5 var _16_valueOrError7 m_Wrappers.Result = m_Wrappers.Result{} _ = _16_valueOrError7 - _16_valueOrError7 = (_15_getKeyStoreInfoOutput_q).MapFailure(func(coer135 func(m_AwsCryptographyKeyStoreTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg136 interface{}) interface{} { - return coer135(arg136.(m_AwsCryptographyKeyStoreTypes.Error)) + _16_valueOrError7 = (_15_getKeyStoreInfoOutput_q).MapFailure(func(coer131 func(m_AwsCryptographyKeyStoreTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg132 interface{}) interface{} { + return coer131(arg132.(m_AwsCryptographyKeyStoreTypes.Error)) } }(func(_17_e m_AwsCryptographyKeyStoreTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyKeyStore_(_17_e) @@ -729,9 +731,9 @@ func (_static *CompanionStruct_Default___) CreateAwsKmsHierarchicalKeyring(confi _19_logicalKeyStoreName = (_18_getKeyStoreInfoOutput).Dtor_logicalKeyStoreName() var _20_valueOrError8 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_UTF8.Companion_ValidUTF8Bytes_.Witness()) _ = _20_valueOrError8 - _20_valueOrError8 = (m_UTF8.Encode(_19_logicalKeyStoreName)).MapFailure(func(coer136 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg137 interface{}) interface{} { - return coer136(arg137.(_dafny.Sequence)) + _20_valueOrError8 = (m_UTF8.Encode(_19_logicalKeyStoreName)).MapFailure(func(coer132 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg133 interface{}) interface{} { + return coer132(arg133.(_dafny.Sequence)) } }(func(_21_e _dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.Companion_Sequence_.Concatenate(_dafny.SeqOfString("Could not UTF-8 Encode Logical Key Store Name: "), _21_e)) @@ -976,7 +978,7 @@ func (_static *CompanionStruct_Default___) CreateMultiKeyring(config Config, inp _ = output var _0_valueOrError0 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _0_valueOrError0 - _0_valueOrError0 = m_Wrappers.Companion_Default___.Need((((input).Dtor_generator()).Is_Some()) || ((_dafny.IntOfUint32(((input).Dtor_childKeyrings()).Cardinality())).Sign() == 1), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Must include a generator keyring and/or at least one child keyring"))) + _0_valueOrError0 = m_Wrappers.Companion_Default___.Need((((input).Dtor_generator()).Is_Some()) || ((uint64(((input).Dtor_childKeyrings()).Cardinality())) > (uint64(0))), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Must include a generator keyring and/or at least one child keyring"))) if (_0_valueOrError0).IsFailure() { output = (_0_valueOrError0).PropagateFailure() return output @@ -1040,27 +1042,30 @@ Lmatch0: _ = _4_namespace var _5_name _dafny.Sequence = (*(_let_tmp_rhs0).IndexInt(1)).(_dafny.Sequence) _ = _5_name - var _6_valueOrError2 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() - _ = _6_valueOrError2 - _6_valueOrError2 = m_Wrappers.Companion_Default___.Need((((_dafny.IntOfUint32(((input).Dtor_wrappingKey()).Cardinality())).Cmp(_dafny.IntOfInt64(16)) == 0) || ((_dafny.IntOfUint32(((input).Dtor_wrappingKey()).Cardinality())).Cmp(_dafny.IntOfInt64(24)) == 0)) || ((_dafny.IntOfUint32(((input).Dtor_wrappingKey()).Cardinality())).Cmp(_dafny.IntOfInt64(32)) == 0), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Invalid wrapping key length"))) - if (_6_valueOrError2).IsFailure() { - output = (_6_valueOrError2).PropagateFailure() + var _6_wrapping__key__size uint64 + _ = _6_wrapping__key__size + _6_wrapping__key__size = uint64(((input).Dtor_wrappingKey()).Cardinality()) + var _7_valueOrError2 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() + _ = _7_valueOrError2 + _7_valueOrError2 = m_Wrappers.Companion_Default___.Need((((_6_wrapping__key__size) == (uint64(16))) || ((_6_wrapping__key__size) == (uint64(24)))) || ((_6_wrapping__key__size) == (uint64(32))), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Invalid wrapping key length"))) + if (_7_valueOrError2).IsFailure() { + output = (_7_valueOrError2).PropagateFailure() return output } - var _7_valueOrError3 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() - _ = _7_valueOrError3 - _7_valueOrError3 = m_Wrappers.Companion_Default___.Need((_dafny.IntOfUint32(((input).Dtor_wrappingKey()).Cardinality())).Cmp(_dafny.IntOfInt32((_1_wrappingAlg).Dtor_keyLength())) == 0, m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Wrapping key length does not match specified wrapping algorithm"))) - if (_7_valueOrError3).IsFailure() { - output = (_7_valueOrError3).PropagateFailure() + var _8_valueOrError3 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() + _ = _8_valueOrError3 + _8_valueOrError3 = m_Wrappers.Companion_Default___.Need((_6_wrapping__key__size) == (uint64((_1_wrappingAlg).Dtor_keyLength())), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Wrapping key length does not match specified wrapping algorithm"))) + if (_8_valueOrError3).IsFailure() { + output = (_8_valueOrError3).PropagateFailure() return output } - var _8_keyring *m_RawAESKeyring.RawAESKeyring - _ = _8_keyring + var _9_keyring *m_RawAESKeyring.RawAESKeyring + _ = _9_keyring var _nw0 *m_RawAESKeyring.RawAESKeyring = m_RawAESKeyring.New_RawAESKeyring_() _ = _nw0 _nw0.Ctor__(_4_namespace, _5_name, (input).Dtor_wrappingKey(), _1_wrappingAlg, (config).Dtor_crypto()) - _8_keyring = _nw0 - output = m_Wrappers.Companion_Result_.Create_Success_(_8_keyring) + _9_keyring = _nw0 + output = m_Wrappers.Companion_Result_.Create_Success_(_9_keyring) return output return output } @@ -1342,9 +1347,9 @@ func (_static *CompanionStruct_Default___) CreateAwsKmsRsaKeyring(config Config, _3_lengthOutputRes = ((config).Dtor_crypto()).GetRSAKeyModulusLength(m_AwsCryptographyPrimitivesTypes.Companion_GetRSAKeyModulusLengthInput_.Create_GetRSAKeyModulusLengthInput_(((input).Dtor_publicKey()).Dtor_value().(_dafny.Sequence))) var _4_valueOrError3 m_Wrappers.Result = m_Wrappers.Result{} _ = _4_valueOrError3 - _4_valueOrError3 = (_3_lengthOutputRes).MapFailure(func(coer137 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg138 interface{}) interface{} { - return coer137(arg138.(m_AwsCryptographyPrimitivesTypes.Error)) + _4_valueOrError3 = (_3_lengthOutputRes).MapFailure(func(coer133 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg134 interface{}) interface{} { + return coer133(arg134.(m_AwsCryptographyPrimitivesTypes.Error)) } }(func(_5_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_5_e) @@ -1425,9 +1430,9 @@ func (_static *CompanionStruct_Default___) CreateRequiredEncryptionContextCMM(co _1_keySet = func() _dafny.Set { var _coll0 = _dafny.NewBuilder() _ = _coll0 - for _iter10 := _dafny.Iterate(((input).Dtor_requiredEncryptionContextKeys()).Elements()); ; { - _compr_0, _ok10 := _iter10() - if !_ok10 { + for _iter11 := _dafny.Iterate(((input).Dtor_requiredEncryptionContextKeys()).Elements()); ; { + _compr_0, _ok11 := _iter11() + if !_ok11 { break } var _2_k _dafny.Sequence @@ -1442,7 +1447,7 @@ func (_static *CompanionStruct_Default___) CreateRequiredEncryptionContextCMM(co }() var _3_valueOrError1 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _3_valueOrError1 - _3_valueOrError1 = m_Wrappers.Companion_Default___.Need(((_1_keySet).Cardinality()).Sign() == 1, Companion_Default___.CmpError(_dafny.SeqOfString("RequiredEncryptionContextCMM needs at least one requiredEncryptionContextKey."))) + _3_valueOrError1 = m_Wrappers.Companion_Default___.Need((uint64(0)) < (uint64((_1_keySet).CardinalityInt())), Companion_Default___.CmpError(_dafny.SeqOfString("RequiredEncryptionContextCMM needs at least one requiredEncryptionContextKey."))) if (_3_valueOrError1).IsFailure() { output = (_3_valueOrError1).PropagateFailure() return output @@ -1503,7 +1508,7 @@ func (_static *CompanionStruct_Default___) CreateCryptographicMaterialsCache(con _ = _7_cmc var _nw2 *m_LocalCMC.LocalCMC = m_LocalCMC.New_LocalCMC_() _ = _nw2 - _nw2.Ctor__(_dafny.Zero, _dafny.One) + _nw2.Ctor__(uint64(0), uint64(1)) _7_cmc = _nw2 output = m_Wrappers.Companion_Result_.Create_Success_(_7_cmc) return output @@ -1518,7 +1523,7 @@ func (_static *CompanionStruct_Default___) CreateCryptographicMaterialsCache(con _ = _9_cmc var _nw3 *m_LocalCMC.LocalCMC = m_LocalCMC.New_LocalCMC_() _ = _nw3 - _nw3.Ctor__(_dafny.IntOfInt32((_8_c).Dtor_entryCapacity()), _dafny.IntOfInt32((Companion_Default___.OptionalCountingNumber((_8_c).Dtor_entryPruningTailSize())).UnwrapOr(int32(1)).(int32))) + _nw3.Ctor__(uint64((_8_c).Dtor_entryCapacity()), uint64((Companion_Default___.OptionalCountingNumber((_8_c).Dtor_entryPruningTailSize())).UnwrapOr(int32(1)).(int32))) _9_cmc = _nw3 output = m_Wrappers.Companion_Result_.Create_Success_(_9_cmc) return output @@ -1533,7 +1538,7 @@ func (_static *CompanionStruct_Default___) CreateCryptographicMaterialsCache(con _ = _11_cmc var _nw4 *m_LocalCMC.LocalCMC = m_LocalCMC.New_LocalCMC_() _ = _nw4 - _nw4.Ctor__(_dafny.IntOfInt32((_10_c).Dtor_entryCapacity()), _dafny.IntOfInt32((Companion_Default___.OptionalCountingNumber((_10_c).Dtor_entryPruningTailSize())).UnwrapOr(int32(1)).(int32))) + _nw4.Ctor__(uint64((_10_c).Dtor_entryCapacity()), uint64((Companion_Default___.OptionalCountingNumber((_10_c).Dtor_entryPruningTailSize())).UnwrapOr(int32(1)).(int32))) _11_cmc = _nw4 var _12_synCmc *m_SynchronizedLocalCMC.SynchronizedLocalCMC _ = _12_synCmc diff --git a/releases/go/mpl/AwsCryptographyMaterialProvidersTypes/AwsCryptographyMaterialProvidersTypes.go b/releases/go/mpl/AwsCryptographyMaterialProvidersTypes/AwsCryptographyMaterialProvidersTypes.go index 1eb902d845..997ae91ec2 100644 --- a/releases/go/mpl/AwsCryptographyMaterialProvidersTypes/AwsCryptographyMaterialProvidersTypes.go +++ b/releases/go/mpl/AwsCryptographyMaterialProvidersTypes/AwsCryptographyMaterialProvidersTypes.go @@ -45,6 +45,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -65,6 +66,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ diff --git a/releases/go/mpl/AwsKmsDiscoveryKeyring/AwsKmsDiscoveryKeyring.go b/releases/go/mpl/AwsKmsDiscoveryKeyring/AwsKmsDiscoveryKeyring.go index 5cd8604632..9777b901fa 100644 --- a/releases/go/mpl/AwsKmsDiscoveryKeyring/AwsKmsDiscoveryKeyring.go +++ b/releases/go/mpl/AwsKmsDiscoveryKeyring/AwsKmsDiscoveryKeyring.go @@ -16,7 +16,6 @@ import ( m_AwsCryptographyKeyStoreTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreTypes" m_AwsCryptographyMaterialProvidersTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" m_AwsKmsKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsKeyring" - m_AwsKmsMrkAreUnique "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkAreUnique" m_AwsKmsMrkMatchForDecrypt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkMatchForDecrypt" m_AwsKmsUtils "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsUtils" m_CanonicalEncryptionContext "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CanonicalEncryptionContext" @@ -24,6 +23,7 @@ import ( m_CreateKeyStoreTable "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeyStoreTable" m_CreateKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeys" m_DDBKeystoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DDBKeystoreOperations" + m_EcdhEdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EcdhEdkWrapping" m_EdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EdkWrapping" m_ErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/ErrorMessages" m_GetKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/GetKeys" @@ -35,8 +35,9 @@ import ( m_KmsArn "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KmsArn" m_MaterialWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MaterialWrapping" m_Materials "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Materials" - m_MultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MultiKeyring" - m_StrictMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StrictMultiKeyring" + m_RawAESKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawAESKeyring" + m_RawECDHKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawECDHKeyring" + m_RawRSAKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawRSAKeyring" m_Structure "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Structure" m_AtomicPrimitives "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AtomicPrimitives" m_AwsCryptographyPrimitivesOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesOperations" @@ -74,6 +75,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -94,6 +96,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -158,16 +161,17 @@ var _ m_KeyStore.Dummy__ var _ m_AlgorithmSuites.Dummy__ var _ m_Materials.Dummy__ var _ m_Keyring.Dummy__ -var _ m_MultiKeyring.Dummy__ -var _ m_AwsKmsMrkAreUnique.Dummy__ -var _ m_Constants.Dummy__ -var _ m_MaterialWrapping.Dummy__ var _ m_CanonicalEncryptionContext.Dummy__ +var _ m_MaterialWrapping.Dummy__ var _ m_IntermediateKeyWrapping.Dummy__ var _ m_EdkWrapping.Dummy__ var _ m_ErrorMessages.Dummy__ +var _ m_RawAESKeyring.Dummy__ +var _ m_Constants.Dummy__ +var _ m_EcdhEdkWrapping.Dummy__ +var _ m_RawECDHKeyring.Dummy__ +var _ m_RawRSAKeyring.Dummy__ var _ m_AwsKmsKeyring.Dummy__ -var _ m_StrictMultiKeyring.Dummy__ type Dummy__ struct{} @@ -281,16 +285,16 @@ var _ m_AwsCryptographyMaterialProvidersTypes.IKeyring = &AwsKmsDiscoveryKeyring var _ _dafny.TraitOffspring = &AwsKmsDiscoveryKeyring{} func (_this *AwsKmsDiscoveryKeyring) OnDecrypt(input m_AwsCryptographyMaterialProvidersTypes.OnDecryptInput) m_Wrappers.Result { - var _out3 m_Wrappers.Result - _ = _out3 - _out3 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnDecrypt(_this, input) - return _out3 + var _out5 m_Wrappers.Result + _ = _out5 + _out5 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnDecrypt(_this, input) + return _out5 } func (_this *AwsKmsDiscoveryKeyring) OnEncrypt(input m_AwsCryptographyMaterialProvidersTypes.OnEncryptInput) m_Wrappers.Result { - var _out3 m_Wrappers.Result - _ = _out3 - _out3 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnEncrypt(_this, input) - return _out3 + var _out5 m_Wrappers.Result + _ = _out5 + _out5 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnEncrypt(_this, input) + return _out5 } func (_this *AwsKmsDiscoveryKeyring) Ctor__(client m_ComAmazonawsKmsTypes.IKMSClient, discoveryFilter m_Wrappers.Option, grantTokens _dafny.Sequence) { { @@ -366,7 +370,7 @@ func (_this *AwsKmsDiscoveryKeyring) OnDecrypt_k(input m_AwsCryptographyMaterial var _9_edksToAttempt _dafny.Sequence _ = _9_edksToAttempt _9_edksToAttempt = (_8_valueOrError2).Extract().(_dafny.Sequence) - if (_dafny.IntOfUint32((_9_edksToAttempt).Cardinality())).Sign() == 0 { + if (uint64(0)) == (uint64((_9_edksToAttempt).Cardinality())) { var _10_valueOrError3 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq.SetString()) _ = _10_valueOrError3 _10_valueOrError3 = m_ErrorMessages.Companion_Default___.IncorrectDataKeys((input).Dtor_encryptedDataKeys(), ((input).Dtor_materials()).Dtor_algorithmSuite(), _dafny.SeqOfString("")) @@ -505,9 +509,9 @@ func (_this *AwsKmsEncryptedDataKeyFilter) Invoke(edk interface{}) interface{} { } var _1_valueOrError1 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq.SetString()) _ = _1_valueOrError1 - _1_valueOrError1 = (m_UTF8.Decode((edk).Dtor_keyProviderInfo())).MapFailure(func(coer63 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg64 interface{}) interface{} { - return coer63(arg64.(_dafny.Sequence)) + _1_valueOrError1 = (m_UTF8.Decode((edk).Dtor_keyProviderInfo())).MapFailure(func(coer78 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg79 interface{}) interface{} { + return coer78(arg79.(_dafny.Sequence)) } }(m_AwsKmsUtils.Companion_Default___.WrapStringToError)) if (_1_valueOrError1).IsFailure() { @@ -519,9 +523,9 @@ func (_this *AwsKmsEncryptedDataKeyFilter) Invoke(edk interface{}) interface{} { _2_keyId = (_1_valueOrError1).Extract().(_dafny.Sequence) var _3_valueOrError2 m_Wrappers.Result = m_Wrappers.Result{} _ = _3_valueOrError2 - _3_valueOrError2 = (m_AwsArnParsing.Companion_Default___.ParseAwsKmsArn(_2_keyId)).MapFailure(func(coer64 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg65 interface{}) interface{} { - return coer64(arg65.(_dafny.Sequence)) + _3_valueOrError2 = (m_AwsArnParsing.Companion_Default___.ParseAwsKmsArn(_2_keyId)).MapFailure(func(coer79 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg80 interface{}) interface{} { + return coer79(arg80.(_dafny.Sequence)) } }(m_AwsKmsUtils.Companion_Default___.WrapStringToError)) if (_3_valueOrError2).IsFailure() { @@ -636,9 +640,9 @@ func (_this *AwsKmsEncryptedDataKeyTransformer) Invoke(edk interface{}) interfac } var _2_valueOrError2 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq.SetString()) _ = _2_valueOrError2 - _2_valueOrError2 = (m_UTF8.Decode((edk).Dtor_keyProviderInfo())).MapFailure(func(coer65 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg66 interface{}) interface{} { - return coer65(arg66.(_dafny.Sequence)) + _2_valueOrError2 = (m_UTF8.Decode((edk).Dtor_keyProviderInfo())).MapFailure(func(coer80 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg81 interface{}) interface{} { + return coer80(arg81.(_dafny.Sequence)) } }(m_AwsKmsUtils.Companion_Default___.WrapStringToError)) if (_2_valueOrError2).IsFailure() { @@ -650,9 +654,9 @@ func (_this *AwsKmsEncryptedDataKeyTransformer) Invoke(edk interface{}) interfac _3_keyId = (_2_valueOrError2).Extract().(_dafny.Sequence) var _4_valueOrError3 m_Wrappers.Result = m_Wrappers.Result{} _ = _4_valueOrError3 - _4_valueOrError3 = (m_AwsArnParsing.Companion_Default___.ParseAwsKmsArn(_3_keyId)).MapFailure(func(coer66 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg67 interface{}) interface{} { - return coer66(arg67.(_dafny.Sequence)) + _4_valueOrError3 = (m_AwsArnParsing.Companion_Default___.ParseAwsKmsArn(_3_keyId)).MapFailure(func(coer81 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg82 interface{}) interface{} { + return coer81(arg82.(_dafny.Sequence)) } }(m_AwsKmsUtils.Companion_Default___.WrapStringToError)) if (_4_valueOrError3).IsFailure() { diff --git a/releases/go/mpl/AwsKmsEcdhKeyring/AwsKmsEcdhKeyring.go b/releases/go/mpl/AwsKmsEcdhKeyring/AwsKmsEcdhKeyring.go index ce68da97e5..d08509f4ce 100644 --- a/releases/go/mpl/AwsKmsEcdhKeyring/AwsKmsEcdhKeyring.go +++ b/releases/go/mpl/AwsKmsEcdhKeyring/AwsKmsEcdhKeyring.go @@ -16,21 +16,14 @@ import ( m_AwsCryptographyKeyStoreTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreTypes" m_AwsCryptographyMaterialProvidersTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" m_AwsKmsDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsDiscoveryKeyring" - m_AwsKmsHierarchicalKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsHierarchicalKeyring" m_AwsKmsKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsKeyring" - m_AwsKmsMrkAreUnique "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkAreUnique" - m_AwsKmsMrkDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkDiscoveryKeyring" - m_AwsKmsMrkKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkKeyring" m_AwsKmsMrkMatchForDecrypt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkMatchForDecrypt" - m_AwsKmsRsaKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsRsaKeyring" m_AwsKmsUtils "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsUtils" - m_CacheConstants "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CacheConstants" m_CanonicalEncryptionContext "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CanonicalEncryptionContext" m_Constants "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Constants" m_CreateKeyStoreTable "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeyStoreTable" m_CreateKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeys" m_DDBKeystoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DDBKeystoreOperations" - m_DiscoveryMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DiscoveryMultiKeyring" m_EcdhEdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EcdhEdkWrapping" m_EdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EdkWrapping" m_ErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/ErrorMessages" @@ -41,18 +34,12 @@ import ( m_KeyStoreErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KeyStoreErrorMessages" m_Keyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Keyring" m_KmsArn "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KmsArn" - m_LocalCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/LocalCMC" m_MaterialWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MaterialWrapping" m_Materials "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Materials" - m_MrkAwareDiscoveryMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MrkAwareDiscoveryMultiKeyring" - m_MrkAwareStrictMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MrkAwareStrictMultiKeyring" - m_MultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MultiKeyring" + m_RawAESKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawAESKeyring" m_RawECDHKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawECDHKeyring" - m_StormTracker "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StormTracker" - m_StormTrackingCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StormTrackingCMC" - m_StrictMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StrictMultiKeyring" + m_RawRSAKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawRSAKeyring" m_Structure "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Structure" - m_SynchronizedLocalCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/SynchronizedLocalCMC" m_AtomicPrimitives "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AtomicPrimitives" m_AwsCryptographyPrimitivesOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesOperations" m_AwsCryptographyPrimitivesTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesTypes" @@ -89,6 +76,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -109,6 +97,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -173,31 +162,18 @@ var _ m_KeyStore.Dummy__ var _ m_AlgorithmSuites.Dummy__ var _ m_Materials.Dummy__ var _ m_Keyring.Dummy__ -var _ m_MultiKeyring.Dummy__ -var _ m_AwsKmsMrkAreUnique.Dummy__ -var _ m_Constants.Dummy__ -var _ m_MaterialWrapping.Dummy__ var _ m_CanonicalEncryptionContext.Dummy__ +var _ m_MaterialWrapping.Dummy__ var _ m_IntermediateKeyWrapping.Dummy__ var _ m_EdkWrapping.Dummy__ var _ m_ErrorMessages.Dummy__ -var _ m_AwsKmsKeyring.Dummy__ -var _ m_StrictMultiKeyring.Dummy__ -var _ m_AwsKmsDiscoveryKeyring.Dummy__ -var _ m_DiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkDiscoveryKeyring.Dummy__ -var _ m_MrkAwareDiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkKeyring.Dummy__ -var _ m_MrkAwareStrictMultiKeyring.Dummy__ -var _ m_LocalCMC.Dummy__ -var _ m_SynchronizedLocalCMC.Dummy__ -var _ m_StormTracker.Dummy__ -var _ m_StormTrackingCMC.Dummy__ -var _ m_CacheConstants.Dummy__ -var _ m_AwsKmsHierarchicalKeyring.Dummy__ -var _ m_AwsKmsRsaKeyring.Dummy__ +var _ m_RawAESKeyring.Dummy__ +var _ m_Constants.Dummy__ var _ m_EcdhEdkWrapping.Dummy__ var _ m_RawECDHKeyring.Dummy__ +var _ m_RawRSAKeyring.Dummy__ +var _ m_AwsKmsKeyring.Dummy__ +var _ m_AwsKmsDiscoveryKeyring.Dummy__ type Dummy__ struct{} @@ -249,9 +225,9 @@ func (_static *CompanionStruct_Default___) DeriveSharedSecret(client m_ComAmazon _1_maybeDeriveSharedSecret = _out0 var _2_valueOrError0 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_ComAmazonawsKmsTypes.Companion_DeriveSharedSecretResponse_.Default()) _ = _2_valueOrError0 - _2_valueOrError0 = (_1_maybeDeriveSharedSecret).MapFailure(func(coer117 func(m_ComAmazonawsKmsTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg118 interface{}) interface{} { - return coer117(arg118.(m_ComAmazonawsKmsTypes.Error)) + _2_valueOrError0 = (_1_maybeDeriveSharedSecret).MapFailure(func(coer82 func(m_ComAmazonawsKmsTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg83 interface{}) interface{} { + return coer82(arg83.(m_ComAmazonawsKmsTypes.Error)) } }(func(_3_e m_ComAmazonawsKmsTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_ComAmazonawsKms_(_3_e) @@ -354,16 +330,16 @@ var _ m_AwsCryptographyMaterialProvidersTypes.IKeyring = &AwsKmsEcdhKeyring{} var _ _dafny.TraitOffspring = &AwsKmsEcdhKeyring{} func (_this *AwsKmsEcdhKeyring) OnDecrypt(input m_AwsCryptographyMaterialProvidersTypes.OnDecryptInput) m_Wrappers.Result { - var _out9 m_Wrappers.Result - _ = _out9 - _out9 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnDecrypt(_this, input) - return _out9 + var _out6 m_Wrappers.Result + _ = _out6 + _out6 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnDecrypt(_this, input) + return _out6 } func (_this *AwsKmsEcdhKeyring) OnEncrypt(input m_AwsCryptographyMaterialProvidersTypes.OnEncryptInput) m_Wrappers.Result { - var _out9 m_Wrappers.Result - _ = _out9 - _out9 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnEncrypt(_this, input) - return _out9 + var _out6 m_Wrappers.Result + _ = _out6 + _out6 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnEncrypt(_this, input) + return _out6 } func (_this *AwsKmsEcdhKeyring) Ctor__(KeyAgreementScheme m_AwsCryptographyMaterialProvidersTypes.KmsEcdhStaticConfigurations, curveSpec m_AwsCryptographyPrimitivesTypes.ECDHCurveSpec, client m_ComAmazonawsKmsTypes.IKMSClient, grantTokens _dafny.Sequence, senderKmsKeyId m_Wrappers.Option, senderPublicKey m_Wrappers.Option, recipientPublicKey _dafny.Sequence, compressedSenderPublicKey m_Wrappers.Option, compressedRecipientPublicKey _dafny.Sequence, cryptoPrimitives *m_AtomicPrimitives.AtomicPrimitivesClient) { { @@ -445,9 +421,9 @@ func (_this *AwsKmsEcdhKeyring) OnEncrypt_k(input m_AwsCryptographyMaterialProvi } var _11_valueOrError5 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_UTF8.Companion_ValidUTF8Bytes_.Witness()) _ = _11_valueOrError5 - _11_valueOrError5 = (m_UTF8.Encode(m_RawECDHKeyring.Companion_Default___.CurveSpecTypeToString((_this).CurveSpec()))).MapFailure(func(coer118 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg119 interface{}) interface{} { - return coer118(arg119.(_dafny.Sequence)) + _11_valueOrError5 = (m_UTF8.Encode(m_RawECDHKeyring.Companion_Default___.CurveSpecTypeToString((_this).CurveSpec()))).MapFailure(func(coer83 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg84 interface{}) interface{} { + return coer83(arg84.(_dafny.Sequence)) } }(m_AwsKmsUtils.Companion_Default___.WrapStringToError)) if (_11_valueOrError5).IsFailure() { @@ -578,7 +554,7 @@ func (_this *AwsKmsEcdhKeyring) OnDecrypt_k(input m_AwsCryptographyMaterialProvi var _5_edksToAttempt _dafny.Sequence _ = _5_edksToAttempt _5_edksToAttempt = (_4_valueOrError1).Extract().(_dafny.Sequence) - if (_dafny.IntOfUint32((_5_edksToAttempt).Cardinality())).Sign() == 0 { + if (uint64(0)) == (uint64((_5_edksToAttempt).Cardinality())) { var _6_valueOrError2 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq.SetString()) _ = _6_valueOrError2 _6_valueOrError2 = m_ErrorMessages.Companion_Default___.IncorrectDataKeys((input).Dtor_encryptedDataKeys(), ((input).Dtor_materials()).Dtor_algorithmSuite(), _dafny.SeqOfString("")) @@ -606,9 +582,9 @@ func (_this *AwsKmsEcdhKeyring) OnDecrypt_k(input m_AwsCryptographyMaterialProvi _9_outcome = _out1 var _10_valueOrError3 m_Wrappers.Result = m_Wrappers.Result{} _ = _10_valueOrError3 - _10_valueOrError3 = (_9_outcome).MapFailure(func(coer119 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg120 interface{}) interface{} { - return coer119(arg120.(_dafny.Sequence)) + _10_valueOrError3 = (_9_outcome).MapFailure(func(coer84 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg85 interface{}) interface{} { + return coer84(arg85.(_dafny.Sequence)) } }(func(_11_errors _dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_CollectionOfErrors_(_11_errors, _dafny.SeqOfString("No Configured KMS Key was able to decrypt the Data Key. The list of encountered Exceptions is available via `list`.")) @@ -759,239 +735,232 @@ func (_this *DecryptSingleEncryptedDataKey) Invoke(edk interface{}) interface{} _ = edk var res m_Wrappers.Result = m_Wrappers.Result{} _ = res - var _0_valueOrError0 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() - _ = _0_valueOrError0 - _0_valueOrError0 = m_Wrappers.Companion_Default___.Need(m_UTF8.Companion_Default___.ValidUTF8Seq((edk).Dtor_keyProviderId()), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Received invalid EDK provider id for AWS KMS ECDH Keyring"))) - if (_0_valueOrError0).IsFailure() { - res = (_0_valueOrError0).PropagateFailure() - return res - } - var _1_suite m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo - _ = _1_suite - _1_suite = ((_this).Materials()).Dtor_algorithmSuite() - var _2_keyProviderId _dafny.Sequence - _ = _2_keyProviderId - _2_keyProviderId = (edk).Dtor_keyProviderId() - var _3_providerInfo _dafny.Sequence - _ = _3_providerInfo - _3_providerInfo = (edk).Dtor_keyProviderInfo() - var _4_ciphertext _dafny.Sequence - _ = _4_ciphertext - _4_ciphertext = (edk).Dtor_ciphertext() - var _5_valueOrError1 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) - _ = _5_valueOrError1 - _5_valueOrError1 = m_EdkWrapping.Companion_Default___.GetProviderWrappedMaterial(_4_ciphertext, _1_suite) - if (_5_valueOrError1).IsFailure() { - res = (_5_valueOrError1).PropagateFailure() + var _0_suite m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo + _ = _0_suite + _0_suite = ((_this).Materials()).Dtor_algorithmSuite() + var _1_keyProviderId _dafny.Sequence + _ = _1_keyProviderId + _1_keyProviderId = (edk).Dtor_keyProviderId() + var _2_providerInfo _dafny.Sequence + _ = _2_providerInfo + _2_providerInfo = (edk).Dtor_keyProviderInfo() + var _3_ciphertext _dafny.Sequence + _ = _3_ciphertext + _3_ciphertext = (edk).Dtor_ciphertext() + var _4_valueOrError0 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) + _ = _4_valueOrError0 + _4_valueOrError0 = m_EdkWrapping.Companion_Default___.GetProviderWrappedMaterial(_3_ciphertext, _0_suite) + if (_4_valueOrError0).IsFailure() { + res = (_4_valueOrError0).PropagateFailure() return res } - var _6_providerWrappedMaterial _dafny.Sequence - _ = _6_providerWrappedMaterial - _6_providerWrappedMaterial = (_5_valueOrError1).Extract().(_dafny.Sequence) - var _7_valueOrError2 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() - _ = _7_valueOrError2 - _7_valueOrError2 = m_Wrappers.Companion_Default___.Need(((_dafny.IntOfUint32((_3_providerInfo).Cardinality())).Cmp(_dafny.IntOfUint32(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__521__LEN())) <= 0) && (m_RawECDHKeyring.Companion_Default___.ValidProviderInfoLength(_3_providerInfo)), Companion_Default___.E(_dafny.SeqOfString("EDK ProviderInfo longer than expected"))) - if (_7_valueOrError2).IsFailure() { - res = (_7_valueOrError2).PropagateFailure() + var _5_providerWrappedMaterial _dafny.Sequence + _ = _5_providerWrappedMaterial + _5_providerWrappedMaterial = (_4_valueOrError0).Extract().(_dafny.Sequence) + var _6_valueOrError1 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() + _ = _6_valueOrError1 + _6_valueOrError1 = m_Wrappers.Companion_Default___.Need(((uint64((_2_providerInfo).Cardinality())) <= (uint64(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__521__LEN()))) && (m_RawECDHKeyring.Companion_Default___.ValidProviderInfoLength(_2_providerInfo)), Companion_Default___.E(_dafny.SeqOfString("EDK ProviderInfo longer than expected"))) + if (_6_valueOrError1).IsFailure() { + res = (_6_valueOrError1).PropagateFailure() return res } - var _8_keyringVersion uint8 - _ = _8_keyringVersion - _8_keyringVersion = (_3_providerInfo).Select(0).(uint8) - var _9_valueOrError3 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() - _ = _9_valueOrError3 - _9_valueOrError3 = m_Wrappers.Companion_Default___.Need(_dafny.Companion_Sequence_.Equal(_dafny.SeqOf(_8_keyringVersion), Companion_Default___.AWS__KMS__ECDH__KEYRING__VERSION()), Companion_Default___.E(_dafny.SeqOfString("Incorrect Keyring version found in provider info."))) - if (_9_valueOrError3).IsFailure() { - res = (_9_valueOrError3).PropagateFailure() + var _7_keyringVersion uint8 + _ = _7_keyringVersion + _7_keyringVersion = (_2_providerInfo).Select(uint32(uint32(0))).(uint8) + var _8_valueOrError2 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() + _ = _8_valueOrError2 + _8_valueOrError2 = m_Wrappers.Companion_Default___.Need(_dafny.Companion_Sequence_.Equal(_dafny.SeqOf(_7_keyringVersion), Companion_Default___.AWS__KMS__ECDH__KEYRING__VERSION()), Companion_Default___.E(_dafny.SeqOfString("Incorrect Keyring version found in provider info."))) + if (_8_valueOrError2).IsFailure() { + res = (_8_valueOrError2).PropagateFailure() return res } - var _10_recipientPublicKeyLength _dafny.Int - _ = _10_recipientPublicKeyLength - _10_recipientPublicKeyLength = _dafny.IntOfUint32(m_StandardLibrary_UInt.Companion_Default___.SeqToUInt32((_3_providerInfo).Subsequence(uint32(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__RPL__INDEX()), uint32(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__RPK__INDEX())))) - var _11_recipientPublicKeyLengthIndex _dafny.Int - _ = _11_recipientPublicKeyLengthIndex - _11_recipientPublicKeyLengthIndex = (_dafny.IntOfUint32(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__RPK__INDEX())).Plus(_10_recipientPublicKeyLength) - var _12_senderPublicKeyIndex _dafny.Int - _ = _12_senderPublicKeyIndex - _12_senderPublicKeyIndex = (_11_recipientPublicKeyLengthIndex).Plus(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__PUBLIC__KEY__LEN()) - var _13_valueOrError4 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() - _ = _13_valueOrError4 - _13_valueOrError4 = m_Wrappers.Companion_Default___.Need(((_11_recipientPublicKeyLengthIndex).Plus(_dafny.IntOfInt64(4))).Cmp(_dafny.IntOfUint32((_3_providerInfo).Cardinality())) < 0, Companion_Default___.E(_dafny.SeqOfString("Key Provider Info Serialization Error. Serialized length less than expected."))) - if (_13_valueOrError4).IsFailure() { - res = (_13_valueOrError4).PropagateFailure() + var _9_recipientPublicKeyLength uint32 + _ = _9_recipientPublicKeyLength + _9_recipientPublicKeyLength = m_StandardLibrary_UInt.Companion_Default___.SeqToUInt32((_2_providerInfo).Subsequence(uint32(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__RPL__INDEX()), uint32(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__RPK__INDEX()))) + var _10_recipientPublicKeyLengthIndex uint64 + _ = _10_recipientPublicKeyLengthIndex + _10_recipientPublicKeyLengthIndex = (uint64(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__RPK__INDEX())) + (uint64(_9_recipientPublicKeyLength)) + var _11_senderPublicKeyIndex uint64 + _ = _11_senderPublicKeyIndex + _11_senderPublicKeyIndex = (_10_recipientPublicKeyLengthIndex) + (m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__PUBLIC__KEY__LEN()) + var _12_valueOrError3 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() + _ = _12_valueOrError3 + _12_valueOrError3 = m_Wrappers.Companion_Default___.Need(((_10_recipientPublicKeyLengthIndex)+(uint64(4))) < (uint64((_2_providerInfo).Cardinality())), Companion_Default___.E(_dafny.SeqOfString("Key Provider Info Serialization Error. Serialized length less than expected."))) + if (_12_valueOrError3).IsFailure() { + res = (_12_valueOrError3).PropagateFailure() return res } - var _14_providerInfoRecipientPublicKey _dafny.Sequence - _ = _14_providerInfoRecipientPublicKey - _14_providerInfoRecipientPublicKey = (_3_providerInfo).Subsequence(uint32(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__RPK__INDEX()), (_11_recipientPublicKeyLengthIndex).Uint32()) - var _15_providerInfoSenderPublicKey _dafny.Sequence - _ = _15_providerInfoSenderPublicKey - _15_providerInfoSenderPublicKey = (_3_providerInfo).Drop((_12_senderPublicKeyIndex).Uint32()) - var _16_valueOrError5 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) - _ = _16_valueOrError5 + var _13_providerInfoRecipientPublicKey _dafny.Sequence + _ = _13_providerInfoRecipientPublicKey + _13_providerInfoRecipientPublicKey = (_2_providerInfo).Subsequence(uint32(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__RPK__INDEX()), uint32(_10_recipientPublicKeyLengthIndex)) + var _14_providerInfoSenderPublicKey _dafny.Sequence + _ = _14_providerInfoSenderPublicKey + _14_providerInfoSenderPublicKey = (_2_providerInfo).Drop(uint32(_11_senderPublicKeyIndex)) + var _15_valueOrError4 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) + _ = _15_valueOrError4 var _out0 m_Wrappers.Result _ = _out0 - _out0 = m_RawECDHKeyring.Companion_Default___.DecompressPublicKey(_15_providerInfoSenderPublicKey, (_this).CurveSpec(), (_this).CryptoPrimitives()) - _16_valueOrError5 = _out0 - if (_16_valueOrError5).IsFailure() { - res = (_16_valueOrError5).PropagateFailure() + _out0 = m_RawECDHKeyring.Companion_Default___.DecompressPublicKey(_14_providerInfoSenderPublicKey, (_this).CurveSpec(), (_this).CryptoPrimitives()) + _15_valueOrError4 = _out0 + if (_15_valueOrError4).IsFailure() { + res = (_15_valueOrError4).PropagateFailure() return res } - var _17_senderPublicKey _dafny.Sequence - _ = _17_senderPublicKey - _17_senderPublicKey = (_16_valueOrError5).Extract().(_dafny.Sequence) - var _18_valueOrError6 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) - _ = _18_valueOrError6 + var _16_senderPublicKey _dafny.Sequence + _ = _16_senderPublicKey + _16_senderPublicKey = (_15_valueOrError4).Extract().(_dafny.Sequence) + var _17_valueOrError5 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) + _ = _17_valueOrError5 var _out1 m_Wrappers.Result _ = _out1 - _out1 = m_RawECDHKeyring.Companion_Default___.DecompressPublicKey(_14_providerInfoRecipientPublicKey, (_this).CurveSpec(), (_this).CryptoPrimitives()) - _18_valueOrError6 = _out1 - if (_18_valueOrError6).IsFailure() { - res = (_18_valueOrError6).PropagateFailure() + _out1 = m_RawECDHKeyring.Companion_Default___.DecompressPublicKey(_13_providerInfoRecipientPublicKey, (_this).CurveSpec(), (_this).CryptoPrimitives()) + _17_valueOrError5 = _out1 + if (_17_valueOrError5).IsFailure() { + res = (_17_valueOrError5).PropagateFailure() return res } - var _19_recipientPublicKey _dafny.Sequence - _ = _19_recipientPublicKey - _19_recipientPublicKey = (_18_valueOrError6).Extract().(_dafny.Sequence) - var _20_valueOrError7 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(false) - _ = _20_valueOrError7 + var _18_recipientPublicKey _dafny.Sequence + _ = _18_recipientPublicKey + _18_recipientPublicKey = (_17_valueOrError5).Extract().(_dafny.Sequence) + var _19_valueOrError6 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(false) + _ = _19_valueOrError6 var _out2 m_Wrappers.Result _ = _out2 - _out2 = m_RawECDHKeyring.Companion_Default___.ValidatePublicKey((_this).CryptoPrimitives(), (_this).CurveSpec(), _17_senderPublicKey) - _20_valueOrError7 = _out2 - if (_20_valueOrError7).IsFailure() { - res = (_20_valueOrError7).PropagateFailure() + _out2 = m_RawECDHKeyring.Companion_Default___.ValidatePublicKey((_this).CryptoPrimitives(), (_this).CurveSpec(), _16_senderPublicKey) + _19_valueOrError6 = _out2 + if (_19_valueOrError6).IsFailure() { + res = (_19_valueOrError6).PropagateFailure() return res } - var _21___v0 bool - _ = _21___v0 - _21___v0 = (_20_valueOrError7).Extract().(bool) - var _22_valueOrError8 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(false) - _ = _22_valueOrError8 + var _20___v0 bool + _ = _20___v0 + _20___v0 = (_19_valueOrError6).Extract().(bool) + var _21_valueOrError7 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(false) + _ = _21_valueOrError7 var _out3 m_Wrappers.Result _ = _out3 - _out3 = m_RawECDHKeyring.Companion_Default___.ValidatePublicKey((_this).CryptoPrimitives(), (_this).CurveSpec(), _19_recipientPublicKey) - _22_valueOrError8 = _out3 - if (_22_valueOrError8).IsFailure() { - res = (_22_valueOrError8).PropagateFailure() + _out3 = m_RawECDHKeyring.Companion_Default___.ValidatePublicKey((_this).CryptoPrimitives(), (_this).CurveSpec(), _18_recipientPublicKey) + _21_valueOrError7 = _out3 + if (_21_valueOrError7).IsFailure() { + res = (_21_valueOrError7).PropagateFailure() return res } - var _23___v1 bool - _ = _23___v1 - _23___v1 = (_22_valueOrError8).Extract().(bool) - var _24_valueOrError9 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() - _ = _24_valueOrError9 - _24_valueOrError9 = m_Wrappers.Companion_Default___.Need((m_ComAmazonawsKmsTypes.Companion_Default___.IsValid__PublicKeyType(_17_senderPublicKey)) && (m_ComAmazonawsKmsTypes.Companion_Default___.IsValid__PublicKeyType((_this).RecipientPublicKey())), Companion_Default___.E(_dafny.SeqOfString("Received serialized sender public key of incorrect length"))) - if (_24_valueOrError9).IsFailure() { - res = (_24_valueOrError9).PropagateFailure() + var _22___v1 bool + _ = _22___v1 + _22___v1 = (_21_valueOrError7).Extract().(bool) + var _23_valueOrError8 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() + _ = _23_valueOrError8 + _23_valueOrError8 = m_Wrappers.Companion_Default___.Need((m_ComAmazonawsKmsTypes.Companion_Default___.IsValid__PublicKeyType(_16_senderPublicKey)) && (m_ComAmazonawsKmsTypes.Companion_Default___.IsValid__PublicKeyType((_this).RecipientPublicKey())), Companion_Default___.E(_dafny.SeqOfString("Received serialized sender public key of incorrect length"))) + if (_23_valueOrError8).IsFailure() { + res = (_23_valueOrError8).PropagateFailure() return res } - var _25_sharedSecretPublicKey _dafny.Sequence = _dafny.EmptySeq - _ = _25_sharedSecretPublicKey - var _26_sharedSecretKmsKeyId _dafny.Sequence = _dafny.EmptySeq.SetString() - _ = _26_sharedSecretKmsKeyId + var _24_sharedSecretPublicKey _dafny.Sequence = _dafny.EmptySeq + _ = _24_sharedSecretPublicKey + var _25_sharedSecretKmsKeyId _dafny.Sequence = _dafny.EmptySeq.SetString() + _ = _25_sharedSecretKmsKeyId var _source0 m_AwsCryptographyMaterialProvidersTypes.KmsEcdhStaticConfigurations = (_this).KeyAgreementScheme() _ = _source0 { { if _source0.Is_KmsPublicKeyDiscovery() { - var _27_kmsPublicKeyDiscovery m_AwsCryptographyMaterialProvidersTypes.KmsPublicKeyDiscoveryInput = _source0.Get_().(m_AwsCryptographyMaterialProvidersTypes.KmsEcdhStaticConfigurations_KmsPublicKeyDiscovery).KmsPublicKeyDiscovery - _ = _27_kmsPublicKeyDiscovery + var _26_kmsPublicKeyDiscovery m_AwsCryptographyMaterialProvidersTypes.KmsPublicKeyDiscoveryInput = _source0.Get_().(m_AwsCryptographyMaterialProvidersTypes.KmsEcdhStaticConfigurations_KmsPublicKeyDiscovery).KmsPublicKeyDiscovery + _ = _26_kmsPublicKeyDiscovery { - var _28_valueOrError10 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.TupleOf()) - _ = _28_valueOrError10 - _28_valueOrError10 = m_AwsKmsUtils.Companion_Default___.ValidateKmsKeyId((_27_kmsPublicKeyDiscovery).Dtor_recipientKmsIdentifier()) - if (_28_valueOrError10).IsFailure() { - res = (_28_valueOrError10).PropagateFailure() + var _27_valueOrError9 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.TupleOf()) + _ = _27_valueOrError9 + _27_valueOrError9 = m_AwsKmsUtils.Companion_Default___.ValidateKmsKeyId((_26_kmsPublicKeyDiscovery).Dtor_recipientKmsIdentifier()) + if (_27_valueOrError9).IsFailure() { + res = (_27_valueOrError9).PropagateFailure() return res } - var _29___v2 _dafny.Tuple - _ = _29___v2 - _29___v2 = (_28_valueOrError10).Extract().(_dafny.Tuple) - _25_sharedSecretPublicKey = _17_senderPublicKey - _26_sharedSecretKmsKeyId = (_27_kmsPublicKeyDiscovery).Dtor_recipientKmsIdentifier() + var _28___v2 _dafny.Tuple + _ = _28___v2 + _28___v2 = (_27_valueOrError9).Extract().(_dafny.Tuple) + _24_sharedSecretPublicKey = _16_senderPublicKey + _25_sharedSecretKmsKeyId = (_26_kmsPublicKeyDiscovery).Dtor_recipientKmsIdentifier() } goto Lmatch0 } } { - var _30_kmsPrivateKeyToStaticPublicKey m_AwsCryptographyMaterialProvidersTypes.KmsPrivateKeyToStaticPublicKeyInput = _source0.Get_().(m_AwsCryptographyMaterialProvidersTypes.KmsEcdhStaticConfigurations_KmsPrivateKeyToStaticPublicKey).KmsPrivateKeyToStaticPublicKey - _ = _30_kmsPrivateKeyToStaticPublicKey + var _29_kmsPrivateKeyToStaticPublicKey m_AwsCryptographyMaterialProvidersTypes.KmsPrivateKeyToStaticPublicKeyInput = _source0.Get_().(m_AwsCryptographyMaterialProvidersTypes.KmsEcdhStaticConfigurations_KmsPrivateKeyToStaticPublicKey).KmsPrivateKeyToStaticPublicKey + _ = _29_kmsPrivateKeyToStaticPublicKey { - var _31_valueOrError11 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.TupleOf()) - _ = _31_valueOrError11 - _31_valueOrError11 = m_AwsKmsUtils.Companion_Default___.ValidateKmsKeyId((_30_kmsPrivateKeyToStaticPublicKey).Dtor_senderKmsIdentifier()) - if (_31_valueOrError11).IsFailure() { - res = (_31_valueOrError11).PropagateFailure() + var _30_valueOrError10 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.TupleOf()) + _ = _30_valueOrError10 + _30_valueOrError10 = m_AwsKmsUtils.Companion_Default___.ValidateKmsKeyId((_29_kmsPrivateKeyToStaticPublicKey).Dtor_senderKmsIdentifier()) + if (_30_valueOrError10).IsFailure() { + res = (_30_valueOrError10).PropagateFailure() return res } - var _32___v3 _dafny.Tuple - _ = _32___v3 - _32___v3 = (_31_valueOrError11).Extract().(_dafny.Tuple) - _26_sharedSecretKmsKeyId = (_30_kmsPrivateKeyToStaticPublicKey).Dtor_senderKmsIdentifier() - if _dafny.Companion_Sequence_.Equal((_30_kmsPrivateKeyToStaticPublicKey).Dtor_recipientPublicKey(), _19_recipientPublicKey) { - _25_sharedSecretPublicKey = _19_recipientPublicKey + var _31___v3 _dafny.Tuple + _ = _31___v3 + _31___v3 = (_30_valueOrError10).Extract().(_dafny.Tuple) + _25_sharedSecretKmsKeyId = (_29_kmsPrivateKeyToStaticPublicKey).Dtor_senderKmsIdentifier() + if _dafny.Companion_Sequence_.Equal((_29_kmsPrivateKeyToStaticPublicKey).Dtor_recipientPublicKey(), _18_recipientPublicKey) { + _24_sharedSecretPublicKey = _18_recipientPublicKey } else { - _25_sharedSecretPublicKey = _17_senderPublicKey + _24_sharedSecretPublicKey = _16_senderPublicKey } } } goto Lmatch0 } Lmatch0: - var _33_valueOrError12 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() - _ = _33_valueOrError12 - _33_valueOrError12 = m_Wrappers.Companion_Default___.Need(m_ComAmazonawsKmsTypes.Companion_Default___.IsValid__PublicKeyType(_25_sharedSecretPublicKey), Companion_Default___.E(_dafny.SeqOfString("Received Recipient Public Key of incorrect expected length"))) - if (_33_valueOrError12).IsFailure() { - res = (_33_valueOrError12).PropagateFailure() + var _32_valueOrError11 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() + _ = _32_valueOrError11 + _32_valueOrError11 = m_Wrappers.Companion_Default___.Need(m_ComAmazonawsKmsTypes.Companion_Default___.IsValid__PublicKeyType(_24_sharedSecretPublicKey), Companion_Default___.E(_dafny.SeqOfString("Received Recipient Public Key of incorrect expected length"))) + if (_32_valueOrError11).IsFailure() { + res = (_32_valueOrError11).PropagateFailure() return res } - var _34_valueOrError13 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) - _ = _34_valueOrError13 + var _33_valueOrError12 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) + _ = _33_valueOrError12 var _out4 m_Wrappers.Result _ = _out4 - _out4 = Companion_Default___.DeriveSharedSecret((_this).Client(), _26_sharedSecretKmsKeyId, _25_sharedSecretPublicKey, (_this).GrantTokens()) - _34_valueOrError13 = _out4 - if (_34_valueOrError13).IsFailure() { - res = (_34_valueOrError13).PropagateFailure() + _out4 = Companion_Default___.DeriveSharedSecret((_this).Client(), _25_sharedSecretKmsKeyId, _24_sharedSecretPublicKey, (_this).GrantTokens()) + _33_valueOrError12 = _out4 + if (_33_valueOrError12).IsFailure() { + res = (_33_valueOrError12).PropagateFailure() return res } - var _35_sharedSecret _dafny.Sequence - _ = _35_sharedSecret - _35_sharedSecret = (_34_valueOrError13).Extract().(_dafny.Sequence) - var _36_ecdhUnwrap *m_EcdhEdkWrapping.EcdhUnwrap - _ = _36_ecdhUnwrap + var _34_sharedSecret _dafny.Sequence + _ = _34_sharedSecret + _34_sharedSecret = (_33_valueOrError12).Extract().(_dafny.Sequence) + var _35_ecdhUnwrap *m_EcdhEdkWrapping.EcdhUnwrap + _ = _35_ecdhUnwrap var _nw0 *m_EcdhEdkWrapping.EcdhUnwrap = m_EcdhEdkWrapping.New_EcdhUnwrap_() _ = _nw0 - _nw0.Ctor__(_15_providerInfoSenderPublicKey, _14_providerInfoRecipientPublicKey, _35_sharedSecret, Companion_Default___.AWS__KMS__ECDH__KEYRING__VERSION(), (_this).CurveSpec(), (_this).CryptoPrimitives()) - _36_ecdhUnwrap = _nw0 - var _37_unwrapOutputRes m_Wrappers.Result - _ = _37_unwrapOutputRes + _nw0.Ctor__(_14_providerInfoSenderPublicKey, _13_providerInfoRecipientPublicKey, _34_sharedSecret, Companion_Default___.AWS__KMS__ECDH__KEYRING__VERSION(), (_this).CurveSpec(), (_this).CryptoPrimitives()) + _35_ecdhUnwrap = _nw0 + var _36_unwrapOutputRes m_Wrappers.Result + _ = _36_unwrapOutputRes var _out5 m_Wrappers.Result _ = _out5 - _out5 = m_EdkWrapping.Companion_Default___.UnwrapEdkMaterial((edk).Dtor_ciphertext(), (_this).Materials(), _36_ecdhUnwrap) - _37_unwrapOutputRes = _out5 - var _38_valueOrError14 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_EdkWrapping.Companion_UnwrapEdkMaterialOutput_.Default(m_EcdhEdkWrapping.Companion_EcdhUnwrapInfo_.Default())) - _ = _38_valueOrError14 - _38_valueOrError14 = _37_unwrapOutputRes - if (_38_valueOrError14).IsFailure() { - res = (_38_valueOrError14).PropagateFailure() + _out5 = m_EdkWrapping.Companion_Default___.UnwrapEdkMaterial((edk).Dtor_ciphertext(), (_this).Materials(), _35_ecdhUnwrap) + _36_unwrapOutputRes = _out5 + var _37_valueOrError13 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_EdkWrapping.Companion_UnwrapEdkMaterialOutput_.Default(m_EcdhEdkWrapping.Companion_EcdhUnwrapInfo_.Default())) + _ = _37_valueOrError13 + _37_valueOrError13 = _36_unwrapOutputRes + if (_37_valueOrError13).IsFailure() { + res = (_37_valueOrError13).PropagateFailure() return res } - var _39_unwrapOutput m_EdkWrapping.UnwrapEdkMaterialOutput - _ = _39_unwrapOutput - _39_unwrapOutput = (_38_valueOrError14).Extract().(m_EdkWrapping.UnwrapEdkMaterialOutput) - var _40_valueOrError15 m_Wrappers.Result = m_Wrappers.Result{} - _ = _40_valueOrError15 - _40_valueOrError15 = m_Materials.Companion_Default___.DecryptionMaterialsAddDataKey((_this).Materials(), (_39_unwrapOutput).Dtor_plaintextDataKey(), (_39_unwrapOutput).Dtor_symmetricSigningKey()) - if (_40_valueOrError15).IsFailure() { - res = (_40_valueOrError15).PropagateFailure() + var _38_unwrapOutput m_EdkWrapping.UnwrapEdkMaterialOutput + _ = _38_unwrapOutput + _38_unwrapOutput = (_37_valueOrError13).Extract().(m_EdkWrapping.UnwrapEdkMaterialOutput) + var _39_valueOrError14 m_Wrappers.Result = m_Wrappers.Result{} + _ = _39_valueOrError14 + _39_valueOrError14 = m_Materials.Companion_Default___.DecryptionMaterialsAddDataKey((_this).Materials(), (_38_unwrapOutput).Dtor_plaintextDataKey(), (_38_unwrapOutput).Dtor_symmetricSigningKey()) + if (_39_valueOrError14).IsFailure() { + res = (_39_valueOrError14).PropagateFailure() return res } - var _41_result m_AwsCryptographyMaterialProvidersTypes.DecryptionMaterials - _ = _41_result - _41_result = (_40_valueOrError15).Extract().(m_AwsCryptographyMaterialProvidersTypes.DecryptionMaterials) - res = m_Wrappers.Companion_Result_.Create_Success_(_41_result) + var _40_result m_AwsCryptographyMaterialProvidersTypes.DecryptionMaterials + _ = _40_result + _40_result = (_39_valueOrError14).Extract().(m_AwsCryptographyMaterialProvidersTypes.DecryptionMaterials) + res = m_Wrappers.Companion_Result_.Create_Success_(_40_result) return res return res } @@ -1119,14 +1088,14 @@ func (_this *OnDecryptEcdhDataKeyFilter) Invoke(edk interface{}) interface{} { } var _2_valueOrError0 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _2_valueOrError0 - _2_valueOrError0 = m_Wrappers.Companion_Default___.Need(((_dafny.IntOfUint32((_0_providerInfo).Cardinality())).Cmp(_dafny.IntOfUint32(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__521__LEN())) <= 0) && (m_RawECDHKeyring.Companion_Default___.ValidProviderInfoLength(_0_providerInfo)), Companion_Default___.E(_dafny.SeqOfString("EDK ProviderInfo longer than expected"))) + _2_valueOrError0 = m_Wrappers.Companion_Default___.Need(((uint64((_0_providerInfo).Cardinality())) <= (uint64(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__521__LEN()))) && (m_RawECDHKeyring.Companion_Default___.ValidProviderInfoLength(_0_providerInfo)), Companion_Default___.E(_dafny.SeqOfString("EDK ProviderInfo longer than expected"))) if (_2_valueOrError0).IsFailure() { res = (_2_valueOrError0).PropagateFailure() return res } var _3_keyringVersion uint8 _ = _3_keyringVersion - _3_keyringVersion = (_0_providerInfo).Select(0).(uint8) + _3_keyringVersion = (_0_providerInfo).Select(uint32(uint32(0))).(uint8) var _4_valueOrError1 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _4_valueOrError1 _4_valueOrError1 = m_Wrappers.Companion_Default___.Need(_dafny.Companion_Sequence_.Equal(_dafny.SeqOf(_3_keyringVersion), Companion_Default___.AWS__KMS__ECDH__KEYRING__VERSION()), Companion_Default___.E(_dafny.SeqOfString("Incorrect Keyring version found in provider info."))) @@ -1134,28 +1103,28 @@ func (_this *OnDecryptEcdhDataKeyFilter) Invoke(edk interface{}) interface{} { res = (_4_valueOrError1).PropagateFailure() return res } - var _5_recipientPublicKeyLength _dafny.Int + var _5_recipientPublicKeyLength uint32 _ = _5_recipientPublicKeyLength - _5_recipientPublicKeyLength = _dafny.IntOfUint32(m_StandardLibrary_UInt.Companion_Default___.SeqToUInt32((_0_providerInfo).Subsequence(uint32(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__RPL__INDEX()), uint32(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__RPK__INDEX())))) - var _6_recipientPublicKeyLengthIndex _dafny.Int + _5_recipientPublicKeyLength = m_StandardLibrary_UInt.Companion_Default___.SeqToUInt32((_0_providerInfo).Subsequence(uint32(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__RPL__INDEX()), uint32(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__RPK__INDEX()))) + var _6_recipientPublicKeyLengthIndex uint64 _ = _6_recipientPublicKeyLengthIndex - _6_recipientPublicKeyLengthIndex = (_dafny.IntOfUint32(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__RPK__INDEX())).Plus(_5_recipientPublicKeyLength) - var _7_senderPublicKeyIndex _dafny.Int + _6_recipientPublicKeyLengthIndex = (uint64(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__RPK__INDEX())) + (uint64(_5_recipientPublicKeyLength)) + var _7_senderPublicKeyIndex uint64 _ = _7_senderPublicKeyIndex - _7_senderPublicKeyIndex = (_6_recipientPublicKeyLengthIndex).Plus(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__PUBLIC__KEY__LEN()) + _7_senderPublicKeyIndex = (_6_recipientPublicKeyLengthIndex) + (m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__PUBLIC__KEY__LEN()) var _8_valueOrError2 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _8_valueOrError2 - _8_valueOrError2 = m_Wrappers.Companion_Default___.Need(((_6_recipientPublicKeyLengthIndex).Plus(_dafny.IntOfInt64(4))).Cmp(_dafny.IntOfUint32((_0_providerInfo).Cardinality())) < 0, Companion_Default___.E(_dafny.SeqOfString("Key Provider Info Serialization Error. Serialized length less than expected."))) + _8_valueOrError2 = m_Wrappers.Companion_Default___.Need(((_6_recipientPublicKeyLengthIndex)+(uint64(4))) < (uint64((_0_providerInfo).Cardinality())), Companion_Default___.E(_dafny.SeqOfString("Key Provider Info Serialization Error. Serialized length less than expected."))) if (_8_valueOrError2).IsFailure() { res = (_8_valueOrError2).PropagateFailure() return res } var _9_providerInfoRecipientPublicKey _dafny.Sequence _ = _9_providerInfoRecipientPublicKey - _9_providerInfoRecipientPublicKey = (_0_providerInfo).Subsequence(uint32(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__RPK__INDEX()), (_6_recipientPublicKeyLengthIndex).Uint32()) + _9_providerInfoRecipientPublicKey = (_0_providerInfo).Subsequence(uint32(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__RPK__INDEX()), uint32(_6_recipientPublicKeyLengthIndex)) var _10_providerInfoSenderPublicKey _dafny.Sequence _ = _10_providerInfoSenderPublicKey - _10_providerInfoSenderPublicKey = (_0_providerInfo).Drop((_7_senderPublicKeyIndex).Uint32()) + _10_providerInfoSenderPublicKey = (_0_providerInfo).Drop(uint32(_7_senderPublicKeyIndex)) if ((_this).KeyAgreementScheme()).Is_KmsPublicKeyDiscovery() { res = m_Wrappers.Companion_Result_.Create_Success_(_dafny.Companion_Sequence_.Equal((_this).CompressedRecipientPublicKey(), _9_providerInfoRecipientPublicKey)) return res diff --git a/releases/go/mpl/AwsKmsHierarchicalKeyring/AwsKmsHierarchicalKeyring.go b/releases/go/mpl/AwsKmsHierarchicalKeyring/AwsKmsHierarchicalKeyring.go index 5492fc6deb..e8634dd94c 100644 --- a/releases/go/mpl/AwsKmsHierarchicalKeyring/AwsKmsHierarchicalKeyring.go +++ b/releases/go/mpl/AwsKmsHierarchicalKeyring/AwsKmsHierarchicalKeyring.go @@ -16,10 +16,8 @@ import ( m_AwsCryptographyKeyStoreTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreTypes" m_AwsCryptographyMaterialProvidersTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" m_AwsKmsDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsDiscoveryKeyring" + m_AwsKmsEcdhKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsEcdhKeyring" m_AwsKmsKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsKeyring" - m_AwsKmsMrkAreUnique "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkAreUnique" - m_AwsKmsMrkDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkDiscoveryKeyring" - m_AwsKmsMrkKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkKeyring" m_AwsKmsMrkMatchForDecrypt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkMatchForDecrypt" m_AwsKmsUtils "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsUtils" m_CacheConstants "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CacheConstants" @@ -28,7 +26,7 @@ import ( m_CreateKeyStoreTable "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeyStoreTable" m_CreateKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeys" m_DDBKeystoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DDBKeystoreOperations" - m_DiscoveryMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DiscoveryMultiKeyring" + m_EcdhEdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EcdhEdkWrapping" m_EdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EdkWrapping" m_ErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/ErrorMessages" m_GetKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/GetKeys" @@ -41,12 +39,11 @@ import ( m_LocalCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/LocalCMC" m_MaterialWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MaterialWrapping" m_Materials "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Materials" - m_MrkAwareDiscoveryMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MrkAwareDiscoveryMultiKeyring" - m_MrkAwareStrictMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MrkAwareStrictMultiKeyring" - m_MultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MultiKeyring" + m_RawAESKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawAESKeyring" + m_RawECDHKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawECDHKeyring" + m_RawRSAKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawRSAKeyring" m_StormTracker "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StormTracker" m_StormTrackingCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StormTrackingCMC" - m_StrictMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StrictMultiKeyring" m_Structure "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Structure" m_SynchronizedLocalCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/SynchronizedLocalCMC" m_AtomicPrimitives "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AtomicPrimitives" @@ -85,6 +82,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -107,6 +105,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -171,22 +170,19 @@ var _ m_KeyStore.Dummy__ var _ m_AlgorithmSuites.Dummy__ var _ m_Materials.Dummy__ var _ m_Keyring.Dummy__ -var _ m_MultiKeyring.Dummy__ -var _ m_AwsKmsMrkAreUnique.Dummy__ -var _ m_Constants.Dummy__ -var _ m_MaterialWrapping.Dummy__ var _ m_CanonicalEncryptionContext.Dummy__ +var _ m_MaterialWrapping.Dummy__ var _ m_IntermediateKeyWrapping.Dummy__ var _ m_EdkWrapping.Dummy__ var _ m_ErrorMessages.Dummy__ +var _ m_RawAESKeyring.Dummy__ +var _ m_Constants.Dummy__ +var _ m_EcdhEdkWrapping.Dummy__ +var _ m_RawECDHKeyring.Dummy__ +var _ m_RawRSAKeyring.Dummy__ var _ m_AwsKmsKeyring.Dummy__ -var _ m_StrictMultiKeyring.Dummy__ var _ m_AwsKmsDiscoveryKeyring.Dummy__ -var _ m_DiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkDiscoveryKeyring.Dummy__ -var _ m_MrkAwareDiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkKeyring.Dummy__ -var _ m_MrkAwareStrictMultiKeyring.Dummy__ +var _ m_AwsKmsEcdhKeyring.Dummy__ var _ m_LocalCMC.Dummy__ var _ m_SynchronizedLocalCMC.Dummy__ var _ m_StormTracker.Dummy__ @@ -243,9 +239,9 @@ func (_static *CompanionStruct_Default___) DeriveEncryptionKeyFromBranchKey(bran _0_maybeDerivedBranchKey = _out0 var _1_valueOrError0 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) _ = _1_valueOrError0 - _1_valueOrError0 = (_0_maybeDerivedBranchKey).MapFailure(func(coer75 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg76 interface{}) interface{} { - return coer75(arg76.(m_AwsCryptographyPrimitivesTypes.Error)) + _1_valueOrError0 = (_0_maybeDerivedBranchKey).MapFailure(func(coer85 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg86 interface{}) interface{} { + return coer85(arg86.(m_AwsCryptographyPrimitivesTypes.Error)) } }(func(_2_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_2_e) @@ -399,16 +395,16 @@ var _ m_AwsCryptographyMaterialProvidersTypes.IKeyring = &AwsKmsHierarchicalKeyr var _ _dafny.TraitOffspring = &AwsKmsHierarchicalKeyring{} func (_this *AwsKmsHierarchicalKeyring) OnDecrypt(input m_AwsCryptographyMaterialProvidersTypes.OnDecryptInput) m_Wrappers.Result { - var _out6 m_Wrappers.Result - _ = _out6 - _out6 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnDecrypt(_this, input) - return _out6 + var _out7 m_Wrappers.Result + _ = _out7 + _out7 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnDecrypt(_this, input) + return _out7 } func (_this *AwsKmsHierarchicalKeyring) OnEncrypt(input m_AwsCryptographyMaterialProvidersTypes.OnEncryptInput) m_Wrappers.Result { - var _out6 m_Wrappers.Result - _ = _out6 - _out6 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnEncrypt(_this, input) - return _out6 + var _out7 m_Wrappers.Result + _ = _out7 + _out7 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnEncrypt(_this, input) + return _out7 } func (_this *AwsKmsHierarchicalKeyring) Ctor__(keyStore m_AwsCryptographyKeyStoreTypes.IKeyStoreClient, branchKeyId m_Wrappers.Option, branchKeyIdSupplier m_Wrappers.Option, ttlSeconds int64, cmc m_AwsCryptographyMaterialProvidersTypes.ICryptographicMaterialsCache, partitionIdBytes _dafny.Sequence, logicalKeyStoreNameBytes _dafny.Sequence, cryptoPrimitives *m_AtomicPrimitives.AtomicPrimitivesClient) { { @@ -474,9 +470,9 @@ func (_this *AwsKmsHierarchicalKeyring) OnEncrypt_k(input m_AwsCryptographyMater _3_branchKeyIdForEncrypt = (_2_valueOrError0).Extract().(_dafny.Sequence) var _4_valueOrError1 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_UTF8.Companion_ValidUTF8Bytes_.Witness()) _ = _4_valueOrError1 - _4_valueOrError1 = (m_UTF8.Encode(_3_branchKeyIdForEncrypt)).MapFailure(func(coer76 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg77 interface{}) interface{} { - return coer76(arg77.(_dafny.Sequence)) + _4_valueOrError1 = (m_UTF8.Encode(_3_branchKeyIdForEncrypt)).MapFailure(func(coer86 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg87 interface{}) interface{} { + return coer86(arg87.(_dafny.Sequence)) } }(m_AwsKmsUtils.Companion_Default___.WrapStringToError)) if (_4_valueOrError1).IsFailure() { @@ -520,9 +516,9 @@ func (_this *AwsKmsHierarchicalKeyring) OnEncrypt_k(input m_AwsCryptographyMater _11_branchKeyVersion = (_9_hierarchicalMaterials).Dtor_branchKeyVersion() var _12_valueOrError4 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq.SetString()) _ = _12_valueOrError4 - _12_valueOrError4 = (m_UTF8.Decode(_11_branchKeyVersion)).MapFailure(func(coer77 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg78 interface{}) interface{} { - return coer77(arg78.(_dafny.Sequence)) + _12_valueOrError4 = (m_UTF8.Decode(_11_branchKeyVersion)).MapFailure(func(coer87 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg88 interface{}) interface{} { + return coer87(arg88.(_dafny.Sequence)) } }(m_AwsKmsUtils.Companion_Default___.WrapStringToError)) if (_12_valueOrError4).IsFailure() { @@ -534,9 +530,9 @@ func (_this *AwsKmsHierarchicalKeyring) OnEncrypt_k(input m_AwsCryptographyMater _13_branchKeyVersionAsString = (_12_valueOrError4).Extract().(_dafny.Sequence) var _14_valueOrError5 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) _ = _14_valueOrError5 - _14_valueOrError5 = (m_UUID.ToByteArray(_13_branchKeyVersionAsString)).MapFailure(func(coer78 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg79 interface{}) interface{} { - return coer78(arg79.(_dafny.Sequence)) + _14_valueOrError5 = (m_UUID.ToByteArray(_13_branchKeyVersionAsString)).MapFailure(func(coer88 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg89 interface{}) interface{} { + return coer88(arg89.(_dafny.Sequence)) } }(m_AwsKmsUtils.Companion_Default___.WrapStringToError)) if (_14_valueOrError5).IsFailure() { @@ -660,7 +656,7 @@ func (_this *AwsKmsHierarchicalKeyring) OnDecrypt_k(input m_AwsCryptographyMater var _7_edksToAttempt _dafny.Sequence _ = _7_edksToAttempt _7_edksToAttempt = (_6_valueOrError2).Extract().(_dafny.Sequence) - if (_dafny.IntOfUint32((_7_edksToAttempt).Cardinality())).Sign() == 0 { + if (uint64(0)) == (uint64((_7_edksToAttempt).Cardinality())) { var _8_valueOrError3 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq.SetString()) _ = _8_valueOrError3 _8_valueOrError3 = m_ErrorMessages.Companion_Default___.IncorrectDataKeys((input).Dtor_encryptedDataKeys(), ((input).Dtor_materials()).Dtor_algorithmSuite(), _dafny.SeqOfString("")) @@ -688,9 +684,9 @@ func (_this *AwsKmsHierarchicalKeyring) OnDecrypt_k(input m_AwsCryptographyMater _11_outcome = _out2 var _12_valueOrError4 m_Wrappers.Result = m_Wrappers.Result{} _ = _12_valueOrError4 - _12_valueOrError4 = (_11_outcome).MapFailure(func(coer79 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg80 interface{}) interface{} { - return coer79(arg80.(_dafny.Sequence)) + _12_valueOrError4 = (_11_outcome).MapFailure(func(coer89 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg90 interface{}) interface{} { + return coer89(arg90.(_dafny.Sequence)) } }(func(_13_errors _dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_CollectionOfErrors_(_13_errors, _dafny.SeqOfString("No Configured KMS Key was able to decrypt the Data Key. The list of encountered Exceptions is available via `list`.")) @@ -713,19 +709,11 @@ func (_this *AwsKmsHierarchicalKeyring) GetActiveCacheId(branchKeyId _dafny.Sequ _ = cacheId var _0_valueOrError0 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _0_valueOrError0 - _0_valueOrError0 = m_Wrappers.Companion_Default___.Need((((m_UTF8.Decode(branchKeyIdUtf8)).MapFailure(func(coer80 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg81 interface{}) interface{} { - return coer80(arg81.(_dafny.Sequence)) - } - }(m_AwsKmsUtils.Companion_Default___.WrapStringToError))).Is_Success()) && (func(_pat_let6_0 _dafny.Sequence) bool { - return func(_1_branchKeyId _dafny.Sequence) bool { - return (true) && (((_dafny.IntOfUint32((_1_branchKeyId).Cardinality())).Sign() != -1) && ((_dafny.IntOfUint32((_1_branchKeyId).Cardinality())).Cmp(m_StandardLibrary_UInt.Companion_Default___.UINT32__LIMIT()) < 0)) + _0_valueOrError0 = m_Wrappers.Companion_Default___.Need((true) && (func(_pat_let6_0 m_Wrappers.Result) bool { + return func(_1_branchKeyId m_Wrappers.Result) bool { + return ((_1_branchKeyId).Is_Success()) && (((uint64(0)) <= (uint64(((_1_branchKeyId).Dtor_value().(_dafny.Sequence)).Cardinality()))) && ((uint64(((_1_branchKeyId).Dtor_value().(_dafny.Sequence)).Cardinality())) < ((m_StandardLibrary_UInt.Companion_Default___.UINT32__LIMIT()).Uint64()))) }(_pat_let6_0) - }(((m_UTF8.Decode(branchKeyIdUtf8)).MapFailure(func(coer81 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg82 interface{}) interface{} { - return coer81(arg82.(_dafny.Sequence)) - } - }(m_AwsKmsUtils.Companion_Default___.WrapStringToError))).Dtor_value().(_dafny.Sequence))), Companion_Default___.E(_dafny.SeqOfString("Invalid Branch Key ID Length"))) + }(m_UTF8.Decode(branchKeyIdUtf8))), Companion_Default___.E(_dafny.SeqOfString("Invalid Branch Key ID Length"))) if (_0_valueOrError0).IsFailure() { cacheId = (_0_valueOrError0).PropagateFailure() return cacheId @@ -753,9 +741,9 @@ func (_this *AwsKmsHierarchicalKeyring) GetActiveCacheId(branchKeyId _dafny.Sequ _7_maybeCacheIdDigest = _out0 var _8_valueOrError1 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) _ = _8_valueOrError1 - _8_valueOrError1 = (_7_maybeCacheIdDigest).MapFailure(func(coer82 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg83 interface{}) interface{} { - return coer82(arg83.(m_AwsCryptographyPrimitivesTypes.Error)) + _8_valueOrError1 = (_7_maybeCacheIdDigest).MapFailure(func(coer90 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg91 interface{}) interface{} { + return coer90(arg91.(m_AwsCryptographyPrimitivesTypes.Error)) } }(func(_9_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_9_e) @@ -769,7 +757,7 @@ func (_this *AwsKmsHierarchicalKeyring) GetActiveCacheId(branchKeyId _dafny.Sequ _10_cacheDigest = (_8_valueOrError1).Extract().(_dafny.Sequence) var _11_valueOrError2 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _11_valueOrError2 - _11_valueOrError2 = m_Wrappers.Companion_Default___.Need((_dafny.IntOfUint32((_10_cacheDigest).Cardinality())).Cmp(m_Digest.Companion_Default___.Length(_2_hashAlgorithm)) == 0, m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Digest generated a message not equal to the expected length."))) + _11_valueOrError2 = m_Wrappers.Companion_Default___.Need((uint64((_10_cacheDigest).Cardinality())) == (m_Digest.Companion_Default___.Length(_2_hashAlgorithm)), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Digest generated a message not equal to the expected length."))) if (_11_valueOrError2).IsFailure() { cacheId = (_11_valueOrError2).PropagateFailure() return cacheId @@ -811,9 +799,9 @@ func (_this *AwsKmsHierarchicalKeyring) GetActiveHierarchicalMaterials(branchKey _3_maybeGetActiveBranchKeyOutput = _out2 var _4_valueOrError0 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_AwsCryptographyKeyStoreTypes.Companion_GetActiveBranchKeyOutput_.Default()) _ = _4_valueOrError0 - _4_valueOrError0 = (_3_maybeGetActiveBranchKeyOutput).MapFailure(func(coer83 func(m_AwsCryptographyKeyStoreTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg84 interface{}) interface{} { - return coer83(arg84.(m_AwsCryptographyKeyStoreTypes.Error)) + _4_valueOrError0 = (_3_maybeGetActiveBranchKeyOutput).MapFailure(func(coer91 func(m_AwsCryptographyKeyStoreTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg92 interface{}) interface{} { + return coer91(arg92.(m_AwsCryptographyKeyStoreTypes.Error)) } }(func(_5_e m_AwsCryptographyKeyStoreTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyKeyStore_(_5_e) @@ -859,7 +847,7 @@ func (_this *AwsKmsHierarchicalKeyring) GetActiveHierarchicalMaterials(branchKey } else { var _12_valueOrError2 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _12_valueOrError2 - _12_valueOrError2 = m_Wrappers.Companion_Default___.Need(((((_1_getCacheOutput).Dtor_value().(m_AwsCryptographyMaterialProvidersTypes.GetCacheEntryOutput)).Dtor_materials()).Is_BranchKey()) && ((((_1_getCacheOutput).Dtor_value().(m_AwsCryptographyMaterialProvidersTypes.GetCacheEntryOutput)).Dtor_materials()).Equals(m_AwsCryptographyMaterialProvidersTypes.Companion_Materials_.Create_BranchKey_((((_1_getCacheOutput).Dtor_value().(m_AwsCryptographyMaterialProvidersTypes.GetCacheEntryOutput)).Dtor_materials()).Dtor_BranchKey()))), Companion_Default___.E(_dafny.SeqOfString("Invalid Material Type."))) + _12_valueOrError2 = m_Wrappers.Companion_Default___.Need((((_1_getCacheOutput).Dtor_value().(m_AwsCryptographyMaterialProvidersTypes.GetCacheEntryOutput)).Dtor_materials()).Is_BranchKey(), Companion_Default___.E(_dafny.SeqOfString("Invalid Material Type."))) if (_12_valueOrError2).IsFailure() { material = (_12_valueOrError2).PropagateFailure() return material @@ -986,25 +974,23 @@ func (_this *OnDecryptHierarchyEncryptedDataKeyFilter) Invoke(edk interface{}) i res = m_Wrappers.Companion_Result_.Create_Success_(false) return res } - if !(m_UTF8.Companion_Default___.ValidUTF8Seq(_0_providerInfo)) { - res = m_Wrappers.Companion_Result_.Create_Failure_(Companion_Default___.E(_dafny.SeqOfString("Invalid encoding, provider info is not UTF8."))) - return res - } var _2_valueOrError0 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq.SetString()) _ = _2_valueOrError0 - _2_valueOrError0 = (m_UTF8.Decode(_0_providerInfo)).MapFailure(func(coer84 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg85 interface{}) interface{} { - return coer84(arg85.(_dafny.Sequence)) + _2_valueOrError0 = (m_UTF8.Decode(_0_providerInfo)).MapFailure(func(coer92 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg93 interface{}) interface{} { + return coer92(arg93.(_dafny.Sequence)) } - }(m_AwsKmsUtils.Companion_Default___.WrapStringToError)) + }(func(_3_e _dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error { + return Companion_Default___.E(_dafny.SeqOfString("Invalid encoding, provider info is not UTF8.")) + })) if (_2_valueOrError0).IsFailure() { res = (_2_valueOrError0).PropagateFailure() return res } - var _3_branchKeyId _dafny.Sequence - _ = _3_branchKeyId - _3_branchKeyId = (_2_valueOrError0).Extract().(_dafny.Sequence) - res = m_Wrappers.Companion_Result_.Create_Success_(_dafny.Companion_Sequence_.Equal((_this).BranchKeyId(), _3_branchKeyId)) + var _4_branchKeyId _dafny.Sequence + _ = _4_branchKeyId + _4_branchKeyId = (_2_valueOrError0).Extract().(_dafny.Sequence) + res = m_Wrappers.Companion_Result_.Create_Success_(_dafny.Companion_Sequence_.Equal((_this).BranchKeyId(), _4_branchKeyId)) return res return res } @@ -1101,177 +1087,170 @@ func (_this *DecryptSingleEncryptedDataKey) Invoke(edk interface{}) interface{} _ = edk var res m_Wrappers.Result = m_Wrappers.Result{} _ = res - var _0_valueOrError0 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() - _ = _0_valueOrError0 - _0_valueOrError0 = m_Wrappers.Companion_Default___.Need(m_UTF8.Companion_Default___.ValidUTF8Seq((edk).Dtor_keyProviderInfo()), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Received invalid EDK provider info for Hierarchical Keyring"))) - if (_0_valueOrError0).IsFailure() { - res = (_0_valueOrError0).PropagateFailure() - return res - } - var _1_suite m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo - _ = _1_suite - _1_suite = ((_this).Materials()).Dtor_algorithmSuite() - var _2_keyProviderId _dafny.Sequence - _ = _2_keyProviderId - _2_keyProviderId = (edk).Dtor_keyProviderId() - var _3_branchKeyIdUtf8 _dafny.Sequence - _ = _3_branchKeyIdUtf8 - _3_branchKeyIdUtf8 = (edk).Dtor_keyProviderInfo() - var _4_ciphertext _dafny.Sequence - _ = _4_ciphertext - _4_ciphertext = (edk).Dtor_ciphertext() - var _5_valueOrError1 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) - _ = _5_valueOrError1 - _5_valueOrError1 = m_EdkWrapping.Companion_Default___.GetProviderWrappedMaterial(_4_ciphertext, _1_suite) - if (_5_valueOrError1).IsFailure() { - res = (_5_valueOrError1).PropagateFailure() + var _0_suite m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo + _ = _0_suite + _0_suite = ((_this).Materials()).Dtor_algorithmSuite() + var _1_keyProviderId _dafny.Sequence + _ = _1_keyProviderId + _1_keyProviderId = (edk).Dtor_keyProviderId() + var _2_branchKeyIdUtf8 _dafny.Sequence + _ = _2_branchKeyIdUtf8 + _2_branchKeyIdUtf8 = (edk).Dtor_keyProviderInfo() + var _3_ciphertext _dafny.Sequence + _ = _3_ciphertext + _3_ciphertext = (edk).Dtor_ciphertext() + var _4_valueOrError0 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) + _ = _4_valueOrError0 + _4_valueOrError0 = m_EdkWrapping.Companion_Default___.GetProviderWrappedMaterial(_3_ciphertext, _0_suite) + if (_4_valueOrError0).IsFailure() { + res = (_4_valueOrError0).PropagateFailure() return res } - var _6_providerWrappedMaterial _dafny.Sequence - _ = _6_providerWrappedMaterial - _6_providerWrappedMaterial = (_5_valueOrError1).Extract().(_dafny.Sequence) - var _7_valueOrError2 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() - _ = _7_valueOrError2 - _7_valueOrError2 = m_Wrappers.Companion_Default___.Need((_dafny.IntOfUint32((_6_providerWrappedMaterial).Cardinality())).Cmp(_dafny.IntOfInt32(Companion_Default___.EDK__CIPHERTEXT__VERSION__INDEX())) >= 0, m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Received EDK Ciphertext of incorrect length."))) - if (_7_valueOrError2).IsFailure() { - res = (_7_valueOrError2).PropagateFailure() + var _5_providerWrappedMaterial _dafny.Sequence + _ = _5_providerWrappedMaterial + _5_providerWrappedMaterial = (_4_valueOrError0).Extract().(_dafny.Sequence) + var _6_valueOrError1 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() + _ = _6_valueOrError1 + _6_valueOrError1 = m_Wrappers.Companion_Default___.Need((uint64((_5_providerWrappedMaterial).Cardinality())) >= (uint64(Companion_Default___.EDK__CIPHERTEXT__VERSION__INDEX())), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Received EDK Ciphertext of incorrect length."))) + if (_6_valueOrError1).IsFailure() { + res = (_6_valueOrError1).PropagateFailure() return res } - var _8_branchKeyVersionUuid _dafny.Sequence - _ = _8_branchKeyVersionUuid - _8_branchKeyVersionUuid = (_6_providerWrappedMaterial).Subsequence(uint32(Companion_Default___.EDK__CIPHERTEXT__BRANCH__KEY__VERSION__INDEX()), uint32(Companion_Default___.EDK__CIPHERTEXT__VERSION__INDEX())) - var _9_valueOrError3 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq.SetString()) - _ = _9_valueOrError3 - _9_valueOrError3 = (m_UUID.FromByteArray(_8_branchKeyVersionUuid)).MapFailure(func(coer85 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg86 interface{}) interface{} { - return coer85(arg86.(_dafny.Sequence)) + var _7_branchKeyVersionUuid _dafny.Sequence + _ = _7_branchKeyVersionUuid + _7_branchKeyVersionUuid = (_5_providerWrappedMaterial).Subsequence(uint32(Companion_Default___.EDK__CIPHERTEXT__BRANCH__KEY__VERSION__INDEX()), uint32(Companion_Default___.EDK__CIPHERTEXT__VERSION__INDEX())) + var _8_valueOrError2 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq.SetString()) + _ = _8_valueOrError2 + _8_valueOrError2 = (m_UUID.FromByteArray(_7_branchKeyVersionUuid)).MapFailure(func(coer93 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg94 interface{}) interface{} { + return coer93(arg94.(_dafny.Sequence)) } }(m_AwsKmsUtils.Companion_Default___.WrapStringToError)) - if (_9_valueOrError3).IsFailure() { - res = (_9_valueOrError3).PropagateFailure() + if (_8_valueOrError2).IsFailure() { + res = (_8_valueOrError2).PropagateFailure() return res } - var _10_version _dafny.Sequence - _ = _10_version - _10_version = (_9_valueOrError3).Extract().(_dafny.Sequence) - var _11_valueOrError4 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) - _ = _11_valueOrError4 + var _9_version _dafny.Sequence + _ = _9_version + _9_version = (_8_valueOrError2).Extract().(_dafny.Sequence) + var _10_valueOrError3 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) + _ = _10_valueOrError3 var _out0 m_Wrappers.Result _ = _out0 - _out0 = (_this).GetVersionCacheId(_3_branchKeyIdUtf8, _10_version, (_this).CryptoPrimitives()) - _11_valueOrError4 = _out0 - if (_11_valueOrError4).IsFailure() { - res = (_11_valueOrError4).PropagateFailure() + _out0 = (_this).GetVersionCacheId(_2_branchKeyIdUtf8, _9_version, (_this).CryptoPrimitives()) + _10_valueOrError3 = _out0 + if (_10_valueOrError3).IsFailure() { + res = (_10_valueOrError3).PropagateFailure() return res } - var _12_cacheId _dafny.Sequence - _ = _12_cacheId - _12_cacheId = (_11_valueOrError4).Extract().(_dafny.Sequence) - var _13_valueOrError5 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_AwsCryptographyKeyStoreTypes.Companion_BranchKeyMaterials_.Default()) - _ = _13_valueOrError5 + var _11_cacheId _dafny.Sequence + _ = _11_cacheId + _11_cacheId = (_10_valueOrError3).Extract().(_dafny.Sequence) + var _12_valueOrError4 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_AwsCryptographyKeyStoreTypes.Companion_BranchKeyMaterials_.Default()) + _ = _12_valueOrError4 var _out1 m_Wrappers.Result _ = _out1 - _out1 = (_this).GetHierarchicalMaterialsVersion((_this).BranchKeyId(), _3_branchKeyIdUtf8, _10_version, _12_cacheId) - _13_valueOrError5 = _out1 - if (_13_valueOrError5).IsFailure() { - res = (_13_valueOrError5).PropagateFailure() + _out1 = (_this).GetHierarchicalMaterialsVersion((_this).BranchKeyId(), _2_branchKeyIdUtf8, _9_version, _11_cacheId) + _12_valueOrError4 = _out1 + if (_12_valueOrError4).IsFailure() { + res = (_12_valueOrError4).PropagateFailure() return res } - var _14_hierarchicalMaterials m_AwsCryptographyKeyStoreTypes.BranchKeyMaterials - _ = _14_hierarchicalMaterials - _14_hierarchicalMaterials = (_13_valueOrError5).Extract().(m_AwsCryptographyKeyStoreTypes.BranchKeyMaterials) - var _15_branchKey _dafny.Sequence - _ = _15_branchKey - _15_branchKey = (_14_hierarchicalMaterials).Dtor_branchKey() - var _16_branchKeyVersion _dafny.Sequence - _ = _16_branchKeyVersion - _16_branchKeyVersion = (_14_hierarchicalMaterials).Dtor_branchKeyVersion() - var _17_valueOrError6 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq.SetString()) - _ = _17_valueOrError6 - _17_valueOrError6 = (m_UTF8.Decode(_16_branchKeyVersion)).MapFailure(func(coer86 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg87 interface{}) interface{} { - return coer86(arg87.(_dafny.Sequence)) + var _13_hierarchicalMaterials m_AwsCryptographyKeyStoreTypes.BranchKeyMaterials + _ = _13_hierarchicalMaterials + _13_hierarchicalMaterials = (_12_valueOrError4).Extract().(m_AwsCryptographyKeyStoreTypes.BranchKeyMaterials) + var _14_branchKey _dafny.Sequence + _ = _14_branchKey + _14_branchKey = (_13_hierarchicalMaterials).Dtor_branchKey() + var _15_branchKeyVersion _dafny.Sequence + _ = _15_branchKeyVersion + _15_branchKeyVersion = (_13_hierarchicalMaterials).Dtor_branchKeyVersion() + var _16_valueOrError5 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq.SetString()) + _ = _16_valueOrError5 + _16_valueOrError5 = (m_UTF8.Decode(_15_branchKeyVersion)).MapFailure(func(coer94 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg95 interface{}) interface{} { + return coer94(arg95.(_dafny.Sequence)) } }(m_AwsKmsUtils.Companion_Default___.WrapStringToError)) - if (_17_valueOrError6).IsFailure() { - res = (_17_valueOrError6).PropagateFailure() + if (_16_valueOrError5).IsFailure() { + res = (_16_valueOrError5).PropagateFailure() return res } - var _18_branchKeyVersionAsString _dafny.Sequence - _ = _18_branchKeyVersionAsString - _18_branchKeyVersionAsString = (_17_valueOrError6).Extract().(_dafny.Sequence) - var _19_valueOrError7 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) - _ = _19_valueOrError7 - _19_valueOrError7 = (m_UUID.ToByteArray(_18_branchKeyVersionAsString)).MapFailure(func(coer87 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg88 interface{}) interface{} { - return coer87(arg88.(_dafny.Sequence)) + var _17_branchKeyVersionAsString _dafny.Sequence + _ = _17_branchKeyVersionAsString + _17_branchKeyVersionAsString = (_16_valueOrError5).Extract().(_dafny.Sequence) + var _18_valueOrError6 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) + _ = _18_valueOrError6 + _18_valueOrError6 = (m_UUID.ToByteArray(_17_branchKeyVersionAsString)).MapFailure(func(coer95 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg96 interface{}) interface{} { + return coer95(arg96.(_dafny.Sequence)) } }(m_AwsKmsUtils.Companion_Default___.WrapStringToError)) - if (_19_valueOrError7).IsFailure() { - res = (_19_valueOrError7).PropagateFailure() + if (_18_valueOrError6).IsFailure() { + res = (_18_valueOrError6).PropagateFailure() return res } - var _20_branchKeyVersionAsBytes _dafny.Sequence - _ = _20_branchKeyVersionAsBytes - _20_branchKeyVersionAsBytes = (_19_valueOrError7).Extract().(_dafny.Sequence) - var _21_maybeCrypto m_Wrappers.Result - _ = _21_maybeCrypto + var _19_branchKeyVersionAsBytes _dafny.Sequence + _ = _19_branchKeyVersionAsBytes + _19_branchKeyVersionAsBytes = (_18_valueOrError6).Extract().(_dafny.Sequence) + var _20_maybeCrypto m_Wrappers.Result + _ = _20_maybeCrypto var _out2 m_Wrappers.Result _ = _out2 _out2 = m_AtomicPrimitives.Companion_Default___.AtomicPrimitives(m_AtomicPrimitives.Companion_Default___.DefaultCryptoConfig()) - _21_maybeCrypto = _out2 - var _22_valueOrError8 m_Wrappers.Result = m_Wrappers.Result{} - _ = _22_valueOrError8 - _22_valueOrError8 = (_21_maybeCrypto).MapFailure(func(coer88 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg89 interface{}) interface{} { - return coer88(arg89.(m_AwsCryptographyPrimitivesTypes.Error)) + _20_maybeCrypto = _out2 + var _21_valueOrError7 m_Wrappers.Result = m_Wrappers.Result{} + _ = _21_valueOrError7 + _21_valueOrError7 = (_20_maybeCrypto).MapFailure(func(coer96 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg97 interface{}) interface{} { + return coer96(arg97.(m_AwsCryptographyPrimitivesTypes.Error)) } - }(func(_23_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { - return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_23_e) + }(func(_22_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { + return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_22_e) })) - if (_22_valueOrError8).IsFailure() { - res = (_22_valueOrError8).PropagateFailure() + if (_21_valueOrError7).IsFailure() { + res = (_21_valueOrError7).PropagateFailure() return res } - var _24_cryptoPrimitivesX m_AwsCryptographyPrimitivesTypes.IAwsCryptographicPrimitivesClient - _ = _24_cryptoPrimitivesX - _24_cryptoPrimitivesX = (_22_valueOrError8).Extract().(*m_AtomicPrimitives.AtomicPrimitivesClient) - var _25_cryptoPrimitives *m_AtomicPrimitives.AtomicPrimitivesClient - _ = _25_cryptoPrimitives - _25_cryptoPrimitives = _24_cryptoPrimitivesX.(*m_AtomicPrimitives.AtomicPrimitivesClient) - var _26_kmsHierarchyUnwrap *KmsHierarchyUnwrapKeyMaterial - _ = _26_kmsHierarchyUnwrap + var _23_cryptoPrimitivesX m_AwsCryptographyPrimitivesTypes.IAwsCryptographicPrimitivesClient + _ = _23_cryptoPrimitivesX + _23_cryptoPrimitivesX = (_21_valueOrError7).Extract().(*m_AtomicPrimitives.AtomicPrimitivesClient) + var _24_cryptoPrimitives *m_AtomicPrimitives.AtomicPrimitivesClient + _ = _24_cryptoPrimitives + _24_cryptoPrimitives = _23_cryptoPrimitivesX.(*m_AtomicPrimitives.AtomicPrimitivesClient) + var _25_kmsHierarchyUnwrap *KmsHierarchyUnwrapKeyMaterial + _ = _25_kmsHierarchyUnwrap var _nw0 *KmsHierarchyUnwrapKeyMaterial = New_KmsHierarchyUnwrapKeyMaterial_() _ = _nw0 - _nw0.Ctor__(_15_branchKey, _3_branchKeyIdUtf8, _20_branchKeyVersionAsBytes, _25_cryptoPrimitives) - _26_kmsHierarchyUnwrap = _nw0 - var _27_unwrapOutputRes m_Wrappers.Result - _ = _27_unwrapOutputRes + _nw0.Ctor__(_14_branchKey, _2_branchKeyIdUtf8, _19_branchKeyVersionAsBytes, _24_cryptoPrimitives) + _25_kmsHierarchyUnwrap = _nw0 + var _26_unwrapOutputRes m_Wrappers.Result + _ = _26_unwrapOutputRes var _out3 m_Wrappers.Result _ = _out3 - _out3 = m_EdkWrapping.Companion_Default___.UnwrapEdkMaterial((edk).Dtor_ciphertext(), (_this).Materials(), _26_kmsHierarchyUnwrap) - _27_unwrapOutputRes = _out3 - var _28_valueOrError9 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_EdkWrapping.Companion_UnwrapEdkMaterialOutput_.Default(Companion_HierarchyUnwrapInfo_.Default())) - _ = _28_valueOrError9 - _28_valueOrError9 = _27_unwrapOutputRes - if (_28_valueOrError9).IsFailure() { - res = (_28_valueOrError9).PropagateFailure() + _out3 = m_EdkWrapping.Companion_Default___.UnwrapEdkMaterial((edk).Dtor_ciphertext(), (_this).Materials(), _25_kmsHierarchyUnwrap) + _26_unwrapOutputRes = _out3 + var _27_valueOrError8 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_EdkWrapping.Companion_UnwrapEdkMaterialOutput_.Default(Companion_HierarchyUnwrapInfo_.Default())) + _ = _27_valueOrError8 + _27_valueOrError8 = _26_unwrapOutputRes + if (_27_valueOrError8).IsFailure() { + res = (_27_valueOrError8).PropagateFailure() return res } - var _29_unwrapOutput m_EdkWrapping.UnwrapEdkMaterialOutput - _ = _29_unwrapOutput - _29_unwrapOutput = (_28_valueOrError9).Extract().(m_EdkWrapping.UnwrapEdkMaterialOutput) - var _30_valueOrError10 m_Wrappers.Result = m_Wrappers.Result{} - _ = _30_valueOrError10 - _30_valueOrError10 = m_Materials.Companion_Default___.DecryptionMaterialsAddDataKey((_this).Materials(), (_29_unwrapOutput).Dtor_plaintextDataKey(), (_29_unwrapOutput).Dtor_symmetricSigningKey()) - if (_30_valueOrError10).IsFailure() { - res = (_30_valueOrError10).PropagateFailure() + var _28_unwrapOutput m_EdkWrapping.UnwrapEdkMaterialOutput + _ = _28_unwrapOutput + _28_unwrapOutput = (_27_valueOrError8).Extract().(m_EdkWrapping.UnwrapEdkMaterialOutput) + var _29_valueOrError9 m_Wrappers.Result = m_Wrappers.Result{} + _ = _29_valueOrError9 + _29_valueOrError9 = m_Materials.Companion_Default___.DecryptionMaterialsAddDataKey((_this).Materials(), (_28_unwrapOutput).Dtor_plaintextDataKey(), (_28_unwrapOutput).Dtor_symmetricSigningKey()) + if (_29_valueOrError9).IsFailure() { + res = (_29_valueOrError9).PropagateFailure() return res } - var _31_result m_AwsCryptographyMaterialProvidersTypes.DecryptionMaterials - _ = _31_result - _31_result = (_30_valueOrError10).Extract().(m_AwsCryptographyMaterialProvidersTypes.DecryptionMaterials) - res = m_Wrappers.Companion_Result_.Create_Success_(_31_result) + var _30_result m_AwsCryptographyMaterialProvidersTypes.DecryptionMaterials + _ = _30_result + _30_result = (_29_valueOrError9).Extract().(m_AwsCryptographyMaterialProvidersTypes.DecryptionMaterials) + res = m_Wrappers.Companion_Result_.Create_Success_(_30_result) return res return res } @@ -1282,19 +1261,11 @@ func (_this *DecryptSingleEncryptedDataKey) GetVersionCacheId(branchKeyIdUtf8 _d _ = cacheId var _0_valueOrError0 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _0_valueOrError0 - _0_valueOrError0 = m_Wrappers.Companion_Default___.Need((((m_UTF8.Decode(branchKeyIdUtf8)).MapFailure(func(coer89 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg90 interface{}) interface{} { - return coer89(arg90.(_dafny.Sequence)) - } - }(m_AwsKmsUtils.Companion_Default___.WrapStringToError))).Is_Success()) && (func(_pat_let7_0 _dafny.Sequence) bool { - return func(_1_branchKeyId _dafny.Sequence) bool { - return (true) && (((_dafny.IntOfUint32((_1_branchKeyId).Cardinality())).Sign() != -1) && ((_dafny.IntOfUint32((_1_branchKeyId).Cardinality())).Cmp(m_StandardLibrary_UInt.Companion_Default___.UINT32__LIMIT()) < 0)) + _0_valueOrError0 = m_Wrappers.Companion_Default___.Need((true) && (func(_pat_let7_0 m_Wrappers.Result) bool { + return func(_1_branchKeyId m_Wrappers.Result) bool { + return ((_1_branchKeyId).Is_Success()) && (((uint64(0)) <= (uint64(((_1_branchKeyId).Dtor_value().(_dafny.Sequence)).Cardinality()))) && ((uint64(((_1_branchKeyId).Dtor_value().(_dafny.Sequence)).Cardinality())) < ((m_StandardLibrary_UInt.Companion_Default___.UINT32__LIMIT()).Uint64()))) }(_pat_let7_0) - }(((m_UTF8.Decode(branchKeyIdUtf8)).MapFailure(func(coer90 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg91 interface{}) interface{} { - return coer90(arg91.(_dafny.Sequence)) - } - }(m_AwsKmsUtils.Companion_Default___.WrapStringToError))).Dtor_value().(_dafny.Sequence))), Companion_Default___.E(_dafny.SeqOfString("Invalid Branch Key ID Length"))) + }(m_UTF8.Decode(branchKeyIdUtf8))), Companion_Default___.E(_dafny.SeqOfString("Invalid Branch Key ID Length"))) if (_0_valueOrError0).IsFailure() { cacheId = (_0_valueOrError0).PropagateFailure() return cacheId @@ -1315,48 +1286,54 @@ func (_this *DecryptSingleEncryptedDataKey) GetVersionCacheId(branchKeyIdUtf8 _d cacheId = (_5_valueOrError1).PropagateFailure() return cacheId } - var _6_versionBytes _dafny.Sequence - _ = _6_versionBytes - _6_versionBytes = m_UTF8.Companion_Default___.EncodeAscii(branchKeyVersion) - var _7_suffix _dafny.Sequence - _ = _7_suffix - _7_suffix = _dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate((_this).LogicalKeyStoreNameBytes(), m_CacheConstants.Companion_Default___.NULL__BYTE()), branchKeyIdUtf8), m_CacheConstants.Companion_Default___.NULL__BYTE()), _6_versionBytes) - var _8_identifier _dafny.Sequence - _ = _8_identifier - _8_identifier = _dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_3_resourceId, m_CacheConstants.Companion_Default___.NULL__BYTE()), _4_scopeId), m_CacheConstants.Companion_Default___.NULL__BYTE()), (_this).PartitionIdBytes()), m_CacheConstants.Companion_Default___.NULL__BYTE()), _7_suffix) - var _9_identifierDigestInput m_AwsCryptographyPrimitivesTypes.DigestInput - _ = _9_identifierDigestInput - _9_identifierDigestInput = m_AwsCryptographyPrimitivesTypes.Companion_DigestInput_.Create_DigestInput_(_2_hashAlgorithm, _8_identifier) - var _10_maybeCacheDigest m_Wrappers.Result - _ = _10_maybeCacheDigest - var _out0 m_Wrappers.Result - _ = _out0 - _out0 = m_Digest.Companion_Default___.Digest(_9_identifierDigestInput) - _10_maybeCacheDigest = _out0 - var _11_valueOrError2 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) - _ = _11_valueOrError2 - _11_valueOrError2 = (_10_maybeCacheDigest).MapFailure(func(coer91 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg92 interface{}) interface{} { - return coer91(arg92.(m_AwsCryptographyPrimitivesTypes.Error)) + var _6_valueOrError2 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_UTF8.Companion_ValidUTF8Bytes_.Witness()) + _ = _6_valueOrError2 + _6_valueOrError2 = (m_UTF8.Encode(branchKeyVersion)).MapFailure(func(coer97 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg98 interface{}) interface{} { + return coer97(arg98.(_dafny.Sequence)) } - }(func(_12_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { - return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_12_e) + }(func(_7_e _dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error { + return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_7_e) })) - if (_11_valueOrError2).IsFailure() { - cacheId = (_11_valueOrError2).PropagateFailure() + if (_6_valueOrError2).IsFailure() { + cacheId = (_6_valueOrError2).PropagateFailure() return cacheId } - var _13_cacheDigest _dafny.Sequence - _ = _13_cacheDigest - _13_cacheDigest = (_11_valueOrError2).Extract().(_dafny.Sequence) - var _14_valueOrError3 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() - _ = _14_valueOrError3 - _14_valueOrError3 = m_Wrappers.Companion_Default___.Need((_dafny.IntOfUint32((_13_cacheDigest).Cardinality())).Cmp(m_Digest.Companion_Default___.Length(_2_hashAlgorithm)) == 0, m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Digest generated a message not equal to the expected length."))) - if (_14_valueOrError3).IsFailure() { - cacheId = (_14_valueOrError3).PropagateFailure() + var _8_versionBytes _dafny.Sequence + _ = _8_versionBytes + _8_versionBytes = (_6_valueOrError2).Extract().(_dafny.Sequence) + var _9_suffix _dafny.Sequence + _ = _9_suffix + _9_suffix = _dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate((_this).LogicalKeyStoreNameBytes(), m_CacheConstants.Companion_Default___.NULL__BYTE()), branchKeyIdUtf8), m_CacheConstants.Companion_Default___.NULL__BYTE()), _8_versionBytes) + var _10_identifier _dafny.Sequence + _ = _10_identifier + _10_identifier = _dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_3_resourceId, m_CacheConstants.Companion_Default___.NULL__BYTE()), _4_scopeId), m_CacheConstants.Companion_Default___.NULL__BYTE()), (_this).PartitionIdBytes()), m_CacheConstants.Companion_Default___.NULL__BYTE()), _9_suffix) + var _11_identifierDigestInput m_AwsCryptographyPrimitivesTypes.DigestInput + _ = _11_identifierDigestInput + _11_identifierDigestInput = m_AwsCryptographyPrimitivesTypes.Companion_DigestInput_.Create_DigestInput_(_2_hashAlgorithm, _10_identifier) + var _12_maybeCacheDigest m_Wrappers.Result + _ = _12_maybeCacheDigest + var _out0 m_Wrappers.Result + _ = _out0 + _out0 = m_Digest.Companion_Default___.Digest(_11_identifierDigestInput) + _12_maybeCacheDigest = _out0 + var _13_valueOrError3 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) + _ = _13_valueOrError3 + _13_valueOrError3 = (_12_maybeCacheDigest).MapFailure(func(coer98 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg99 interface{}) interface{} { + return coer98(arg99.(m_AwsCryptographyPrimitivesTypes.Error)) + } + }(func(_14_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { + return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_14_e) + })) + if (_13_valueOrError3).IsFailure() { + cacheId = (_13_valueOrError3).PropagateFailure() return cacheId } - cacheId = m_Wrappers.Companion_Result_.Create_Success_(_13_cacheDigest) + var _15_cacheDigest _dafny.Sequence + _ = _15_cacheDigest + _15_cacheDigest = (_13_valueOrError3).Extract().(_dafny.Sequence) + cacheId = m_Wrappers.Companion_Result_.Create_Success_(_15_cacheDigest) return cacheId return cacheId } @@ -1393,9 +1370,9 @@ func (_this *DecryptSingleEncryptedDataKey) GetHierarchicalMaterialsVersion(bran _3_maybeGetBranchKeyVersionOutput = _out2 var _4_valueOrError0 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_AwsCryptographyKeyStoreTypes.Companion_GetBranchKeyVersionOutput_.Default()) _ = _4_valueOrError0 - _4_valueOrError0 = (_3_maybeGetBranchKeyVersionOutput).MapFailure(func(coer92 func(m_AwsCryptographyKeyStoreTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg93 interface{}) interface{} { - return coer92(arg93.(m_AwsCryptographyKeyStoreTypes.Error)) + _4_valueOrError0 = (_3_maybeGetBranchKeyVersionOutput).MapFailure(func(coer99 func(m_AwsCryptographyKeyStoreTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg100 interface{}) interface{} { + return coer99(arg100.(m_AwsCryptographyKeyStoreTypes.Error)) } }(func(_5_e m_AwsCryptographyKeyStoreTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyKeyStore_(_5_e) @@ -1441,7 +1418,7 @@ func (_this *DecryptSingleEncryptedDataKey) GetHierarchicalMaterialsVersion(bran } else { var _12_valueOrError2 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _12_valueOrError2 - _12_valueOrError2 = m_Wrappers.Companion_Default___.Need(((((_1_getCacheOutput).Dtor_value().(m_AwsCryptographyMaterialProvidersTypes.GetCacheEntryOutput)).Dtor_materials()).Is_BranchKey()) && ((((_1_getCacheOutput).Dtor_value().(m_AwsCryptographyMaterialProvidersTypes.GetCacheEntryOutput)).Dtor_materials()).Equals(m_AwsCryptographyMaterialProvidersTypes.Companion_Materials_.Create_BranchKey_((((_1_getCacheOutput).Dtor_value().(m_AwsCryptographyMaterialProvidersTypes.GetCacheEntryOutput)).Dtor_materials()).Dtor_BranchKey()))), Companion_Default___.E(_dafny.SeqOfString("Invalid Material Type."))) + _12_valueOrError2 = m_Wrappers.Companion_Default___.Need((((_1_getCacheOutput).Dtor_value().(m_AwsCryptographyMaterialProvidersTypes.GetCacheEntryOutput)).Dtor_materials()).Is_BranchKey(), Companion_Default___.E(_dafny.SeqOfString("Invalid Material Type."))) if (_12_valueOrError2).IsFailure() { material = (_12_valueOrError2).PropagateFailure() return material @@ -1792,14 +1769,14 @@ func (_this *KmsHierarchyUnwrapKeyMaterial) Invoke(input interface{}) interface{ _3_KeyLength = m_AlgorithmSuites.Companion_Default___.GetEncryptKeyLength(_0_suite) var _4_valueOrError0 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _4_valueOrError0 - _4_valueOrError0 = m_Wrappers.Companion_Default___.Need((_dafny.IntOfUint32((_1_wrappedMaterial).Cardinality())).Cmp((_dafny.IntOfInt32(Companion_Default___.EXPECTED__EDK__CIPHERTEXT__OVERHEAD())).Plus(_dafny.IntOfInt32(_3_KeyLength))) == 0, m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Received EDK Ciphertext of incorrect length2."))) + _4_valueOrError0 = m_Wrappers.Companion_Default___.Need((uint64((_1_wrappedMaterial).Cardinality())) == ((uint64(Companion_Default___.EXPECTED__EDK__CIPHERTEXT__OVERHEAD()))+(uint64(_3_KeyLength))), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Received EDK Ciphertext of incorrect length2."))) if (_4_valueOrError0).IsFailure() { res = (_4_valueOrError0).PropagateFailure() return res } var _5_salt _dafny.Sequence _ = _5_salt - _5_salt = (_1_wrappedMaterial).Subsequence(0, uint32(Companion_Default___.H__WRAP__SALT__LEN())) + _5_salt = (_1_wrappedMaterial).Take(uint32(Companion_Default___.H__WRAP__SALT__LEN())) var _6_iv _dafny.Sequence _ = _6_iv _6_iv = (_1_wrappedMaterial).Subsequence(uint32(Companion_Default___.H__WRAP__SALT__LEN()), uint32(Companion_Default___.EDK__CIPHERTEXT__BRANCH__KEY__VERSION__INDEX())) @@ -1814,7 +1791,7 @@ func (_this *KmsHierarchyUnwrapKeyMaterial) Invoke(input interface{}) interface{ _9_authTag = (_1_wrappedMaterial).Drop(uint32((Companion_Default___.EDK__CIPHERTEXT__VERSION__INDEX()) + (_3_KeyLength))) var _10_valueOrError1 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) _ = _10_valueOrError1 - _10_valueOrError1 = m_CanonicalEncryptionContext.Companion_Default___.EncryptionContextToAAD((input).Dtor_encryptionContext()) + _10_valueOrError1 = (input).Dtor_serializedEC() if (_10_valueOrError1).IsFailure() { res = (_10_valueOrError1).PropagateFailure() return res @@ -1846,9 +1823,9 @@ func (_this *KmsHierarchyUnwrapKeyMaterial) Invoke(input interface{}) interface{ _15_maybeUnwrappedPdk = _out1 var _16_valueOrError3 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) _ = _16_valueOrError3 - _16_valueOrError3 = (_15_maybeUnwrappedPdk).MapFailure(func(coer93 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg94 interface{}) interface{} { - return coer93(arg94.(m_AwsCryptographyPrimitivesTypes.Error)) + _16_valueOrError3 = (_15_maybeUnwrappedPdk).MapFailure(func(coer100 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg101 interface{}) interface{} { + return coer100(arg101.(m_AwsCryptographyPrimitivesTypes.Error)) } }(func(_17_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_17_e) @@ -1860,17 +1837,10 @@ func (_this *KmsHierarchyUnwrapKeyMaterial) Invoke(input interface{}) interface{ var _18_unwrappedPdk _dafny.Sequence _ = _18_unwrappedPdk _18_unwrappedPdk = (_16_valueOrError3).Extract().(_dafny.Sequence) - var _19_valueOrError4 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() - _ = _19_valueOrError4 - _19_valueOrError4 = m_Wrappers.Companion_Default___.Need((_dafny.IntOfUint32((_18_unwrappedPdk).Cardinality())).Cmp(_dafny.IntOfInt32(m_AlgorithmSuites.Companion_Default___.GetEncryptKeyLength((input).Dtor_algorithmSuite()))) == 0, Companion_Default___.E(_dafny.SeqOfString("Invalid Key Length"))) - if (_19_valueOrError4).IsFailure() { - res = (_19_valueOrError4).PropagateFailure() - return res - } - var _20_output m_MaterialWrapping.UnwrapOutput - _ = _20_output - _20_output = m_MaterialWrapping.Companion_UnwrapOutput_.Create_UnwrapOutput_(_18_unwrappedPdk, Companion_HierarchyUnwrapInfo_.Create_HierarchyUnwrapInfo_()) - res = m_Wrappers.Companion_Result_.Create_Success_(_20_output) + var _19_output m_MaterialWrapping.UnwrapOutput + _ = _19_output + _19_output = m_MaterialWrapping.Companion_UnwrapOutput_.Create_UnwrapOutput_(_18_unwrappedPdk, Companion_HierarchyUnwrapInfo_.Create_HierarchyUnwrapInfo_()) + res = m_Wrappers.Companion_Result_.Create_Success_(_19_output) return res return res } @@ -1982,9 +1952,9 @@ func (_this *KmsHierarchyGenerateAndWrapKeyMaterial) Invoke(input interface{}) i _1_pdkResult = _out0 var _2_valueOrError0 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) _ = _2_valueOrError0 - _2_valueOrError0 = (_1_pdkResult).MapFailure(func(coer94 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg95 interface{}) interface{} { - return coer94(arg95.(m_AwsCryptographyPrimitivesTypes.Error)) + _2_valueOrError0 = (_1_pdkResult).MapFailure(func(coer101 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg102 interface{}) interface{} { + return coer101(arg102.(m_AwsCryptographyPrimitivesTypes.Error)) } }(func(_3_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_3_e) @@ -2006,7 +1976,7 @@ func (_this *KmsHierarchyGenerateAndWrapKeyMaterial) Invoke(input interface{}) i _ = _6_valueOrError1 var _out1 interface{} _ = _out1 - _out1 = (_5_wrap).Invoke(m_MaterialWrapping.Companion_WrapInput_.Create_WrapInput_(_4_pdk, (input).Dtor_algorithmSuite(), (input).Dtor_encryptionContext())) + _out1 = (_5_wrap).Invoke(m_MaterialWrapping.Companion_WrapInput_.Create_WrapInput_(_4_pdk, (input).Dtor_algorithmSuite(), (input).Dtor_encryptionContext(), (input).Dtor_serializedEC())) _6_valueOrError1 = _out1.(m_Wrappers.Result) if (_6_valueOrError1).IsFailure() { res = (_6_valueOrError1).PropagateFailure() @@ -2130,9 +2100,9 @@ func (_this *KmsHierarchyWrapKeyMaterial) Invoke(input interface{}) interface{} _1_maybeNonceSalt = _out0 var _2_valueOrError0 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) _ = _2_valueOrError0 - _2_valueOrError0 = (_1_maybeNonceSalt).MapFailure(func(coer95 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg96 interface{}) interface{} { - return coer95(arg96.(m_AwsCryptographyPrimitivesTypes.Error)) + _2_valueOrError0 = (_1_maybeNonceSalt).MapFailure(func(coer102 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg103 interface{}) interface{} { + return coer102(arg103.(m_AwsCryptographyPrimitivesTypes.Error)) } }(func(_3_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_3_e) @@ -2146,13 +2116,13 @@ func (_this *KmsHierarchyWrapKeyMaterial) Invoke(input interface{}) interface{} _4_saltAndNonce = (_2_valueOrError0).Extract().(_dafny.Sequence) var _5_salt _dafny.Sequence _ = _5_salt - _5_salt = (_4_saltAndNonce).Subsequence(0, uint32(Companion_Default___.H__WRAP__SALT__LEN())) + _5_salt = (_4_saltAndNonce).Take(uint32(Companion_Default___.H__WRAP__SALT__LEN())) var _6_nonce _dafny.Sequence _ = _6_nonce _6_nonce = (_4_saltAndNonce).Drop(uint32(Companion_Default___.H__WRAP__SALT__LEN())) var _7_valueOrError1 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) _ = _7_valueOrError1 - _7_valueOrError1 = m_CanonicalEncryptionContext.Companion_Default___.EncryptionContextToAAD((input).Dtor_encryptionContext()) + _7_valueOrError1 = (input).Dtor_serializedEC() if (_7_valueOrError1).IsFailure() { res = (_7_valueOrError1).PropagateFailure() return res @@ -2184,9 +2154,9 @@ func (_this *KmsHierarchyWrapKeyMaterial) Invoke(input interface{}) interface{} _12_maybeWrappedPdk = _out2 var _13_valueOrError3 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_AwsCryptographyPrimitivesTypes.Companion_AESEncryptOutput_.Default()) _ = _13_valueOrError3 - _13_valueOrError3 = (_12_maybeWrappedPdk).MapFailure(func(coer96 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg97 interface{}) interface{} { - return coer96(arg97.(m_AwsCryptographyPrimitivesTypes.Error)) + _13_valueOrError3 = (_12_maybeWrappedPdk).MapFailure(func(coer103 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg104 interface{}) interface{} { + return coer103(arg104.(m_AwsCryptographyPrimitivesTypes.Error)) } }(func(_14_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_14_e) diff --git a/releases/go/mpl/AwsKmsKeyring/AwsKmsKeyring.go b/releases/go/mpl/AwsKmsKeyring/AwsKmsKeyring.go index 3017c255e3..6af0c3cf37 100644 --- a/releases/go/mpl/AwsKmsKeyring/AwsKmsKeyring.go +++ b/releases/go/mpl/AwsKmsKeyring/AwsKmsKeyring.go @@ -15,7 +15,6 @@ import ( m_AwsCryptographyKeyStoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreOperations" m_AwsCryptographyKeyStoreTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreTypes" m_AwsCryptographyMaterialProvidersTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" - m_AwsKmsMrkAreUnique "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkAreUnique" m_AwsKmsMrkMatchForDecrypt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkMatchForDecrypt" m_AwsKmsUtils "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsUtils" m_CanonicalEncryptionContext "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CanonicalEncryptionContext" @@ -23,6 +22,7 @@ import ( m_CreateKeyStoreTable "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeyStoreTable" m_CreateKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeys" m_DDBKeystoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DDBKeystoreOperations" + m_EcdhEdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EcdhEdkWrapping" m_EdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EdkWrapping" m_ErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/ErrorMessages" m_GetKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/GetKeys" @@ -34,7 +34,9 @@ import ( m_KmsArn "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KmsArn" m_MaterialWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MaterialWrapping" m_Materials "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Materials" - m_MultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MultiKeyring" + m_RawAESKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawAESKeyring" + m_RawECDHKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawECDHKeyring" + m_RawRSAKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawRSAKeyring" m_Structure "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Structure" m_AtomicPrimitives "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AtomicPrimitives" m_AwsCryptographyPrimitivesOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesOperations" @@ -72,6 +74,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -92,6 +95,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -156,14 +160,16 @@ var _ m_KeyStore.Dummy__ var _ m_AlgorithmSuites.Dummy__ var _ m_Materials.Dummy__ var _ m_Keyring.Dummy__ -var _ m_MultiKeyring.Dummy__ -var _ m_AwsKmsMrkAreUnique.Dummy__ -var _ m_Constants.Dummy__ -var _ m_MaterialWrapping.Dummy__ var _ m_CanonicalEncryptionContext.Dummy__ +var _ m_MaterialWrapping.Dummy__ var _ m_IntermediateKeyWrapping.Dummy__ var _ m_EdkWrapping.Dummy__ var _ m_ErrorMessages.Dummy__ +var _ m_RawAESKeyring.Dummy__ +var _ m_Constants.Dummy__ +var _ m_EcdhEdkWrapping.Dummy__ +var _ m_RawECDHKeyring.Dummy__ +var _ m_RawRSAKeyring.Dummy__ type Dummy__ struct{} @@ -226,16 +232,16 @@ var _ m_AwsCryptographyMaterialProvidersTypes.IKeyring = &AwsKmsKeyring{} var _ _dafny.TraitOffspring = &AwsKmsKeyring{} func (_this *AwsKmsKeyring) OnDecrypt(input m_AwsCryptographyMaterialProvidersTypes.OnDecryptInput) m_Wrappers.Result { - var _out2 m_Wrappers.Result - _ = _out2 - _out2 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnDecrypt(_this, input) - return _out2 + var _out4 m_Wrappers.Result + _ = _out4 + _out4 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnDecrypt(_this, input) + return _out4 } func (_this *AwsKmsKeyring) OnEncrypt(input m_AwsCryptographyMaterialProvidersTypes.OnEncryptInput) m_Wrappers.Result { - var _out2 m_Wrappers.Result - _ = _out2 - _out2 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnEncrypt(_this, input) - return _out2 + var _out4 m_Wrappers.Result + _ = _out4 + _out4 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnEncrypt(_this, input) + return _out4 } func (_this *AwsKmsKeyring) Ctor__(client m_ComAmazonawsKmsTypes.IKMSClient, awsKmsKey _dafny.Sequence, grantTokens _dafny.Sequence) { { @@ -305,9 +311,9 @@ func (_this *AwsKmsKeyring) OnEncrypt_k(input m_AwsCryptographyMaterialProviders } var _10_valueOrError2 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_UTF8.Companion_ValidUTF8Bytes_.Witness()) _ = _10_valueOrError2 - _10_valueOrError2 = (m_UTF8.Encode(_8_kmsKeyArn)).MapFailure(func(coer52 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg53 interface{}) interface{} { - return coer52(arg53.(_dafny.Sequence)) + _10_valueOrError2 = (m_UTF8.Encode(_8_kmsKeyArn)).MapFailure(func(coer71 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg72 interface{}) interface{} { + return coer71(arg72.(_dafny.Sequence)) } }(m_AwsKmsUtils.Companion_Default___.WrapStringToError)) if (_10_valueOrError2).IsFailure() { @@ -319,7 +325,7 @@ func (_this *AwsKmsKeyring) OnEncrypt_k(input m_AwsCryptographyMaterialProviders _11_providerInfo = (_10_valueOrError2).Extract().(_dafny.Sequence) var _12_valueOrError3 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _12_valueOrError3 - _12_valueOrError3 = m_Wrappers.Companion_Default___.Need((_dafny.IntOfUint32((_11_providerInfo).Cardinality())).Cmp(m_StandardLibrary_UInt.Companion_Default___.UINT16__LIMIT()) < 0, m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Invalid response from AWS KMS GenerateDataKey: Key ID too long."))) + _12_valueOrError3 = m_Wrappers.Companion_Default___.Need((uint64((_11_providerInfo).Cardinality())) < ((m_StandardLibrary_UInt.Companion_Default___.UINT16__LIMIT()).Uint64()), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Invalid response from AWS KMS GenerateDataKey: Key ID too long."))) if (_12_valueOrError3).IsFailure() { res = (_12_valueOrError3).PropagateFailure() return res @@ -381,7 +387,7 @@ func (_this *AwsKmsKeyring) OnDecrypt_k(input m_AwsCryptographyMaterialProviders res = (_3_valueOrError1).PropagateFailure() return res } - var _4_filter *OnDecryptEncryptedDataKeyFilter + var _4_filter m_Actions.DeterministicActionWithResult _ = _4_filter var _nw0 *OnDecryptEncryptedDataKeyFilter = New_OnDecryptEncryptedDataKeyFilter_() _ = _nw0 @@ -400,7 +406,7 @@ func (_this *AwsKmsKeyring) OnDecrypt_k(input m_AwsCryptographyMaterialProviders var _6_edksToAttempt _dafny.Sequence _ = _6_edksToAttempt _6_edksToAttempt = (_5_valueOrError2).Extract().(_dafny.Sequence) - if (_dafny.IntOfUint32((_6_edksToAttempt).Cardinality())).Sign() == 0 { + if (uint64(0)) == (uint64((_6_edksToAttempt).Cardinality())) { var _7_valueOrError3 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq.SetString()) _ = _7_valueOrError3 _7_valueOrError3 = m_ErrorMessages.Companion_Default___.IncorrectDataKeys((input).Dtor_encryptedDataKeys(), ((input).Dtor_materials()).Dtor_algorithmSuite(), _dafny.SeqOfString("")) @@ -428,9 +434,9 @@ func (_this *AwsKmsKeyring) OnDecrypt_k(input m_AwsCryptographyMaterialProviders _10_outcome = _out1 var _11_valueOrError4 m_Wrappers.Result = m_Wrappers.Result{} _ = _11_valueOrError4 - _11_valueOrError4 = (_10_outcome).MapFailure(func(coer53 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg54 interface{}) interface{} { - return coer53(arg54.(_dafny.Sequence)) + _11_valueOrError4 = (_10_outcome).MapFailure(func(coer72 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg73 interface{}) interface{} { + return coer72(arg73.(_dafny.Sequence)) } }(func(_12_errors _dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_CollectionOfErrors_(_12_errors, _dafny.SeqOfString("No Configured KMS Key was able to decrypt the Data Key. The list of encountered Exceptions is available via `list`.")) @@ -543,9 +549,9 @@ func (_this *OnDecryptEncryptedDataKeyFilter) Invoke(edk interface{}) interface{ } var _0_valueOrError0 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq.SetString()) _ = _0_valueOrError0 - _0_valueOrError0 = (m_UTF8.Decode((edk).Dtor_keyProviderInfo())).MapFailure(func(coer54 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg55 interface{}) interface{} { - return coer54(arg55.(_dafny.Sequence)) + _0_valueOrError0 = (m_UTF8.Decode((edk).Dtor_keyProviderInfo())).MapFailure(func(coer73 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg74 interface{}) interface{} { + return coer73(arg74.(_dafny.Sequence)) } }(m_AwsKmsUtils.Companion_Default___.WrapStringToError)) if (_0_valueOrError0).IsFailure() { @@ -557,9 +563,9 @@ func (_this *OnDecryptEncryptedDataKeyFilter) Invoke(edk interface{}) interface{ _1_keyId = (_0_valueOrError0).Extract().(_dafny.Sequence) var _2_valueOrError1 m_Wrappers.Result = m_Wrappers.Result{} _ = _2_valueOrError1 - _2_valueOrError1 = (m_AwsArnParsing.Companion_Default___.ParseAwsKmsArn(_1_keyId)).MapFailure(func(coer55 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg56 interface{}) interface{} { - return coer55(arg56.(_dafny.Sequence)) + _2_valueOrError1 = (m_AwsArnParsing.Companion_Default___.ParseAwsKmsArn(_1_keyId)).MapFailure(func(coer74 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg75 interface{}) interface{} { + return coer74(arg75.(_dafny.Sequence)) } }(m_AwsKmsUtils.Companion_Default___.WrapStringToError)) if (_2_valueOrError1).IsFailure() { @@ -1014,9 +1020,9 @@ func (_this *KmsUnwrapKeyMaterial) Invoke(input interface{}) interface{} { _4_maybeDecryptResponse = _out0 var _5_valueOrError2 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_ComAmazonawsKmsTypes.Companion_DecryptResponse_.Default()) _ = _5_valueOrError2 - _5_valueOrError2 = (_4_maybeDecryptResponse).MapFailure(func(coer56 func(m_ComAmazonawsKmsTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg57 interface{}) interface{} { - return coer56(arg57.(m_ComAmazonawsKmsTypes.Error)) + _5_valueOrError2 = (_4_maybeDecryptResponse).MapFailure(func(coer75 func(m_ComAmazonawsKmsTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg76 interface{}) interface{} { + return coer75(arg76.(m_ComAmazonawsKmsTypes.Error)) } }(func(_6_e m_ComAmazonawsKmsTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_ComAmazonawsKms_(_6_e) @@ -1030,7 +1036,7 @@ func (_this *KmsUnwrapKeyMaterial) Invoke(input interface{}) interface{} { _7_decryptResponse = (_5_valueOrError2).Extract().(m_ComAmazonawsKmsTypes.DecryptResponse) var _8_valueOrError3 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _8_valueOrError3 - _8_valueOrError3 = m_Wrappers.Companion_Default___.Need((((((_7_decryptResponse).Dtor_KeyId()).Is_Some()) && (_dafny.Companion_Sequence_.Equal(((_7_decryptResponse).Dtor_KeyId()).Dtor_value().(_dafny.Sequence), (_this).AwsKmsKey()))) && (((_7_decryptResponse).Dtor_Plaintext()).Is_Some())) && ((_dafny.IntOfInt32(m_AlgorithmSuites.Companion_Default___.GetEncryptKeyLength((input).Dtor_algorithmSuite()))).Cmp(_dafny.IntOfUint32((((_7_decryptResponse).Dtor_Plaintext()).Dtor_value().(_dafny.Sequence)).Cardinality())) == 0), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Invalid response from KMS Decrypt"))) + _8_valueOrError3 = m_Wrappers.Companion_Default___.Need((((((_7_decryptResponse).Dtor_KeyId()).Is_Some()) && (_dafny.Companion_Sequence_.Equal(((_7_decryptResponse).Dtor_KeyId()).Dtor_value().(_dafny.Sequence), (_this).AwsKmsKey()))) && (((_7_decryptResponse).Dtor_Plaintext()).Is_Some())) && ((uint64(m_AlgorithmSuites.Companion_Default___.GetEncryptKeyLength((input).Dtor_algorithmSuite()))) == (uint64((((_7_decryptResponse).Dtor_Plaintext()).Dtor_value().(_dafny.Sequence)).Cardinality()))), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Invalid response from KMS Decrypt"))) if (_8_valueOrError3).IsFailure() { res = (_8_valueOrError3).PropagateFailure() return res @@ -1155,9 +1161,9 @@ func (_this *KmsGenerateAndWrapKeyMaterial) Invoke(input interface{}) interface{ _4_maybeGenerateResponse = _out0 var _5_valueOrError1 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_ComAmazonawsKmsTypes.Companion_GenerateDataKeyResponse_.Default()) _ = _5_valueOrError1 - _5_valueOrError1 = (_4_maybeGenerateResponse).MapFailure(func(coer57 func(m_ComAmazonawsKmsTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg58 interface{}) interface{} { - return coer57(arg58.(m_ComAmazonawsKmsTypes.Error)) + _5_valueOrError1 = (_4_maybeGenerateResponse).MapFailure(func(coer76 func(m_ComAmazonawsKmsTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg77 interface{}) interface{} { + return coer76(arg77.(m_ComAmazonawsKmsTypes.Error)) } }(func(_6_e m_ComAmazonawsKmsTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_ComAmazonawsKms_(_6_e) @@ -1178,7 +1184,7 @@ func (_this *KmsGenerateAndWrapKeyMaterial) Invoke(input interface{}) interface{ } var _9_valueOrError3 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _9_valueOrError3 - _9_valueOrError3 = m_Wrappers.Companion_Default___.Need((((_7_generateResponse).Dtor_Plaintext()).Is_Some()) && ((_dafny.IntOfInt32(m_AlgorithmSuites.Companion_Default___.GetEncryptKeyLength(_0_suite))).Cmp(_dafny.IntOfUint32((((_7_generateResponse).Dtor_Plaintext()).Dtor_value().(_dafny.Sequence)).Cardinality())) == 0), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Invalid response from AWS KMS GenerateDataKey: Invalid data key"))) + _9_valueOrError3 = m_Wrappers.Companion_Default___.Need((((_7_generateResponse).Dtor_Plaintext()).Is_Some()) && ((uint64(m_AlgorithmSuites.Companion_Default___.GetEncryptKeyLength(_0_suite))) == (uint64((((_7_generateResponse).Dtor_Plaintext()).Dtor_value().(_dafny.Sequence)).Cardinality()))), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Invalid response from AWS KMS GenerateDataKey: Invalid data key"))) if (_9_valueOrError3).IsFailure() { res = (_9_valueOrError3).PropagateFailure() return res @@ -1324,9 +1330,9 @@ func (_this *KmsWrapKeyMaterial) Invoke(input interface{}) interface{} { _5_maybeEncryptResponse = _out0 var _6_valueOrError2 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_ComAmazonawsKmsTypes.Companion_EncryptResponse_.Default()) _ = _6_valueOrError2 - _6_valueOrError2 = (_5_maybeEncryptResponse).MapFailure(func(coer58 func(m_ComAmazonawsKmsTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg59 interface{}) interface{} { - return coer58(arg59.(m_ComAmazonawsKmsTypes.Error)) + _6_valueOrError2 = (_5_maybeEncryptResponse).MapFailure(func(coer77 func(m_ComAmazonawsKmsTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg78 interface{}) interface{} { + return coer77(arg78.(m_ComAmazonawsKmsTypes.Error)) } }(func(_7_e m_ComAmazonawsKmsTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_ComAmazonawsKms_(_7_e) diff --git a/releases/go/mpl/AwsKmsMrkAreUnique/AwsKmsMrkAreUnique.go b/releases/go/mpl/AwsKmsMrkAreUnique/AwsKmsMrkAreUnique.go index 0fe84ba4fd..8188a55ee1 100644 --- a/releases/go/mpl/AwsKmsMrkAreUnique/AwsKmsMrkAreUnique.go +++ b/releases/go/mpl/AwsKmsMrkAreUnique/AwsKmsMrkAreUnique.go @@ -15,20 +15,42 @@ import ( m_AwsCryptographyKeyStoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreOperations" m_AwsCryptographyKeyStoreTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreTypes" m_AwsCryptographyMaterialProvidersTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" + m_AwsKmsDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsDiscoveryKeyring" + m_AwsKmsEcdhKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsEcdhKeyring" + m_AwsKmsHierarchicalKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsHierarchicalKeyring" + m_AwsKmsKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsKeyring" + m_AwsKmsMrkDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkDiscoveryKeyring" + m_AwsKmsMrkKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkKeyring" m_AwsKmsMrkMatchForDecrypt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkMatchForDecrypt" + m_AwsKmsRsaKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsRsaKeyring" m_AwsKmsUtils "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsUtils" + m_CacheConstants "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CacheConstants" + m_CanonicalEncryptionContext "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CanonicalEncryptionContext" + m_Constants "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Constants" m_CreateKeyStoreTable "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeyStoreTable" m_CreateKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeys" m_DDBKeystoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DDBKeystoreOperations" + m_EcdhEdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EcdhEdkWrapping" + m_EdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EdkWrapping" + m_ErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/ErrorMessages" m_GetKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/GetKeys" + m_IntermediateKeyWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/IntermediateKeyWrapping" m_KMSKeystoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KMSKeystoreOperations" m_KeyStore "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KeyStore" m_KeyStoreErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KeyStoreErrorMessages" m_Keyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Keyring" m_KmsArn "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KmsArn" + m_LocalCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/LocalCMC" + m_MaterialWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MaterialWrapping" m_Materials "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Materials" m_MultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MultiKeyring" + m_RawAESKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawAESKeyring" + m_RawECDHKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawECDHKeyring" + m_RawRSAKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawRSAKeyring" + m_StormTracker "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StormTracker" + m_StormTrackingCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StormTrackingCMC" m_Structure "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Structure" + m_SynchronizedLocalCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/SynchronizedLocalCMC" m_AtomicPrimitives "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AtomicPrimitives" m_AwsCryptographyPrimitivesOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesOperations" m_AwsCryptographyPrimitivesTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesTypes" @@ -65,6 +87,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -84,6 +107,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -148,6 +172,28 @@ var _ m_KeyStore.Dummy__ var _ m_AlgorithmSuites.Dummy__ var _ m_Materials.Dummy__ var _ m_Keyring.Dummy__ +var _ m_CanonicalEncryptionContext.Dummy__ +var _ m_MaterialWrapping.Dummy__ +var _ m_IntermediateKeyWrapping.Dummy__ +var _ m_EdkWrapping.Dummy__ +var _ m_ErrorMessages.Dummy__ +var _ m_RawAESKeyring.Dummy__ +var _ m_Constants.Dummy__ +var _ m_EcdhEdkWrapping.Dummy__ +var _ m_RawECDHKeyring.Dummy__ +var _ m_RawRSAKeyring.Dummy__ +var _ m_AwsKmsKeyring.Dummy__ +var _ m_AwsKmsDiscoveryKeyring.Dummy__ +var _ m_AwsKmsEcdhKeyring.Dummy__ +var _ m_LocalCMC.Dummy__ +var _ m_SynchronizedLocalCMC.Dummy__ +var _ m_StormTracker.Dummy__ +var _ m_StormTrackingCMC.Dummy__ +var _ m_CacheConstants.Dummy__ +var _ m_AwsKmsHierarchicalKeyring.Dummy__ +var _ m_AwsKmsMrkDiscoveryKeyring.Dummy__ +var _ m_AwsKmsMrkKeyring.Dummy__ +var _ m_AwsKmsRsaKeyring.Dummy__ var _ m_MultiKeyring.Dummy__ type Dummy__ struct{} @@ -187,32 +233,32 @@ func (_this *Default__) ParentTraits_() []*_dafny.TraitID { var _ _dafny.TraitOffspring = &Default__{} func (_static *CompanionStruct_Default___) AwsKmsMrkAreUnique(identifiers _dafny.Sequence) m_Wrappers.Outcome { - var _0_mrks _dafny.Sequence = m_Seq.Companion_Default___.Filter(func(coer32 func(m_AwsArnParsing.AwsKmsIdentifier) bool) func(interface{}) bool { - return func(arg32 interface{}) bool { - return coer32(arg32.(m_AwsArnParsing.AwsKmsIdentifier)) + var _0_mrks _dafny.Sequence = m_Seq.Companion_Default___.Filter(func(coer113 func(m_AwsArnParsing.AwsKmsIdentifier) bool) func(interface{}) bool { + return func(arg114 interface{}) bool { + return coer113(arg114.(m_AwsArnParsing.AwsKmsIdentifier)) } }(m_AwsArnParsing.Companion_Default___.IsMultiRegionAwsKmsIdentifier), identifiers) _ = _0_mrks - if (_dafny.IntOfUint32((_0_mrks).Cardinality())).Sign() == 0 { + if (uint64((_0_mrks).Cardinality())) == (uint64(0)) { return m_Wrappers.Companion_Outcome_.Create_Pass_() } else { - var _1_mrkKeyIds _dafny.Sequence = m_Seq.Companion_Default___.Map(func(coer33 func(m_AwsArnParsing.AwsKmsIdentifier) _dafny.Sequence) func(interface{}) interface{} { - return func(arg33 interface{}) interface{} { - return coer33(arg33.(m_AwsArnParsing.AwsKmsIdentifier)) + var _1_mrkKeyIds _dafny.Sequence = m_Seq.Companion_Default___.Map(func(coer114 func(m_AwsArnParsing.AwsKmsIdentifier) _dafny.Sequence) func(interface{}) interface{} { + return func(arg115 interface{}) interface{} { + return coer114(arg115.(m_AwsArnParsing.AwsKmsIdentifier)) } }(Companion_Default___.GetKeyId), _0_mrks) _ = _1_mrkKeyIds var _2_setMrks _dafny.Set = m_Seq.Companion_Default___.ToSet(_1_mrkKeyIds) _ = _2_setMrks - if (_dafny.IntOfUint32((_1_mrkKeyIds).Cardinality())).Cmp((_2_setMrks).Cardinality()) == 0 { + if (uint64((_1_mrkKeyIds).Cardinality())) == (uint64((_2_setMrks).CardinalityInt())) { return m_Wrappers.Companion_Outcome_.Create_Pass_() } else { var _3_duplicateMrkIds _dafny.Set = func() _dafny.Set { var _coll0 = _dafny.NewBuilder() _ = _coll0 - for _iter9 := _dafny.Iterate((_1_mrkKeyIds).Elements()); ; { - _compr_0, _ok9 := _iter9() - if !_ok9 { + for _iter10 := _dafny.Iterate((_1_mrkKeyIds).Elements()); ; { + _compr_0, _ok10 := _iter10() + if !_ok10 { break } var _4_x _dafny.Sequence @@ -234,19 +280,19 @@ func (_static *CompanionStruct_Default___) AwsKmsMrkAreUnique(identifiers _dafny return (_9_i).ToString() } _ = _8_identifierToString - var _10_duplicateIdentifiers _dafny.Sequence = m_Seq.Companion_Default___.Filter(func(coer34 func(m_AwsArnParsing.AwsKmsIdentifier) bool) func(interface{}) bool { - return func(arg34 interface{}) bool { - return coer34(arg34.(m_AwsArnParsing.AwsKmsIdentifier)) + var _10_duplicateIdentifiers _dafny.Sequence = m_Seq.Companion_Default___.Filter(func(coer115 func(m_AwsArnParsing.AwsKmsIdentifier) bool) func(interface{}) bool { + return func(arg116 interface{}) bool { + return coer115(arg116.(m_AwsArnParsing.AwsKmsIdentifier)) } }(_5_isDuplicate), identifiers) _ = _10_duplicateIdentifiers - var _11_duplicates _dafny.Sequence = m_Seq.Companion_Default___.Map(func(coer35 func(m_AwsArnParsing.AwsKmsIdentifier) _dafny.Sequence) func(interface{}) interface{} { - return func(arg35 interface{}) interface{} { - return coer35(arg35.(m_AwsArnParsing.AwsKmsIdentifier)) + var _11_duplicates _dafny.Sequence = m_Seq.Companion_Default___.Map(func(coer116 func(m_AwsArnParsing.AwsKmsIdentifier) _dafny.Sequence) func(interface{}) interface{} { + return func(arg117 interface{}) interface{} { + return coer116(arg117.(m_AwsArnParsing.AwsKmsIdentifier)) } }(_8_identifierToString), _10_duplicateIdentifiers) _ = _11_duplicates - if (_dafny.IntOfUint32((_11_duplicates).Cardinality())).Sign() == 0 { + if (uint64((_11_duplicates).Cardinality())) == (uint64(0)) { return m_Wrappers.Companion_Outcome_.Create_Fail_(m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Impossible"))) } else { return m_Wrappers.Companion_Outcome_.Create_Fail_(m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_dafny.SeqOfString("Related multi-Region keys: "), m_StandardLibrary.Companion_Default___.Join(_11_duplicates, _dafny.SeqOfString(","))), _dafny.SeqOfString("are not allowed.")))) diff --git a/releases/go/mpl/AwsKmsMrkDiscoveryKeyring/AwsKmsMrkDiscoveryKeyring.go b/releases/go/mpl/AwsKmsMrkDiscoveryKeyring/AwsKmsMrkDiscoveryKeyring.go index bbf01fa06f..7757800351 100644 --- a/releases/go/mpl/AwsKmsMrkDiscoveryKeyring/AwsKmsMrkDiscoveryKeyring.go +++ b/releases/go/mpl/AwsKmsMrkDiscoveryKeyring/AwsKmsMrkDiscoveryKeyring.go @@ -16,16 +16,18 @@ import ( m_AwsCryptographyKeyStoreTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreTypes" m_AwsCryptographyMaterialProvidersTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" m_AwsKmsDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsDiscoveryKeyring" + m_AwsKmsEcdhKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsEcdhKeyring" + m_AwsKmsHierarchicalKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsHierarchicalKeyring" m_AwsKmsKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsKeyring" - m_AwsKmsMrkAreUnique "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkAreUnique" m_AwsKmsMrkMatchForDecrypt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkMatchForDecrypt" m_AwsKmsUtils "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsUtils" + m_CacheConstants "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CacheConstants" m_CanonicalEncryptionContext "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CanonicalEncryptionContext" m_Constants "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Constants" m_CreateKeyStoreTable "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeyStoreTable" m_CreateKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeys" m_DDBKeystoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DDBKeystoreOperations" - m_DiscoveryMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DiscoveryMultiKeyring" + m_EcdhEdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EcdhEdkWrapping" m_EdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EdkWrapping" m_ErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/ErrorMessages" m_GetKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/GetKeys" @@ -35,11 +37,16 @@ import ( m_KeyStoreErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KeyStoreErrorMessages" m_Keyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Keyring" m_KmsArn "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KmsArn" + m_LocalCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/LocalCMC" m_MaterialWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MaterialWrapping" m_Materials "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Materials" - m_MultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MultiKeyring" - m_StrictMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StrictMultiKeyring" + m_RawAESKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawAESKeyring" + m_RawECDHKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawECDHKeyring" + m_RawRSAKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawRSAKeyring" + m_StormTracker "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StormTracker" + m_StormTrackingCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StormTrackingCMC" m_Structure "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Structure" + m_SynchronizedLocalCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/SynchronizedLocalCMC" m_AtomicPrimitives "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AtomicPrimitives" m_AwsCryptographyPrimitivesOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesOperations" m_AwsCryptographyPrimitivesTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesTypes" @@ -76,6 +83,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -96,6 +104,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -160,18 +169,25 @@ var _ m_KeyStore.Dummy__ var _ m_AlgorithmSuites.Dummy__ var _ m_Materials.Dummy__ var _ m_Keyring.Dummy__ -var _ m_MultiKeyring.Dummy__ -var _ m_AwsKmsMrkAreUnique.Dummy__ -var _ m_Constants.Dummy__ -var _ m_MaterialWrapping.Dummy__ var _ m_CanonicalEncryptionContext.Dummy__ +var _ m_MaterialWrapping.Dummy__ var _ m_IntermediateKeyWrapping.Dummy__ var _ m_EdkWrapping.Dummy__ var _ m_ErrorMessages.Dummy__ +var _ m_RawAESKeyring.Dummy__ +var _ m_Constants.Dummy__ +var _ m_EcdhEdkWrapping.Dummy__ +var _ m_RawECDHKeyring.Dummy__ +var _ m_RawRSAKeyring.Dummy__ var _ m_AwsKmsKeyring.Dummy__ -var _ m_StrictMultiKeyring.Dummy__ var _ m_AwsKmsDiscoveryKeyring.Dummy__ -var _ m_DiscoveryMultiKeyring.Dummy__ +var _ m_AwsKmsEcdhKeyring.Dummy__ +var _ m_LocalCMC.Dummy__ +var _ m_SynchronizedLocalCMC.Dummy__ +var _ m_StormTracker.Dummy__ +var _ m_StormTrackingCMC.Dummy__ +var _ m_CacheConstants.Dummy__ +var _ m_AwsKmsHierarchicalKeyring.Dummy__ type Dummy__ struct{} @@ -299,16 +315,16 @@ var _ m_AwsCryptographyMaterialProvidersTypes.IKeyring = &AwsKmsMrkDiscoveryKeyr var _ _dafny.TraitOffspring = &AwsKmsMrkDiscoveryKeyring{} func (_this *AwsKmsMrkDiscoveryKeyring) OnDecrypt(input m_AwsCryptographyMaterialProvidersTypes.OnDecryptInput) m_Wrappers.Result { - var _out4 m_Wrappers.Result - _ = _out4 - _out4 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnDecrypt(_this, input) - return _out4 + var _out8 m_Wrappers.Result + _ = _out8 + _out8 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnDecrypt(_this, input) + return _out8 } func (_this *AwsKmsMrkDiscoveryKeyring) OnEncrypt(input m_AwsCryptographyMaterialProvidersTypes.OnEncryptInput) m_Wrappers.Result { - var _out4 m_Wrappers.Result - _ = _out4 - _out4 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnEncrypt(_this, input) - return _out4 + var _out8 m_Wrappers.Result + _ = _out8 + _out8 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnEncrypt(_this, input) + return _out8 } func (_this *AwsKmsMrkDiscoveryKeyring) Ctor__(client m_ComAmazonawsKmsTypes.IKMSClient, region _dafny.Sequence, discoveryFilter m_Wrappers.Option, grantTokens _dafny.Sequence) { { @@ -366,7 +382,7 @@ func (_this *AwsKmsMrkDiscoveryKeyring) OnDecrypt_k(input m_AwsCryptographyMater var _6_edksToAttempt _dafny.Sequence _ = _6_edksToAttempt _6_edksToAttempt = (_5_valueOrError1).Extract().(_dafny.Sequence) - if (_dafny.IntOfUint32((_6_edksToAttempt).Cardinality())).Sign() == 0 { + if (uint64(0)) == (uint64((_6_edksToAttempt).Cardinality())) { var _7_valueOrError2 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq.SetString()) _ = _7_valueOrError2 _7_valueOrError2 = m_ErrorMessages.Companion_Default___.IncorrectDataKeys((input).Dtor_encryptedDataKeys(), ((input).Dtor_materials()).Dtor_algorithmSuite(), _dafny.SeqOfString("")) @@ -517,9 +533,9 @@ func (_this *AwsKmsEncryptedDataKeyFilterTransform) Invoke(edk interface{}) inte } var _1_valueOrError1 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq.SetString()) _ = _1_valueOrError1 - _1_valueOrError1 = (m_UTF8.Decode((edk).Dtor_keyProviderInfo())).MapFailure(func(coer67 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg68 interface{}) interface{} { - return coer67(arg68.(_dafny.Sequence)) + _1_valueOrError1 = (m_UTF8.Decode((edk).Dtor_keyProviderInfo())).MapFailure(func(coer104 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg105 interface{}) interface{} { + return coer104(arg105.(_dafny.Sequence)) } }(func(_2_e _dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_2_e) @@ -533,9 +549,9 @@ func (_this *AwsKmsEncryptedDataKeyFilterTransform) Invoke(edk interface{}) inte _3_keyId = (_1_valueOrError1).Extract().(_dafny.Sequence) var _4_valueOrError2 m_Wrappers.Result = m_Wrappers.Result{} _ = _4_valueOrError2 - _4_valueOrError2 = (m_AwsArnParsing.Companion_Default___.ParseAwsKmsArn(_3_keyId)).MapFailure(func(coer68 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg69 interface{}) interface{} { - return coer68(arg69.(_dafny.Sequence)) + _4_valueOrError2 = (m_AwsArnParsing.Companion_Default___.ParseAwsKmsArn(_3_keyId)).MapFailure(func(coer105 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg106 interface{}) interface{} { + return coer105(arg106.(_dafny.Sequence)) } }(func(_5_e _dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_5_e) diff --git a/releases/go/mpl/AwsKmsMrkKeyring/AwsKmsMrkKeyring.go b/releases/go/mpl/AwsKmsMrkKeyring/AwsKmsMrkKeyring.go index 85f9dc0202..e4ca223663 100644 --- a/releases/go/mpl/AwsKmsMrkKeyring/AwsKmsMrkKeyring.go +++ b/releases/go/mpl/AwsKmsMrkKeyring/AwsKmsMrkKeyring.go @@ -16,17 +16,19 @@ import ( m_AwsCryptographyKeyStoreTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreTypes" m_AwsCryptographyMaterialProvidersTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" m_AwsKmsDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsDiscoveryKeyring" + m_AwsKmsEcdhKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsEcdhKeyring" + m_AwsKmsHierarchicalKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsHierarchicalKeyring" m_AwsKmsKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsKeyring" - m_AwsKmsMrkAreUnique "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkAreUnique" m_AwsKmsMrkDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkDiscoveryKeyring" m_AwsKmsMrkMatchForDecrypt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkMatchForDecrypt" m_AwsKmsUtils "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsUtils" + m_CacheConstants "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CacheConstants" m_CanonicalEncryptionContext "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CanonicalEncryptionContext" m_Constants "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Constants" m_CreateKeyStoreTable "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeyStoreTable" m_CreateKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeys" m_DDBKeystoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DDBKeystoreOperations" - m_DiscoveryMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DiscoveryMultiKeyring" + m_EcdhEdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EcdhEdkWrapping" m_EdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EdkWrapping" m_ErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/ErrorMessages" m_GetKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/GetKeys" @@ -36,12 +38,16 @@ import ( m_KeyStoreErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KeyStoreErrorMessages" m_Keyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Keyring" m_KmsArn "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KmsArn" + m_LocalCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/LocalCMC" m_MaterialWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MaterialWrapping" m_Materials "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Materials" - m_MrkAwareDiscoveryMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MrkAwareDiscoveryMultiKeyring" - m_MultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MultiKeyring" - m_StrictMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StrictMultiKeyring" + m_RawAESKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawAESKeyring" + m_RawECDHKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawECDHKeyring" + m_RawRSAKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawRSAKeyring" + m_StormTracker "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StormTracker" + m_StormTrackingCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StormTrackingCMC" m_Structure "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Structure" + m_SynchronizedLocalCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/SynchronizedLocalCMC" m_AtomicPrimitives "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AtomicPrimitives" m_AwsCryptographyPrimitivesOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesOperations" m_AwsCryptographyPrimitivesTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesTypes" @@ -78,6 +84,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -98,6 +105,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -162,20 +170,26 @@ var _ m_KeyStore.Dummy__ var _ m_AlgorithmSuites.Dummy__ var _ m_Materials.Dummy__ var _ m_Keyring.Dummy__ -var _ m_MultiKeyring.Dummy__ -var _ m_AwsKmsMrkAreUnique.Dummy__ -var _ m_Constants.Dummy__ -var _ m_MaterialWrapping.Dummy__ var _ m_CanonicalEncryptionContext.Dummy__ +var _ m_MaterialWrapping.Dummy__ var _ m_IntermediateKeyWrapping.Dummy__ var _ m_EdkWrapping.Dummy__ var _ m_ErrorMessages.Dummy__ +var _ m_RawAESKeyring.Dummy__ +var _ m_Constants.Dummy__ +var _ m_EcdhEdkWrapping.Dummy__ +var _ m_RawECDHKeyring.Dummy__ +var _ m_RawRSAKeyring.Dummy__ var _ m_AwsKmsKeyring.Dummy__ -var _ m_StrictMultiKeyring.Dummy__ var _ m_AwsKmsDiscoveryKeyring.Dummy__ -var _ m_DiscoveryMultiKeyring.Dummy__ +var _ m_AwsKmsEcdhKeyring.Dummy__ +var _ m_LocalCMC.Dummy__ +var _ m_SynchronizedLocalCMC.Dummy__ +var _ m_StormTracker.Dummy__ +var _ m_StormTrackingCMC.Dummy__ +var _ m_CacheConstants.Dummy__ +var _ m_AwsKmsHierarchicalKeyring.Dummy__ var _ m_AwsKmsMrkDiscoveryKeyring.Dummy__ -var _ m_MrkAwareDiscoveryMultiKeyring.Dummy__ type Dummy__ struct{} @@ -238,16 +252,16 @@ var _ m_AwsCryptographyMaterialProvidersTypes.IKeyring = &AwsKmsMrkKeyring{} var _ _dafny.TraitOffspring = &AwsKmsMrkKeyring{} func (_this *AwsKmsMrkKeyring) OnDecrypt(input m_AwsCryptographyMaterialProvidersTypes.OnDecryptInput) m_Wrappers.Result { - var _out5 m_Wrappers.Result - _ = _out5 - _out5 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnDecrypt(_this, input) - return _out5 + var _out9 m_Wrappers.Result + _ = _out9 + _out9 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnDecrypt(_this, input) + return _out9 } func (_this *AwsKmsMrkKeyring) OnEncrypt(input m_AwsCryptographyMaterialProvidersTypes.OnEncryptInput) m_Wrappers.Result { - var _out5 m_Wrappers.Result - _ = _out5 - _out5 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnEncrypt(_this, input) - return _out5 + var _out9 m_Wrappers.Result + _ = _out9 + _out9 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnEncrypt(_this, input) + return _out9 } func (_this *AwsKmsMrkKeyring) Ctor__(client m_ComAmazonawsKmsTypes.IKMSClient, awsKmsKey _dafny.Sequence, grantTokens _dafny.Sequence) { { @@ -317,9 +331,9 @@ func (_this *AwsKmsMrkKeyring) OnEncrypt_k(input m_AwsCryptographyMaterialProvid } var _10_valueOrError2 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_UTF8.Companion_ValidUTF8Bytes_.Witness()) _ = _10_valueOrError2 - _10_valueOrError2 = (m_UTF8.Encode(_8_kmsKeyArn)).MapFailure(func(coer69 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg70 interface{}) interface{} { - return coer69(arg70.(_dafny.Sequence)) + _10_valueOrError2 = (m_UTF8.Encode(_8_kmsKeyArn)).MapFailure(func(coer106 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg107 interface{}) interface{} { + return coer106(arg107.(_dafny.Sequence)) } }(m_AwsKmsUtils.Companion_Default___.WrapStringToError)) if (_10_valueOrError2).IsFailure() { @@ -331,7 +345,7 @@ func (_this *AwsKmsMrkKeyring) OnEncrypt_k(input m_AwsCryptographyMaterialProvid _11_providerInfo = (_10_valueOrError2).Extract().(_dafny.Sequence) var _12_valueOrError3 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _12_valueOrError3 - _12_valueOrError3 = m_Wrappers.Companion_Default___.Need((_dafny.IntOfUint32((_11_providerInfo).Cardinality())).Cmp(m_StandardLibrary_UInt.Companion_Default___.UINT16__LIMIT()) < 0, m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Invalid response from AWS KMS GenerateDataKey: Key ID too long."))) + _12_valueOrError3 = m_Wrappers.Companion_Default___.Need((uint64((_11_providerInfo).Cardinality())) < ((m_StandardLibrary_UInt.Companion_Default___.UINT16__LIMIT()).Uint64()), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Invalid response from AWS KMS GenerateDataKey: Key ID too long."))) if (_12_valueOrError3).IsFailure() { output = (_12_valueOrError3).PropagateFailure() return output @@ -412,7 +426,7 @@ func (_this *AwsKmsMrkKeyring) OnDecrypt_k(input m_AwsCryptographyMaterialProvid var _6_edksToAttempt _dafny.Sequence _ = _6_edksToAttempt _6_edksToAttempt = (_5_valueOrError2).Extract().(_dafny.Sequence) - if (_dafny.IntOfUint32((_6_edksToAttempt).Cardinality())).Sign() == 0 { + if (uint64(0)) == (uint64((_6_edksToAttempt).Cardinality())) { var _7_valueOrError3 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq.SetString()) _ = _7_valueOrError3 _7_valueOrError3 = m_ErrorMessages.Companion_Default___.IncorrectDataKeys((input).Dtor_encryptedDataKeys(), ((input).Dtor_materials()).Dtor_algorithmSuite(), _dafny.SeqOfString("")) @@ -440,9 +454,9 @@ func (_this *AwsKmsMrkKeyring) OnDecrypt_k(input m_AwsCryptographyMaterialProvid _10_outcome = _out1 var _11_valueOrError4 m_Wrappers.Result = m_Wrappers.Result{} _ = _11_valueOrError4 - _11_valueOrError4 = (_10_outcome).MapFailure(func(coer70 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg71 interface{}) interface{} { - return coer70(arg71.(_dafny.Sequence)) + _11_valueOrError4 = (_10_outcome).MapFailure(func(coer107 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg108 interface{}) interface{} { + return coer107(arg108.(_dafny.Sequence)) } }(func(_12_errors _dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_CollectionOfErrors_(_12_errors, _dafny.SeqOfString("No Configured KMS Key was able to decrypt the Data Key. The list of encountered Exceptions is available via `list`.")) diff --git a/releases/go/mpl/AwsKmsMrkMatchForDecrypt/AwsKmsMrkMatchForDecrypt.go b/releases/go/mpl/AwsKmsMrkMatchForDecrypt/AwsKmsMrkMatchForDecrypt.go index 4b1f723007..2b0bcf2de7 100644 --- a/releases/go/mpl/AwsKmsMrkMatchForDecrypt/AwsKmsMrkMatchForDecrypt.go +++ b/releases/go/mpl/AwsKmsMrkMatchForDecrypt/AwsKmsMrkMatchForDecrypt.go @@ -47,6 +47,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -66,6 +67,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ diff --git a/releases/go/mpl/AwsKmsRsaKeyring/AwsKmsRsaKeyring.go b/releases/go/mpl/AwsKmsRsaKeyring/AwsKmsRsaKeyring.go index 1c290db0d2..9faa1f03d8 100644 --- a/releases/go/mpl/AwsKmsRsaKeyring/AwsKmsRsaKeyring.go +++ b/releases/go/mpl/AwsKmsRsaKeyring/AwsKmsRsaKeyring.go @@ -16,9 +16,9 @@ import ( m_AwsCryptographyKeyStoreTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreTypes" m_AwsCryptographyMaterialProvidersTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" m_AwsKmsDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsDiscoveryKeyring" + m_AwsKmsEcdhKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsEcdhKeyring" m_AwsKmsHierarchicalKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsHierarchicalKeyring" m_AwsKmsKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsKeyring" - m_AwsKmsMrkAreUnique "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkAreUnique" m_AwsKmsMrkDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkDiscoveryKeyring" m_AwsKmsMrkKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkKeyring" m_AwsKmsMrkMatchForDecrypt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkMatchForDecrypt" @@ -29,7 +29,7 @@ import ( m_CreateKeyStoreTable "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeyStoreTable" m_CreateKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeys" m_DDBKeystoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DDBKeystoreOperations" - m_DiscoveryMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DiscoveryMultiKeyring" + m_EcdhEdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EcdhEdkWrapping" m_EdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EdkWrapping" m_ErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/ErrorMessages" m_GetKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/GetKeys" @@ -42,12 +42,11 @@ import ( m_LocalCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/LocalCMC" m_MaterialWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MaterialWrapping" m_Materials "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Materials" - m_MrkAwareDiscoveryMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MrkAwareDiscoveryMultiKeyring" - m_MrkAwareStrictMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MrkAwareStrictMultiKeyring" - m_MultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MultiKeyring" + m_RawAESKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawAESKeyring" + m_RawECDHKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawECDHKeyring" + m_RawRSAKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawRSAKeyring" m_StormTracker "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StormTracker" m_StormTrackingCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StormTrackingCMC" - m_StrictMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StrictMultiKeyring" m_Structure "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Structure" m_SynchronizedLocalCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/SynchronizedLocalCMC" m_AtomicPrimitives "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AtomicPrimitives" @@ -86,6 +85,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -106,6 +106,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -170,28 +171,27 @@ var _ m_KeyStore.Dummy__ var _ m_AlgorithmSuites.Dummy__ var _ m_Materials.Dummy__ var _ m_Keyring.Dummy__ -var _ m_MultiKeyring.Dummy__ -var _ m_AwsKmsMrkAreUnique.Dummy__ -var _ m_Constants.Dummy__ -var _ m_MaterialWrapping.Dummy__ var _ m_CanonicalEncryptionContext.Dummy__ +var _ m_MaterialWrapping.Dummy__ var _ m_IntermediateKeyWrapping.Dummy__ var _ m_EdkWrapping.Dummy__ var _ m_ErrorMessages.Dummy__ +var _ m_RawAESKeyring.Dummy__ +var _ m_Constants.Dummy__ +var _ m_EcdhEdkWrapping.Dummy__ +var _ m_RawECDHKeyring.Dummy__ +var _ m_RawRSAKeyring.Dummy__ var _ m_AwsKmsKeyring.Dummy__ -var _ m_StrictMultiKeyring.Dummy__ var _ m_AwsKmsDiscoveryKeyring.Dummy__ -var _ m_DiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkDiscoveryKeyring.Dummy__ -var _ m_MrkAwareDiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkKeyring.Dummy__ -var _ m_MrkAwareStrictMultiKeyring.Dummy__ +var _ m_AwsKmsEcdhKeyring.Dummy__ var _ m_LocalCMC.Dummy__ var _ m_SynchronizedLocalCMC.Dummy__ var _ m_StormTracker.Dummy__ var _ m_StormTrackingCMC.Dummy__ var _ m_CacheConstants.Dummy__ var _ m_AwsKmsHierarchicalKeyring.Dummy__ +var _ m_AwsKmsMrkDiscoveryKeyring.Dummy__ +var _ m_AwsKmsMrkKeyring.Dummy__ type Dummy__ struct{} @@ -253,9 +253,9 @@ func (_static *CompanionStruct_Default___) EncryptionContextDigest(cryptoPrimiti _3_maybeDigest = _out0 var _4_valueOrError1 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) _ = _4_valueOrError1 - _4_valueOrError1 = (_3_maybeDigest).MapFailure(func(coer97 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg98 interface{}) interface{} { - return coer97(arg98.(m_AwsCryptographyPrimitivesTypes.Error)) + _4_valueOrError1 = (_3_maybeDigest).MapFailure(func(coer108 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg109 interface{}) interface{} { + return coer108(arg109.(m_AwsCryptographyPrimitivesTypes.Error)) } }(func(_5_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_5_e) @@ -342,16 +342,16 @@ var _ m_AwsCryptographyMaterialProvidersTypes.IKeyring = &AwsKmsRsaKeyring{} var _ _dafny.TraitOffspring = &AwsKmsRsaKeyring{} func (_this *AwsKmsRsaKeyring) OnDecrypt(input m_AwsCryptographyMaterialProvidersTypes.OnDecryptInput) m_Wrappers.Result { - var _out7 m_Wrappers.Result - _ = _out7 - _out7 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnDecrypt(_this, input) - return _out7 + var _out10 m_Wrappers.Result + _ = _out10 + _out10 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnDecrypt(_this, input) + return _out10 } func (_this *AwsKmsRsaKeyring) OnEncrypt(input m_AwsCryptographyMaterialProvidersTypes.OnEncryptInput) m_Wrappers.Result { - var _out7 m_Wrappers.Result - _ = _out7 - _out7 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnEncrypt(_this, input) - return _out7 + var _out10 m_Wrappers.Result + _ = _out10 + _out10 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnEncrypt(_this, input) + return _out10 } func (_this *AwsKmsRsaKeyring) Ctor__(publicKey m_Wrappers.Option, awsKmsKey _dafny.Sequence, paddingScheme m_ComAmazonawsKmsTypes.EncryptionAlgorithmSpec, client m_Wrappers.Option, cryptoPrimitives *m_AtomicPrimitives.AtomicPrimitivesClient, grantTokens _dafny.Sequence) { { @@ -373,7 +373,7 @@ func (_this *AwsKmsRsaKeyring) OnEncrypt_k(input m_AwsCryptographyMaterialProvid _ = res var _0_valueOrError0 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _0_valueOrError0 - _0_valueOrError0 = m_Wrappers.Companion_Default___.Need((((_this).PublicKey()).Is_Some()) && ((_dafny.IntOfUint32((((_this).PublicKey()).Extract().(_dafny.Sequence)).Cardinality())).Sign() == 1), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("A AwsKmsRsaKeyring without a public key cannot provide OnEncrypt"))) + _0_valueOrError0 = m_Wrappers.Companion_Default___.Need((((_this).PublicKey()).Is_Some()) && ((uint64((((_this).PublicKey()).Extract().(_dafny.Sequence)).Cardinality())) > (uint64(0))), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("A AwsKmsRsaKeyring without a public key cannot provide OnEncrypt"))) if (_0_valueOrError0).IsFailure() { res = (_0_valueOrError0).PropagateFailure() return res @@ -500,7 +500,7 @@ func (_this *AwsKmsRsaKeyring) OnDecrypt_k(input m_AwsCryptographyMaterialProvid var _7_edksToAttempt _dafny.Sequence _ = _7_edksToAttempt _7_edksToAttempt = (_6_valueOrError4).Extract().(_dafny.Sequence) - if (_dafny.IntOfUint32((_7_edksToAttempt).Cardinality())).Sign() == 0 { + if (uint64(0)) == (uint64((_7_edksToAttempt).Cardinality())) { var _8_valueOrError5 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq.SetString()) _ = _8_valueOrError5 _8_valueOrError5 = m_ErrorMessages.Companion_Default___.IncorrectDataKeys((input).Dtor_encryptedDataKeys(), ((input).Dtor_materials()).Dtor_algorithmSuite(), _dafny.SeqOfString("")) @@ -541,9 +541,9 @@ func (_this *AwsKmsRsaKeyring) OnDecrypt_k(input m_AwsCryptographyMaterialProvid _13_outcome = _out2 var _14_valueOrError7 m_Wrappers.Result = m_Wrappers.Result{} _ = _14_valueOrError7 - _14_valueOrError7 = (_13_outcome).MapFailure(func(coer98 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg99 interface{}) interface{} { - return coer98(arg99.(_dafny.Sequence)) + _14_valueOrError7 = (_13_outcome).MapFailure(func(coer109 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg110 interface{}) interface{} { + return coer109(arg110.(_dafny.Sequence)) } }(func(_15_errors _dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_CollectionOfErrors_(_15_errors, _dafny.SeqOfString("No Configured KMS Key was able to decrypt the Data Key. The list of encountered Exceptions is available via `list`.")) @@ -1031,9 +1031,9 @@ func (_this *KmsRsaGenerateAndWrapKeyMaterial) Invoke(input interface{}) interfa _0_generateBytesResult = _out0 var _1_valueOrError0 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) _ = _1_valueOrError0 - _1_valueOrError0 = (_0_generateBytesResult).MapFailure(func(coer99 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg100 interface{}) interface{} { - return coer99(arg100.(m_AwsCryptographyPrimitivesTypes.Error)) + _1_valueOrError0 = (_0_generateBytesResult).MapFailure(func(coer110 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg111 interface{}) interface{} { + return coer110(arg111.(m_AwsCryptographyPrimitivesTypes.Error)) } }(func(_2_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_2_e) @@ -1055,7 +1055,7 @@ func (_this *KmsRsaGenerateAndWrapKeyMaterial) Invoke(input interface{}) interfa _ = _5_valueOrError1 var _out1 interface{} _ = _out1 - _out1 = (_4_wrap).Invoke(m_MaterialWrapping.Companion_WrapInput_.Create_WrapInput_(_3_plaintextMaterial, (input).Dtor_algorithmSuite(), (input).Dtor_encryptionContext())) + _out1 = (_4_wrap).Invoke(m_MaterialWrapping.Companion_WrapInput_.Create_WrapInput_(_3_plaintextMaterial, (input).Dtor_algorithmSuite(), (input).Dtor_encryptionContext(), (input).Dtor_serializedEC())) _5_valueOrError1 = _out1.(m_Wrappers.Result) if (_5_valueOrError1).IsFailure() { res = (_5_valueOrError1).PropagateFailure() @@ -1198,9 +1198,9 @@ func (_this *KmsRsaWrapKeyMaterial) Invoke(input interface{}) interface{} { _3_RSAEncryptOutput = _out1 var _4_valueOrError1 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) _ = _4_valueOrError1 - _4_valueOrError1 = (_3_RSAEncryptOutput).MapFailure(func(coer100 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg101 interface{}) interface{} { - return coer100(arg101.(m_AwsCryptographyPrimitivesTypes.Error)) + _4_valueOrError1 = (_3_RSAEncryptOutput).MapFailure(func(coer111 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg112 interface{}) interface{} { + return coer111(arg112.(m_AwsCryptographyPrimitivesTypes.Error)) } }(func(_5_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_5_e) @@ -1332,9 +1332,9 @@ func (_this *KmsRsaUnwrapKeyMaterial) Invoke(input interface{}) interface{} { _2_maybeDecryptResponse = _out0 var _3_valueOrError1 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_ComAmazonawsKmsTypes.Companion_DecryptResponse_.Default()) _ = _3_valueOrError1 - _3_valueOrError1 = (_2_maybeDecryptResponse).MapFailure(func(coer101 func(m_ComAmazonawsKmsTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg102 interface{}) interface{} { - return coer101(arg102.(m_ComAmazonawsKmsTypes.Error)) + _3_valueOrError1 = (_2_maybeDecryptResponse).MapFailure(func(coer112 func(m_ComAmazonawsKmsTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg113 interface{}) interface{} { + return coer112(arg113.(m_ComAmazonawsKmsTypes.Error)) } }(func(_4_e m_ComAmazonawsKmsTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_ComAmazonawsKms_(_4_e) @@ -1355,14 +1355,14 @@ func (_this *KmsRsaUnwrapKeyMaterial) Invoke(input interface{}) interface{} { } var _7_valueOrError3 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _7_valueOrError3 - _7_valueOrError3 = m_Wrappers.Companion_Default___.Need((_dafny.Companion_Sequence_.IsPrefixOf((_this).EncryptionContextDigest(), ((_5_decryptResponse).Dtor_Plaintext()).Dtor_value().(_dafny.Sequence))) && (((_dafny.IntOfInt32(m_AlgorithmSuites.Companion_Default___.GetEncryptKeyLength((input).Dtor_algorithmSuite()))).Plus(_dafny.IntOfUint32(((_this).EncryptionContextDigest()).Cardinality()))).Cmp(_dafny.IntOfUint32((((_5_decryptResponse).Dtor_Plaintext()).Dtor_value().(_dafny.Sequence)).Cardinality())) == 0), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Encryption context digest does not match expected value."))) + _7_valueOrError3 = m_Wrappers.Companion_Default___.Need((_dafny.Companion_Sequence_.IsPrefixOf((_this).EncryptionContextDigest(), ((_5_decryptResponse).Dtor_Plaintext()).Dtor_value().(_dafny.Sequence))) && (((uint64(m_AlgorithmSuites.Companion_Default___.GetEncryptKeyLength((input).Dtor_algorithmSuite())))+(uint64(((_this).EncryptionContextDigest()).Cardinality()))) == (uint64((((_5_decryptResponse).Dtor_Plaintext()).Dtor_value().(_dafny.Sequence)).Cardinality()))), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Encryption context digest does not match expected value."))) if (_7_valueOrError3).IsFailure() { res = (_7_valueOrError3).PropagateFailure() return res } var _8_output m_MaterialWrapping.UnwrapOutput _ = _8_output - _8_output = m_MaterialWrapping.Companion_UnwrapOutput_.Create_UnwrapOutput_((((_5_decryptResponse).Dtor_Plaintext()).Dtor_value().(_dafny.Sequence)).Drop((_dafny.IntOfUint32(((_this).EncryptionContextDigest()).Cardinality())).Uint32()), Companion_KmsRsaUnwrapInfo_.Create_KmsRsaUnwrapInfo_()) + _8_output = m_MaterialWrapping.Companion_UnwrapOutput_.Create_UnwrapOutput_((((_5_decryptResponse).Dtor_Plaintext()).Dtor_value().(_dafny.Sequence)).Drop(uint32(uint64(((_this).EncryptionContextDigest()).Cardinality()))), Companion_KmsRsaUnwrapInfo_.Create_KmsRsaUnwrapInfo_()) res = m_Wrappers.Companion_Result_.Create_Success_(_8_output) return res return res diff --git a/releases/go/mpl/AwsKmsUtils/AwsKmsUtils.go b/releases/go/mpl/AwsKmsUtils/AwsKmsUtils.go index 15848a896b..0d4006ad3a 100644 --- a/releases/go/mpl/AwsKmsUtils/AwsKmsUtils.go +++ b/releases/go/mpl/AwsKmsUtils/AwsKmsUtils.go @@ -48,6 +48,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -68,6 +69,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -163,7 +165,7 @@ func (_static *CompanionStruct_Default___) OkForDecrypt(id m_AwsArnParsing.AwsKm } } func (_static *CompanionStruct_Default___) StringifyEncryptionContext(utf8EncCtx _dafny.Map) m_Wrappers.Result { - if ((utf8EncCtx).Cardinality()).Sign() == 0 { + if (uint64((utf8EncCtx).CardinalityInt())) == (uint64(0)) { return m_Wrappers.Companion_Result_.Create_Success_(_dafny.NewMapBuilder().ToMap()) } else { var _0_stringifyResults _dafny.Map = func() _dafny.Map { @@ -272,7 +274,7 @@ func (_static *CompanionStruct_Default___) ValidateKmsKeyId(keyId _dafny.Sequenc if (_2_valueOrError1).IsFailure() { return (_2_valueOrError1).PropagateFailure() } else { - var _3_valueOrError2 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need(((_dafny.IntOfUint32((keyId).Cardinality())).Sign() == 1) && ((_dafny.IntOfUint32((keyId).Cardinality())).Cmp(m_AwsArnParsing.Companion_Default___.MAX__AWS__KMS__IDENTIFIER__LENGTH()) <= 0), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Key identifier is too long"))) + var _3_valueOrError2 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need(((uint64(0)) < (uint64((keyId).Cardinality()))) && ((uint64((keyId).Cardinality())) <= (m_AwsArnParsing.Companion_Default___.MAX__AWS__KMS__IDENTIFIER__LENGTH())), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Key identifier is too long"))) _ = _3_valueOrError2 if (_3_valueOrError2).IsFailure() { return (_3_valueOrError2).PropagateFailure() @@ -285,7 +287,7 @@ func (_static *CompanionStruct_Default___) ValidateKmsKeyId(keyId _dafny.Sequenc func (_static *CompanionStruct_Default___) GetValidGrantTokens(grantTokens m_Wrappers.Option) m_Wrappers.Result { var _0_tokens _dafny.Sequence = (grantTokens).UnwrapOr(_dafny.SeqOf()).(_dafny.Sequence) _ = _0_tokens - var _1_valueOrError0 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need(((_dafny.IntOfUint32((_0_tokens).Cardinality())).Sign() != -1) && ((_dafny.IntOfUint32((_0_tokens).Cardinality())).Cmp(_dafny.IntOfInt64(10)) <= 0), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Grant token list can have no more than 10 tokens"))) + var _1_valueOrError0 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need(((uint64(0)) <= (uint64((_0_tokens).Cardinality()))) && ((uint64((_0_tokens).Cardinality())) <= (uint64(10))), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Grant token list can have no more than 10 tokens"))) _ = _1_valueOrError0 if (_1_valueOrError0).IsFailure() { return (_1_valueOrError0).PropagateFailure() @@ -293,7 +295,7 @@ func (_static *CompanionStruct_Default___) GetValidGrantTokens(grantTokens m_Wra var _2_valueOrError1 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need(_dafny.Quantifier((_0_tokens).UniqueElements(), true, func(_forall_var_0 _dafny.Sequence) bool { var _3_token _dafny.Sequence _3_token = interface{}(_forall_var_0).(_dafny.Sequence) - return !(_dafny.Companion_Sequence_.Contains(_0_tokens, _3_token)) || (((_dafny.One).Cmp(_dafny.IntOfUint32((_3_token).Cardinality())) <= 0) && ((_dafny.IntOfUint32((_3_token).Cardinality())).Cmp(_dafny.IntOfInt64(8192)) <= 0)) + return !(_dafny.Companion_Sequence_.Contains(_0_tokens, _3_token)) || (((uint64(1)) <= (uint64((_3_token).Cardinality()))) && ((uint64((_3_token).Cardinality())) <= (uint64(8192)))) }), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Grant token list contains a grant token with invalid length"))) _ = _2_valueOrError1 if (_2_valueOrError1).IsFailure() { @@ -356,7 +358,7 @@ func (_static *CompanionStruct_Default___) ParseKeyNamespaceAndName(keyNamespace } else { var _2_namespace _dafny.Sequence = (_0_valueOrError0).Extract().(_dafny.Sequence) _ = _2_namespace - var _3_valueOrError1 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need((_dafny.IntOfUint32((_2_namespace).Cardinality())).Cmp(m_StandardLibrary_UInt.Companion_Default___.UINT16__LIMIT()) < 0, m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Key namespace too long"))) + var _3_valueOrError1 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need((uint64((_2_namespace).Cardinality())) < ((m_StandardLibrary_UInt.Companion_Default___.UINT16__LIMIT()).Uint64()), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Key namespace too long"))) _ = _3_valueOrError1 if (_3_valueOrError1).IsFailure() { return (_3_valueOrError1).PropagateFailure() @@ -374,7 +376,7 @@ func (_static *CompanionStruct_Default___) ParseKeyNamespaceAndName(keyNamespace } else { var _6_name _dafny.Sequence = (_4_valueOrError2).Extract().(_dafny.Sequence) _ = _6_name - var _7_valueOrError3 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need((_dafny.IntOfUint32((_6_name).Cardinality())).Cmp(m_StandardLibrary_UInt.Companion_Default___.UINT16__LIMIT()) < 0, m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Key name too long"))) + var _7_valueOrError3 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need((uint64((_6_name).Cardinality())) < ((m_StandardLibrary_UInt.Companion_Default___.UINT16__LIMIT()).Uint64()), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Key name too long"))) _ = _7_valueOrError3 if (_7_valueOrError3).IsFailure() { return (_7_valueOrError3).PropagateFailure() @@ -386,7 +388,7 @@ func (_static *CompanionStruct_Default___) ParseKeyNamespaceAndName(keyNamespace } } func (_static *CompanionStruct_Default___) ValidateDiscoveryFilter(filter m_AwsCryptographyMaterialProvidersTypes.DiscoveryFilter) m_Wrappers.Result { - var _0_valueOrError0 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need((_dafny.IntOfUint32(((filter).Dtor_accountIds()).Cardinality())).Sign() == 1, m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Discovery filter must have at least one account ID"))) + var _0_valueOrError0 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need((uint64(((filter).Dtor_accountIds()).Cardinality())) > (uint64(0)), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Discovery filter must have at least one account ID"))) _ = _0_valueOrError0 if (_0_valueOrError0).IsFailure() { return (_0_valueOrError0).PropagateFailure() @@ -394,13 +396,13 @@ func (_static *CompanionStruct_Default___) ValidateDiscoveryFilter(filter m_AwsC var _1_valueOrError1 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need(_dafny.Quantifier(((filter).Dtor_accountIds()).UniqueElements(), true, func(_forall_var_0 _dafny.Sequence) bool { var _2_accountId _dafny.Sequence _2_accountId = interface{}(_forall_var_0).(_dafny.Sequence) - return !(_dafny.Companion_Sequence_.Contains((filter).Dtor_accountIds(), _2_accountId)) || ((_dafny.IntOfUint32((_2_accountId).Cardinality())).Sign() == 1) + return !(_dafny.Companion_Sequence_.Contains((filter).Dtor_accountIds(), _2_accountId)) || ((uint64((_2_accountId).Cardinality())) > (uint64(0))) }), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Discovery filter account IDs cannot be blank"))) _ = _1_valueOrError1 if (_1_valueOrError1).IsFailure() { return (_1_valueOrError1).PropagateFailure() } else { - var _3_valueOrError2 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need((_dafny.IntOfUint32(((filter).Dtor_partition()).Cardinality())).Sign() == 1, m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Discovery filter partition cannot be blank"))) + var _3_valueOrError2 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need((uint64(((filter).Dtor_partition()).Cardinality())) > (uint64(0)), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Discovery filter partition cannot be blank"))) _ = _3_valueOrError2 if (_3_valueOrError2).IsFailure() { return (_3_valueOrError2).PropagateFailure() diff --git a/releases/go/mpl/CHANGELOG.md b/releases/go/mpl/CHANGELOG.md index e74c8f09a2..b8e3b74fe3 100644 --- a/releases/go/mpl/CHANGELOG.md +++ b/releases/go/mpl/CHANGELOG.md @@ -1,5 +1,41 @@ # Changelog +## [releases/go/mpl/v0.2.1] - 2025-08-06 + +### Fixes + +- _(all languages)_ Bump Dafny libraries for JSON fix (#1517) + +### Maintenance + +- _(all languages)_ Update ddb model (#1357) +- _(all languages)_ Don't recalculate RSA key on every decrypt (#1448) +- _(all languages)_ Store privateKey in RawRSAKeyring because some Java code needs it (#1450) +- _(go)_ Remove print statements from testLotsOfAdding (#1468) +- _(all languages)_ Support for memory size constraints (#1481) +- _(all languages)_ Update UInt and MemoryMath as needed for DB-ESDK (#1488) +- _(all languages)_ More using uint64 instead of nat (#1490) +- _(go)_ Implement missing MutableMap::content() (#1519) +- _(all languages)_ BK fix to extract encryption context for branch key materials (#1523) +- _(all languages)_ Make HasSubString generic (#1549) +- _(all languages)_ Update makefile to only use prettier 3.5.3 (#1577) +- _(all languages)_ Remove negative test for codebuild runner (#1603) +- _(go)_ Automate changelog for Go release (#1607) +- _(all languages)_ Append our user agent in KMS client (#1564) +- _(all languages)_ Add Rust and Go to supported languages (#1492) +- _(go)_ Update go test matrix and clean up setup (#1625) +- _(all languages)_ Add search and replace methods (#1649) +- _(go)_ Update Go release script for ESDK and DB-ESDK (#1653) +- _(go)_ Release smithy-dafny-standard-library Go module 0.2.1 (#1666) +- _(go)_ Release kms Go module 0.2.1 (#1667) +- _(go)_ Release primitives Go module 0.2.1 (#1669) +- _(go)_ Release dynamodb Go module 0.2.1 (#1671) + +### Miscellaneous + +- _(all languages)_ Restore static test branch key id (#1404) +- _(all languages)_ Add tests for multiple utf8 ec entries (#1424) + # [0.2.0] (2025-03-18) - Breaks compatibility with v0.1.0 when using chars with unicode codepoints > 65535 diff --git a/releases/go/mpl/CMM/CMM.go b/releases/go/mpl/CMM/CMM.go index 6f593fe08a..c7659431c9 100644 --- a/releases/go/mpl/CMM/CMM.go +++ b/releases/go/mpl/CMM/CMM.go @@ -92,6 +92,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -112,6 +113,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -176,34 +178,34 @@ var _ m_KeyStore.Dummy__ var _ m_AlgorithmSuites.Dummy__ var _ m_Materials.Dummy__ var _ m_Keyring.Dummy__ -var _ m_MultiKeyring.Dummy__ -var _ m_AwsKmsMrkAreUnique.Dummy__ -var _ m_Constants.Dummy__ -var _ m_MaterialWrapping.Dummy__ var _ m_CanonicalEncryptionContext.Dummy__ +var _ m_MaterialWrapping.Dummy__ var _ m_IntermediateKeyWrapping.Dummy__ var _ m_EdkWrapping.Dummy__ var _ m_ErrorMessages.Dummy__ +var _ m_RawAESKeyring.Dummy__ +var _ m_Constants.Dummy__ +var _ m_EcdhEdkWrapping.Dummy__ +var _ m_RawECDHKeyring.Dummy__ +var _ m_RawRSAKeyring.Dummy__ var _ m_AwsKmsKeyring.Dummy__ -var _ m_StrictMultiKeyring.Dummy__ var _ m_AwsKmsDiscoveryKeyring.Dummy__ -var _ m_DiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkDiscoveryKeyring.Dummy__ -var _ m_MrkAwareDiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkKeyring.Dummy__ -var _ m_MrkAwareStrictMultiKeyring.Dummy__ +var _ m_AwsKmsEcdhKeyring.Dummy__ var _ m_LocalCMC.Dummy__ var _ m_SynchronizedLocalCMC.Dummy__ var _ m_StormTracker.Dummy__ var _ m_StormTrackingCMC.Dummy__ var _ m_CacheConstants.Dummy__ var _ m_AwsKmsHierarchicalKeyring.Dummy__ +var _ m_AwsKmsMrkDiscoveryKeyring.Dummy__ +var _ m_AwsKmsMrkKeyring.Dummy__ var _ m_AwsKmsRsaKeyring.Dummy__ -var _ m_EcdhEdkWrapping.Dummy__ -var _ m_RawECDHKeyring.Dummy__ -var _ m_AwsKmsEcdhKeyring.Dummy__ -var _ m_RawAESKeyring.Dummy__ -var _ m_RawRSAKeyring.Dummy__ +var _ m_MultiKeyring.Dummy__ +var _ m_AwsKmsMrkAreUnique.Dummy__ +var _ m_StrictMultiKeyring.Dummy__ +var _ m_DiscoveryMultiKeyring.Dummy__ +var _ m_MrkAwareDiscoveryMultiKeyring.Dummy__ +var _ m_MrkAwareStrictMultiKeyring.Dummy__ type Dummy__ struct{} @@ -255,19 +257,19 @@ func (_static *CompanionStruct_Default___) RequiredEncryptionContextKeys_q(requi func (_static *CompanionStruct_Default___) EncryptionContextComplete(input m_AwsCryptographyMaterialProvidersTypes.DecryptMaterialsInput, decryptionMaterials m_AwsCryptographyMaterialProvidersTypes.DecryptionMaterials) bool { var _0_reproducedEncryptionContext _dafny.Map = ((input).Dtor_reproducedEncryptionContext()).UnwrapOr(_dafny.NewMapBuilder().ToMap()).(_dafny.Map) _ = _0_reproducedEncryptionContext - return _dafny.Quantifier(((_0_reproducedEncryptionContext).Keys()).Elements(), true, func(_forall_var_0 _dafny.Sequence) bool { + return _dafny.Quantifier((_0_reproducedEncryptionContext).Keys().Elements(), true, func(_forall_var_0 _dafny.Sequence) bool { var _1_k _dafny.Sequence _1_k = interface{}(_forall_var_0).(_dafny.Sequence) - return !(((_0_reproducedEncryptionContext).Keys()).Contains(_1_k)) || ((((decryptionMaterials).Dtor_encryptionContext()).Contains(_1_k)) && (_dafny.Companion_Sequence_.Equal(((decryptionMaterials).Dtor_encryptionContext()).Get(_1_k).(_dafny.Sequence), (_0_reproducedEncryptionContext).Get(_1_k).(_dafny.Sequence)))) + return !((_0_reproducedEncryptionContext).Contains(_1_k)) || ((((decryptionMaterials).Dtor_encryptionContext()).Contains(_1_k)) && (_dafny.Companion_Sequence_.Equal(((decryptionMaterials).Dtor_encryptionContext()).Get(_1_k).(_dafny.Sequence), (_0_reproducedEncryptionContext).Get(_1_k).(_dafny.Sequence)))) }) } func (_static *CompanionStruct_Default___) ReproducedEncryptionContext_q(input m_AwsCryptographyMaterialProvidersTypes.DecryptMaterialsInput) bool { var _0_reproducedEncryptionContext _dafny.Map = ((input).Dtor_reproducedEncryptionContext()).UnwrapOr(_dafny.NewMapBuilder().ToMap()).(_dafny.Map) _ = _0_reproducedEncryptionContext - return _dafny.Quantifier(((_0_reproducedEncryptionContext).Keys()).Elements(), true, func(_forall_var_0 _dafny.Sequence) bool { + return _dafny.Quantifier((_0_reproducedEncryptionContext).Keys().Elements(), true, func(_forall_var_0 _dafny.Sequence) bool { var _1_k _dafny.Sequence _1_k = interface{}(_forall_var_0).(_dafny.Sequence) - return !((((_0_reproducedEncryptionContext).Keys()).Contains(_1_k)) && (((input).Dtor_encryptionContext()).Contains(_1_k))) || (_dafny.Companion_Sequence_.Equal(((input).Dtor_encryptionContext()).Get(_1_k).(_dafny.Sequence), (_0_reproducedEncryptionContext).Get(_1_k).(_dafny.Sequence))) + return !(((_0_reproducedEncryptionContext).Contains(_1_k)) && (((input).Dtor_encryptionContext()).Contains(_1_k))) || (_dafny.Companion_Sequence_.Equal(((input).Dtor_encryptionContext()).Get(_1_k).(_dafny.Sequence), (_0_reproducedEncryptionContext).Get(_1_k).(_dafny.Sequence))) }) } @@ -277,9 +279,9 @@ func (_static *CompanionStruct_Default___) ReproducedEncryptionContext_q(input m type VerifiableInterface interface { String() string DecryptMaterials(input m_AwsCryptographyMaterialProvidersTypes.DecryptMaterialsInput) m_Wrappers.Result + DecryptMaterials_k(input m_AwsCryptographyMaterialProvidersTypes.DecryptMaterialsInput) m_Wrappers.Result GetEncryptionMaterials(input m_AwsCryptographyMaterialProvidersTypes.GetEncryptionMaterialsInput) m_Wrappers.Result GetEncryptionMaterials_k(input m_AwsCryptographyMaterialProvidersTypes.GetEncryptionMaterialsInput) m_Wrappers.Result - DecryptMaterials_k(input m_AwsCryptographyMaterialProvidersTypes.DecryptMaterialsInput) m_Wrappers.Result } type CompanionStruct_VerifiableInterface_ struct { TraitID_ *_dafny.TraitID diff --git a/releases/go/mpl/CacheConstants/CacheConstants.go b/releases/go/mpl/CacheConstants/CacheConstants.go index d78e74fd54..c73b1b0449 100644 --- a/releases/go/mpl/CacheConstants/CacheConstants.go +++ b/releases/go/mpl/CacheConstants/CacheConstants.go @@ -16,10 +16,8 @@ import ( m_AwsCryptographyKeyStoreTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreTypes" m_AwsCryptographyMaterialProvidersTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" m_AwsKmsDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsDiscoveryKeyring" + m_AwsKmsEcdhKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsEcdhKeyring" m_AwsKmsKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsKeyring" - m_AwsKmsMrkAreUnique "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkAreUnique" - m_AwsKmsMrkDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkDiscoveryKeyring" - m_AwsKmsMrkKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkKeyring" m_AwsKmsMrkMatchForDecrypt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkMatchForDecrypt" m_AwsKmsUtils "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsUtils" m_CanonicalEncryptionContext "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CanonicalEncryptionContext" @@ -27,7 +25,7 @@ import ( m_CreateKeyStoreTable "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeyStoreTable" m_CreateKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeys" m_DDBKeystoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DDBKeystoreOperations" - m_DiscoveryMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DiscoveryMultiKeyring" + m_EcdhEdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EcdhEdkWrapping" m_EdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EdkWrapping" m_ErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/ErrorMessages" m_GetKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/GetKeys" @@ -40,12 +38,11 @@ import ( m_LocalCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/LocalCMC" m_MaterialWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MaterialWrapping" m_Materials "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Materials" - m_MrkAwareDiscoveryMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MrkAwareDiscoveryMultiKeyring" - m_MrkAwareStrictMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MrkAwareStrictMultiKeyring" - m_MultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MultiKeyring" + m_RawAESKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawAESKeyring" + m_RawECDHKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawECDHKeyring" + m_RawRSAKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawRSAKeyring" m_StormTracker "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StormTracker" m_StormTrackingCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StormTrackingCMC" - m_StrictMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StrictMultiKeyring" m_Structure "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Structure" m_SynchronizedLocalCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/SynchronizedLocalCMC" m_AtomicPrimitives "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AtomicPrimitives" @@ -84,6 +81,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -103,6 +101,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -167,22 +166,19 @@ var _ m_KeyStore.Dummy__ var _ m_AlgorithmSuites.Dummy__ var _ m_Materials.Dummy__ var _ m_Keyring.Dummy__ -var _ m_MultiKeyring.Dummy__ -var _ m_AwsKmsMrkAreUnique.Dummy__ -var _ m_Constants.Dummy__ -var _ m_MaterialWrapping.Dummy__ var _ m_CanonicalEncryptionContext.Dummy__ +var _ m_MaterialWrapping.Dummy__ var _ m_IntermediateKeyWrapping.Dummy__ var _ m_EdkWrapping.Dummy__ var _ m_ErrorMessages.Dummy__ +var _ m_RawAESKeyring.Dummy__ +var _ m_Constants.Dummy__ +var _ m_EcdhEdkWrapping.Dummy__ +var _ m_RawECDHKeyring.Dummy__ +var _ m_RawRSAKeyring.Dummy__ var _ m_AwsKmsKeyring.Dummy__ -var _ m_StrictMultiKeyring.Dummy__ var _ m_AwsKmsDiscoveryKeyring.Dummy__ -var _ m_DiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkDiscoveryKeyring.Dummy__ -var _ m_MrkAwareDiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkKeyring.Dummy__ -var _ m_MrkAwareStrictMultiKeyring.Dummy__ +var _ m_AwsKmsEcdhKeyring.Dummy__ var _ m_LocalCMC.Dummy__ var _ m_SynchronizedLocalCMC.Dummy__ var _ m_StormTracker.Dummy__ diff --git a/releases/go/mpl/CanonicalEncryptionContext/CanonicalEncryptionContext.go b/releases/go/mpl/CanonicalEncryptionContext/CanonicalEncryptionContext.go index 81d1926610..b1b025b8c9 100644 --- a/releases/go/mpl/CanonicalEncryptionContext/CanonicalEncryptionContext.go +++ b/releases/go/mpl/CanonicalEncryptionContext/CanonicalEncryptionContext.go @@ -15,10 +15,8 @@ import ( m_AwsCryptographyKeyStoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreOperations" m_AwsCryptographyKeyStoreTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreTypes" m_AwsCryptographyMaterialProvidersTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" - m_AwsKmsMrkAreUnique "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkAreUnique" m_AwsKmsMrkMatchForDecrypt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkMatchForDecrypt" m_AwsKmsUtils "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsUtils" - m_Constants "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Constants" m_CreateKeyStoreTable "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeyStoreTable" m_CreateKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeys" m_DDBKeystoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DDBKeystoreOperations" @@ -28,9 +26,7 @@ import ( m_KeyStoreErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KeyStoreErrorMessages" m_Keyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Keyring" m_KmsArn "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KmsArn" - m_MaterialWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MaterialWrapping" m_Materials "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Materials" - m_MultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MultiKeyring" m_Structure "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Structure" m_AtomicPrimitives "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AtomicPrimitives" m_AwsCryptographyPrimitivesOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesOperations" @@ -69,6 +65,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -88,6 +85,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -152,10 +150,6 @@ var _ m_KeyStore.Dummy__ var _ m_AlgorithmSuites.Dummy__ var _ m_Materials.Dummy__ var _ m_Keyring.Dummy__ -var _ m_MultiKeyring.Dummy__ -var _ m_AwsKmsMrkAreUnique.Dummy__ -var _ m_Constants.Dummy__ -var _ m_MaterialWrapping.Dummy__ type Dummy__ struct{} @@ -194,18 +188,18 @@ func (_this *Default__) ParentTraits_() []*_dafny.TraitID { var _ _dafny.TraitOffspring = &Default__{} func (_static *CompanionStruct_Default___) EncryptionContextToAAD(encryptionContext _dafny.Map) m_Wrappers.Result { - var _0_valueOrError0 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need(((encryptionContext).Cardinality()).Cmp(m_StandardLibrary_UInt.Companion_Default___.UINT16__LIMIT()) < 0, m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Encryption Context is too large"))) + var _0_valueOrError0 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need((uint64((encryptionContext).CardinalityInt())) < ((m_StandardLibrary_UInt.Companion_Default___.UINT16__LIMIT()).Uint64()), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Encryption Context is too large"))) _ = _0_valueOrError0 if (_0_valueOrError0).IsFailure() { return (_0_valueOrError0).PropagateFailure() } else { - var _1_keys _dafny.Sequence = m_SortedSets.SetToOrderedSequence2((encryptionContext).Keys(), func(coer36 func(uint8, uint8) bool) func(interface{}, interface{}) bool { - return func(arg36 interface{}, arg37 interface{}) bool { - return coer36(arg36.(uint8), arg37.(uint8)) + var _1_keys _dafny.Sequence = m_SortedSets.SetToOrderedSequence2((encryptionContext).Keys(), func(coer32 func(uint8, uint8) bool) func(interface{}, interface{}) bool { + return func(arg32 interface{}, arg33 interface{}) bool { + return coer32(arg32.(uint8), arg33.(uint8)) } }(m_StandardLibrary_UInt.Companion_Default___.UInt8Less)) _ = _1_keys - if (_dafny.IntOfUint32((_1_keys).Cardinality())).Sign() == 0 { + if (uint16((_1_keys).Cardinality())) == (uint16(0)) { return m_Wrappers.Companion_Result_.Create_Success_(_dafny.SeqOf()) } else { var _2_KeyIntoPairBytes func(_dafny.Sequence) m_Wrappers.Result = (func(_3_encryptionContext _dafny.Map) func(_dafny.Sequence) m_Wrappers.Result { @@ -227,9 +221,9 @@ func (_static *CompanionStruct_Default___) EncryptionContextToAAD(encryptionCont } })(encryptionContext) _ = _2_KeyIntoPairBytes - var _7_valueOrError2 m_Wrappers.Result = m_Seq.Companion_Default___.MapWithResult(func(coer37 func(_dafny.Sequence) m_Wrappers.Result) func(interface{}) m_Wrappers.Result { - return func(arg38 interface{}) m_Wrappers.Result { - return coer37(arg38.(_dafny.Sequence)) + var _7_valueOrError2 m_Wrappers.Result = m_Seq.Companion_Default___.MapWithResult(func(coer33 func(_dafny.Sequence) m_Wrappers.Result) func(interface{}) m_Wrappers.Result { + return func(arg34 interface{}) m_Wrappers.Result { + return coer33(arg34.(_dafny.Sequence)) } }(_2_KeyIntoPairBytes), _1_keys) _ = _7_valueOrError2 diff --git a/releases/go/mpl/Commitment/Commitment.go b/releases/go/mpl/Commitment/Commitment.go index 133ac5899e..896bcd4512 100644 --- a/releases/go/mpl/Commitment/Commitment.go +++ b/releases/go/mpl/Commitment/Commitment.go @@ -94,6 +94,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -113,6 +114,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -177,34 +179,34 @@ var _ m_KeyStore.Dummy__ var _ m_AlgorithmSuites.Dummy__ var _ m_Materials.Dummy__ var _ m_Keyring.Dummy__ -var _ m_MultiKeyring.Dummy__ -var _ m_AwsKmsMrkAreUnique.Dummy__ -var _ m_Constants.Dummy__ -var _ m_MaterialWrapping.Dummy__ var _ m_CanonicalEncryptionContext.Dummy__ +var _ m_MaterialWrapping.Dummy__ var _ m_IntermediateKeyWrapping.Dummy__ var _ m_EdkWrapping.Dummy__ var _ m_ErrorMessages.Dummy__ +var _ m_RawAESKeyring.Dummy__ +var _ m_Constants.Dummy__ +var _ m_EcdhEdkWrapping.Dummy__ +var _ m_RawECDHKeyring.Dummy__ +var _ m_RawRSAKeyring.Dummy__ var _ m_AwsKmsKeyring.Dummy__ -var _ m_StrictMultiKeyring.Dummy__ var _ m_AwsKmsDiscoveryKeyring.Dummy__ -var _ m_DiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkDiscoveryKeyring.Dummy__ -var _ m_MrkAwareDiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkKeyring.Dummy__ -var _ m_MrkAwareStrictMultiKeyring.Dummy__ +var _ m_AwsKmsEcdhKeyring.Dummy__ var _ m_LocalCMC.Dummy__ var _ m_SynchronizedLocalCMC.Dummy__ var _ m_StormTracker.Dummy__ var _ m_StormTrackingCMC.Dummy__ var _ m_CacheConstants.Dummy__ var _ m_AwsKmsHierarchicalKeyring.Dummy__ +var _ m_AwsKmsMrkDiscoveryKeyring.Dummy__ +var _ m_AwsKmsMrkKeyring.Dummy__ var _ m_AwsKmsRsaKeyring.Dummy__ -var _ m_EcdhEdkWrapping.Dummy__ -var _ m_RawECDHKeyring.Dummy__ -var _ m_AwsKmsEcdhKeyring.Dummy__ -var _ m_RawAESKeyring.Dummy__ -var _ m_RawRSAKeyring.Dummy__ +var _ m_MultiKeyring.Dummy__ +var _ m_AwsKmsMrkAreUnique.Dummy__ +var _ m_StrictMultiKeyring.Dummy__ +var _ m_DiscoveryMultiKeyring.Dummy__ +var _ m_MrkAwareDiscoveryMultiKeyring.Dummy__ +var _ m_MrkAwareStrictMultiKeyring.Dummy__ var _ m_CMM.Dummy__ var _ m_Defaults.Dummy__ diff --git a/releases/go/mpl/Constants/Constants.go b/releases/go/mpl/Constants/Constants.go index 5252a0e8a3..d39a11c03b 100644 --- a/releases/go/mpl/Constants/Constants.go +++ b/releases/go/mpl/Constants/Constants.go @@ -15,20 +15,24 @@ import ( m_AwsCryptographyKeyStoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreOperations" m_AwsCryptographyKeyStoreTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreTypes" m_AwsCryptographyMaterialProvidersTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" - m_AwsKmsMrkAreUnique "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkAreUnique" m_AwsKmsMrkMatchForDecrypt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkMatchForDecrypt" m_AwsKmsUtils "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsUtils" + m_CanonicalEncryptionContext "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CanonicalEncryptionContext" m_CreateKeyStoreTable "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeyStoreTable" m_CreateKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeys" m_DDBKeystoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DDBKeystoreOperations" + m_EdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EdkWrapping" + m_ErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/ErrorMessages" m_GetKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/GetKeys" + m_IntermediateKeyWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/IntermediateKeyWrapping" m_KMSKeystoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KMSKeystoreOperations" m_KeyStore "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KeyStore" m_KeyStoreErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KeyStoreErrorMessages" m_Keyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Keyring" m_KmsArn "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KmsArn" + m_MaterialWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MaterialWrapping" m_Materials "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Materials" - m_MultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MultiKeyring" + m_RawAESKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawAESKeyring" m_Structure "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Structure" m_AtomicPrimitives "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AtomicPrimitives" m_AwsCryptographyPrimitivesOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesOperations" @@ -66,6 +70,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -86,6 +91,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -150,8 +156,12 @@ var _ m_KeyStore.Dummy__ var _ m_AlgorithmSuites.Dummy__ var _ m_Materials.Dummy__ var _ m_Keyring.Dummy__ -var _ m_MultiKeyring.Dummy__ -var _ m_AwsKmsMrkAreUnique.Dummy__ +var _ m_CanonicalEncryptionContext.Dummy__ +var _ m_MaterialWrapping.Dummy__ +var _ m_IntermediateKeyWrapping.Dummy__ +var _ m_EdkWrapping.Dummy__ +var _ m_ErrorMessages.Dummy__ +var _ m_RawAESKeyring.Dummy__ type Dummy__ struct{} @@ -192,11 +202,11 @@ var _ _dafny.TraitOffspring = &Default__{} func (_static *CompanionStruct_Default___) ECDH__PROVIDER__INFO__RPL__INDEX() uint32 { return uint32(1) } -func (_static *CompanionStruct_Default___) ECDH__PROVIDER__INFO__PUBLIC__KEY__LEN() _dafny.Int { - return _dafny.IntOfInt64(4) +func (_static *CompanionStruct_Default___) ECDH__PROVIDER__INFO__PUBLIC__KEY__LEN() uint64 { + return uint64(4) } func (_static *CompanionStruct_Default___) ECDH__PROVIDER__INFO__RPK__INDEX() uint32 { - return (Companion_Default___.ECDH__PROVIDER__INFO__RPL__INDEX()) + ((Companion_Default___.ECDH__PROVIDER__INFO__PUBLIC__KEY__LEN()).Uint32()) + return (Companion_Default___.ECDH__PROVIDER__INFO__RPL__INDEX()) + (uint32(Companion_Default___.ECDH__PROVIDER__INFO__PUBLIC__KEY__LEN())) } func (_static *CompanionStruct_Default___) ECDH__AES__256__ENC__KEY__LENGTH() int32 { return int32(32) @@ -215,8 +225,8 @@ func (_static *CompanionStruct_Default___) PROVIDER__ID() _dafny.Sequence { _ = _0_s return _0_s } -func (_static *CompanionStruct_Default___) UINT32__TO__SEQ__LEN() _dafny.Int { - return _dafny.IntOfInt64(4) +func (_static *CompanionStruct_Default___) UINT32__TO__SEQ__LEN() uint64 { + return uint64(4) } func (_static *CompanionStruct_Default___) KDF__SALT__LEN() int32 { return int32(32) @@ -224,14 +234,14 @@ func (_static *CompanionStruct_Default___) KDF__SALT__LEN() int32 { func (_static *CompanionStruct_Default___) KDF__EXPECTED__LEN() int32 { return int32(64) } -func (_static *CompanionStruct_Default___) ECDH__COMMITMENT__KEY__LENGTH() _dafny.Int { - return _dafny.IntOfInt64(32) +func (_static *CompanionStruct_Default___) ECDH__COMMITMENT__KEY__LENGTH() uint64 { + return uint64(32) } -func (_static *CompanionStruct_Default___) ECDH__COMMITMENT__KEY__INDEX() _dafny.Int { - return _dafny.IntOfInt64(32) +func (_static *CompanionStruct_Default___) ECDH__COMMITMENT__KEY__INDEX() uint64 { + return uint64(32) } -func (_static *CompanionStruct_Default___) ECDH__WRAPPED__KEY__MATERIAL__INDEX() _dafny.Int { - return _dafny.IntOfInt64(64) +func (_static *CompanionStruct_Default___) ECDH__WRAPPED__KEY__MATERIAL__INDEX() uint64 { + return uint64(64) } func (_static *CompanionStruct_Default___) ECDH__KDF__STRING() _dafny.Sequence { return _dafny.SeqOfString("ecdh-key-derivation") @@ -239,7 +249,7 @@ func (_static *CompanionStruct_Default___) ECDH__KDF__STRING() _dafny.Sequence { func (_static *CompanionStruct_Default___) ECDH__KDF__PRF__STRING() _dafny.Sequence { return _dafny.SeqOfString("HMAC_SHA384") } -func (_static *CompanionStruct_Default___) ECDH__KDF__DELIMETER() _dafny.Sequence { +func (_static *CompanionStruct_Default___) ECDH__KDF__DELIMITER() _dafny.Sequence { return _dafny.SeqOf(uint8(0)) } func (_static *CompanionStruct_Default___) ECDH__PROVIDER__INFO__256__LEN() uint32 { @@ -251,26 +261,26 @@ func (_static *CompanionStruct_Default___) ECDH__PROVIDER__INFO__384__LEN() uint func (_static *CompanionStruct_Default___) ECDH__PROVIDER__INFO__521__LEN() uint32 { return uint32(143) } -func (_static *CompanionStruct_Default___) ECDH__PUBLIC__KEY__LEN__ECC__NIST__256() _dafny.Int { - return _dafny.IntOfInt64(91) +func (_static *CompanionStruct_Default___) ECDH__PUBLIC__KEY__LEN__ECC__NIST__256() uint64 { + return uint64(91) } -func (_static *CompanionStruct_Default___) ECDH__PUBLIC__KEY__LEN__ECC__NIST__384() _dafny.Int { - return _dafny.IntOfInt64(120) +func (_static *CompanionStruct_Default___) ECDH__PUBLIC__KEY__LEN__ECC__NIST__384() uint64 { + return uint64(120) } -func (_static *CompanionStruct_Default___) ECDH__PUBLIC__KEY__LEN__ECC__NIST__521() _dafny.Int { - return _dafny.IntOfInt64(158) +func (_static *CompanionStruct_Default___) ECDH__PUBLIC__KEY__LEN__ECC__NIST__521() uint64 { + return uint64(158) } -func (_static *CompanionStruct_Default___) ECDH__PUBLIC__KEY__COMPRESSED__LEN__ECC__NIST__256() _dafny.Int { - return _dafny.IntOfInt64(33) +func (_static *CompanionStruct_Default___) ECDH__PUBLIC__KEY__COMPRESSED__LEN__ECC__NIST__256() uint64 { + return uint64(33) } -func (_static *CompanionStruct_Default___) ECDH__PUBLIC__KEY__COMPRESSED__LEN__ECC__NIST__384() _dafny.Int { - return _dafny.IntOfInt64(49) +func (_static *CompanionStruct_Default___) ECDH__PUBLIC__KEY__COMPRESSED__LEN__ECC__NIST__384() uint64 { + return uint64(49) } -func (_static *CompanionStruct_Default___) ECDH__PUBLIC__KEY__COMPRESSED__LEN__ECC__NIST__521() _dafny.Int { - return _dafny.IntOfInt64(67) +func (_static *CompanionStruct_Default___) ECDH__PUBLIC__KEY__COMPRESSED__LEN__ECC__NIST__521() uint64 { + return uint64(67) } -func (_static *CompanionStruct_Default___) CIPHERTEXT__WRAPPED__MATERIAL__INDEX() _dafny.Int { - return _dafny.IntOfInt64(68) +func (_static *CompanionStruct_Default___) CIPHERTEXT__WRAPPED__MATERIAL__INDEX() uint64 { + return uint64(68) } func (_static *CompanionStruct_Default___) PROVIDER__ID__HIERARCHY() _dafny.Sequence { var _0_s _dafny.Sequence = _dafny.SeqOf(uint8(97), uint8(119), uint8(115), uint8(45), uint8(107), uint8(109), uint8(115), uint8(45), uint8(104), uint8(105), uint8(101), uint8(114), uint8(97), uint8(114), uint8(99), uint8(104), uint8(121)) @@ -283,16 +293,24 @@ func (_static *CompanionStruct_Default___) RSA__PROVIDER__ID() _dafny.Sequence { return _0_s } func (_static *CompanionStruct_Default___) KMS__ECDH__PROVIDER__ID() _dafny.Sequence { - return m_UTF8.Companion_Default___.EncodeAscii(_dafny.SeqOfString("aws-kms-ecdh")) + var _0_s _dafny.Sequence = _dafny.SeqOf(uint8(97), uint8(119), uint8(115), uint8(45), uint8(107), uint8(109), uint8(115), uint8(45), uint8(101), uint8(99), uint8(100), uint8(104)) + _ = _0_s + return _0_s } func (_static *CompanionStruct_Default___) RAW__ECDH__PROVIDER__ID() _dafny.Sequence { - return m_UTF8.Companion_Default___.EncodeAscii(_dafny.SeqOfString("raw-ecdh")) + var _0_s _dafny.Sequence = _dafny.SeqOf(uint8(114), uint8(97), uint8(119), uint8(45), uint8(101), uint8(99), uint8(100), uint8(104)) + _ = _0_s + return _0_s } func (_static *CompanionStruct_Default___) ECDH__KDF__PRF__NAME() _dafny.Sequence { - return m_UTF8.Companion_Default___.EncodeAscii(_dafny.SeqOfString("HMAC_SHA384")) + var _0_s _dafny.Sequence = _dafny.SeqOf(uint8(72), uint8(77), uint8(65), uint8(67), uint8(95), uint8(83), uint8(72), uint8(65), uint8(51), uint8(56), uint8(52)) + _ = _0_s + return _0_s } func (_static *CompanionStruct_Default___) ECDH__KDF__UTF8() _dafny.Sequence { - return m_UTF8.Companion_Default___.EncodeAscii(_dafny.SeqOfString("ecdh-key-derivation")) + var _0_s _dafny.Sequence = _dafny.SeqOf(uint8(101), uint8(99), uint8(100), uint8(104), uint8(45), uint8(107), uint8(101), uint8(121), uint8(45), uint8(100), uint8(101), uint8(114), uint8(105), uint8(118), uint8(97), uint8(116), uint8(105), uint8(111), uint8(110)) + _ = _0_s + return _0_s } // End of class Default__ @@ -333,9 +351,9 @@ func (_this type_AwsKmsEncryptedDataKey_) String() string { return "Constants.AwsKmsEncryptedDataKey" } func (_this *CompanionStruct_AwsKmsEncryptedDataKey_) Is_(__source m_AwsCryptographyMaterialProvidersTypes.EncryptedDataKey) bool { - var _0_edk m_AwsCryptographyMaterialProvidersTypes.EncryptedDataKey = (__source) - _ = _0_edk - return (_dafny.Companion_Sequence_.Equal((_0_edk).Dtor_keyProviderId(), Companion_Default___.PROVIDER__ID())) && (m_UTF8.Companion_Default___.ValidUTF8Seq((_0_edk).Dtor_keyProviderInfo())) + var _1_edk m_AwsCryptographyMaterialProvidersTypes.EncryptedDataKey = (__source) + _ = _1_edk + return (_dafny.Companion_Sequence_.Equal((_1_edk).Dtor_keyProviderId(), Companion_Default___.PROVIDER__ID())) && (m_UTF8.Companion_Default___.ValidUTF8Seq((_1_edk).Dtor_keyProviderInfo())) } // Definition of datatype AwsKmsEdkHelper diff --git a/releases/go/mpl/CreateKeyStoreTable/CreateKeyStoreTable.go b/releases/go/mpl/CreateKeyStoreTable/CreateKeyStoreTable.go index 8b97759714..60ce6bdaa8 100644 --- a/releases/go/mpl/CreateKeyStoreTable/CreateKeyStoreTable.go +++ b/releases/go/mpl/CreateKeyStoreTable/CreateKeyStoreTable.go @@ -55,6 +55,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -74,6 +75,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ diff --git a/releases/go/mpl/CreateKeys/CreateKeys.go b/releases/go/mpl/CreateKeys/CreateKeys.go index 4550190756..878c93ee5c 100644 --- a/releases/go/mpl/CreateKeys/CreateKeys.go +++ b/releases/go/mpl/CreateKeys/CreateKeys.go @@ -54,6 +54,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -73,6 +74,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ diff --git a/releases/go/mpl/DDBKeystoreOperations/DDBKeystoreOperations.go b/releases/go/mpl/DDBKeystoreOperations/DDBKeystoreOperations.go index 02f7f9e80a..732e38b388 100644 --- a/releases/go/mpl/DDBKeystoreOperations/DDBKeystoreOperations.go +++ b/releases/go/mpl/DDBKeystoreOperations/DDBKeystoreOperations.go @@ -53,6 +53,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -72,6 +73,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -263,7 +265,7 @@ func (_static *CompanionStruct_Default___) GetActiveBranchKeyItem(branchKeyIdent _5_getItemResponse = (_3_valueOrError0).Extract().(m_ComAmazonawsDynamodbTypes.GetItemOutput) var _6_valueOrError1 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _6_valueOrError1 - _6_valueOrError1 = m_Wrappers.Companion_Default___.Need((((_5_getItemResponse).Dtor_Item()).Is_Some()) && (((((_5_getItemResponse).Dtor_Item()).Dtor_value().(_dafny.Map)).Cardinality()).Cmp(_dafny.One) >= 0), m_AwsCryptographyKeyStoreTypes.Companion_Error_.Create_KeyStoreException_(m_KeyStoreErrorMessages.Companion_Default___.NO__CORRESPONDING__BRANCH__KEY())) + _6_valueOrError1 = m_Wrappers.Companion_Default___.Need((((_5_getItemResponse).Dtor_Item()).Is_Some()) && ((uint64((((_5_getItemResponse).Dtor_Item()).Dtor_value().(_dafny.Map)).CardinalityInt())) >= (uint64(1))), m_AwsCryptographyKeyStoreTypes.Companion_Error_.Create_KeyStoreException_(m_KeyStoreErrorMessages.Companion_Default___.NO__CORRESPONDING__BRANCH__KEY())) if (_6_valueOrError1).IsFailure() { output = (_6_valueOrError1).PropagateFailure() return output @@ -311,7 +313,7 @@ func (_static *CompanionStruct_Default___) GetVersionBranchKeyItem(branchKeyIden _5_getItemResponse = (_3_valueOrError0).Extract().(m_ComAmazonawsDynamodbTypes.GetItemOutput) var _6_valueOrError1 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _6_valueOrError1 - _6_valueOrError1 = m_Wrappers.Companion_Default___.Need((((_5_getItemResponse).Dtor_Item()).Is_Some()) && (((((_5_getItemResponse).Dtor_Item()).Dtor_value().(_dafny.Map)).Cardinality()).Cmp(_dafny.One) >= 0), m_AwsCryptographyKeyStoreTypes.Companion_Error_.Create_KeyStoreException_(m_KeyStoreErrorMessages.Companion_Default___.NO__CORRESPONDING__BRANCH__KEY())) + _6_valueOrError1 = m_Wrappers.Companion_Default___.Need((((_5_getItemResponse).Dtor_Item()).Is_Some()) && ((uint64((((_5_getItemResponse).Dtor_Item()).Dtor_value().(_dafny.Map)).CardinalityInt())) >= (uint64(1))), m_AwsCryptographyKeyStoreTypes.Companion_Error_.Create_KeyStoreException_(m_KeyStoreErrorMessages.Companion_Default___.NO__CORRESPONDING__BRANCH__KEY())) if (_6_valueOrError1).IsFailure() { output = (_6_valueOrError1).PropagateFailure() return output @@ -359,7 +361,7 @@ func (_static *CompanionStruct_Default___) GetBeaconKeyItem(branchKeyIdentifier _5_getItemResponse = (_3_valueOrError0).Extract().(m_ComAmazonawsDynamodbTypes.GetItemOutput) var _6_valueOrError1 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _6_valueOrError1 - _6_valueOrError1 = m_Wrappers.Companion_Default___.Need((((_5_getItemResponse).Dtor_Item()).Is_Some()) && (((((_5_getItemResponse).Dtor_Item()).Dtor_value().(_dafny.Map)).Cardinality()).Cmp(_dafny.One) >= 0), m_AwsCryptographyKeyStoreTypes.Companion_Error_.Create_KeyStoreException_(m_KeyStoreErrorMessages.Companion_Default___.NO__CORRESPONDING__BRANCH__KEY())) + _6_valueOrError1 = m_Wrappers.Companion_Default___.Need((((_5_getItemResponse).Dtor_Item()).Is_Some()) && ((uint64((((_5_getItemResponse).Dtor_Item()).Dtor_value().(_dafny.Map)).CardinalityInt())) >= (uint64(1))), m_AwsCryptographyKeyStoreTypes.Companion_Error_.Create_KeyStoreException_(m_KeyStoreErrorMessages.Companion_Default___.NO__CORRESPONDING__BRANCH__KEY())) if (_6_valueOrError1).IsFailure() { output = (_6_valueOrError1).PropagateFailure() return output diff --git a/releases/go/mpl/DefaultCMM/DefaultCMM.go b/releases/go/mpl/DefaultCMM/DefaultCMM.go index 86d9895a19..0dbda106e9 100644 --- a/releases/go/mpl/DefaultCMM/DefaultCMM.go +++ b/releases/go/mpl/DefaultCMM/DefaultCMM.go @@ -96,6 +96,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -115,6 +116,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -179,34 +181,34 @@ var _ m_KeyStore.Dummy__ var _ m_AlgorithmSuites.Dummy__ var _ m_Materials.Dummy__ var _ m_Keyring.Dummy__ -var _ m_MultiKeyring.Dummy__ -var _ m_AwsKmsMrkAreUnique.Dummy__ -var _ m_Constants.Dummy__ -var _ m_MaterialWrapping.Dummy__ var _ m_CanonicalEncryptionContext.Dummy__ +var _ m_MaterialWrapping.Dummy__ var _ m_IntermediateKeyWrapping.Dummy__ var _ m_EdkWrapping.Dummy__ var _ m_ErrorMessages.Dummy__ +var _ m_RawAESKeyring.Dummy__ +var _ m_Constants.Dummy__ +var _ m_EcdhEdkWrapping.Dummy__ +var _ m_RawECDHKeyring.Dummy__ +var _ m_RawRSAKeyring.Dummy__ var _ m_AwsKmsKeyring.Dummy__ -var _ m_StrictMultiKeyring.Dummy__ var _ m_AwsKmsDiscoveryKeyring.Dummy__ -var _ m_DiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkDiscoveryKeyring.Dummy__ -var _ m_MrkAwareDiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkKeyring.Dummy__ -var _ m_MrkAwareStrictMultiKeyring.Dummy__ +var _ m_AwsKmsEcdhKeyring.Dummy__ var _ m_LocalCMC.Dummy__ var _ m_SynchronizedLocalCMC.Dummy__ var _ m_StormTracker.Dummy__ var _ m_StormTrackingCMC.Dummy__ var _ m_CacheConstants.Dummy__ var _ m_AwsKmsHierarchicalKeyring.Dummy__ +var _ m_AwsKmsMrkDiscoveryKeyring.Dummy__ +var _ m_AwsKmsMrkKeyring.Dummy__ var _ m_AwsKmsRsaKeyring.Dummy__ -var _ m_EcdhEdkWrapping.Dummy__ -var _ m_RawECDHKeyring.Dummy__ -var _ m_AwsKmsEcdhKeyring.Dummy__ -var _ m_RawAESKeyring.Dummy__ -var _ m_RawRSAKeyring.Dummy__ +var _ m_MultiKeyring.Dummy__ +var _ m_AwsKmsMrkAreUnique.Dummy__ +var _ m_StrictMultiKeyring.Dummy__ +var _ m_DiscoveryMultiKeyring.Dummy__ +var _ m_MrkAwareDiscoveryMultiKeyring.Dummy__ +var _ m_MrkAwareStrictMultiKeyring.Dummy__ var _ m_CMM.Dummy__ var _ m_Defaults.Dummy__ var _ m_Commitment.Dummy__ @@ -326,9 +328,9 @@ func (_this *DefaultCMM) GetEncryptionMaterials_k(input m_AwsCryptographyMateria _6_maybeECDSAPair = _out0 var _7_valueOrError2 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_AwsCryptographyPrimitivesTypes.Companion_GenerateECDSASignatureKeyOutput_.Default()) _ = _7_valueOrError2 - _7_valueOrError2 = (_6_maybeECDSAPair).MapFailure(func(coer129 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg130 interface{}) interface{} { - return coer129(arg130.(m_AwsCryptographyPrimitivesTypes.Error)) + _7_valueOrError2 = (_6_maybeECDSAPair).MapFailure(func(coer125 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg126 interface{}) interface{} { + return coer125(arg126.(m_AwsCryptographyPrimitivesTypes.Error)) } }(func(_8_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_8_e) @@ -372,19 +374,23 @@ func (_this *DefaultCMM) GetEncryptionMaterials_k(input m_AwsCryptographyMateria var _14_encryptionMaterialsOutput m_AwsCryptographyMaterialProvidersTypes.GetEncryptionMaterialsOutput _ = _14_encryptionMaterialsOutput _14_encryptionMaterialsOutput = m_AwsCryptographyMaterialProvidersTypes.Companion_GetEncryptionMaterialsOutput_.Create_GetEncryptionMaterialsOutput_((_13_result).Dtor_materials()) - var _15_valueOrError5 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() - _ = _15_valueOrError5 - _15_valueOrError5 = m_Wrappers.Companion_Default___.Need(m_Materials.Companion_Default___.EncryptionMaterialsHasPlaintextDataKey((_14_encryptionMaterialsOutput).Dtor_encryptionMaterials()), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Could not retrieve materials required for encryption"))) - if (_15_valueOrError5).IsFailure() { - output = (_15_valueOrError5).PropagateFailure() - return output - } - var _16_valueOrError6 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() - _ = _16_valueOrError6 - _16_valueOrError6 = m_Wrappers.Companion_Default___.Need(m_Materials.Companion_Default___.ValidEncryptionMaterialsTransition(_11_materials, (_14_encryptionMaterialsOutput).Dtor_encryptionMaterials()), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Keyring returned an invalid response"))) - if (_16_valueOrError6).IsFailure() { - output = (_16_valueOrError6).PropagateFailure() - return output + if !((m_MultiKeyring.Companion_Default___.Verified_q((_this).Keyring())) || (func(_is_21 m_AwsCryptographyMaterialProvidersTypes.IKeyring) bool { + return _dafny.InstanceOf(_is_21, (*m_MultiKeyring.MultiKeyring)(nil)) + }((_this).Keyring()))) { + var _15_valueOrError5 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() + _ = _15_valueOrError5 + _15_valueOrError5 = m_Wrappers.Companion_Default___.Need(m_Materials.Companion_Default___.EncryptionMaterialsHasPlaintextDataKey((_14_encryptionMaterialsOutput).Dtor_encryptionMaterials()), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Could not retrieve materials required for encryption"))) + if (_15_valueOrError5).IsFailure() { + output = (_15_valueOrError5).PropagateFailure() + return output + } + var _16_valueOrError6 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() + _ = _16_valueOrError6 + _16_valueOrError6 = m_Wrappers.Companion_Default___.Need(m_Materials.Companion_Default___.ValidEncryptionMaterialsTransition(_11_materials, (_14_encryptionMaterialsOutput).Dtor_encryptionMaterials()), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Keyring returned an invalid response"))) + if (_16_valueOrError6).IsFailure() { + output = (_16_valueOrError6).PropagateFailure() + return output + } } output = m_Wrappers.Companion_Result_.Create_Success_(_14_encryptionMaterialsOutput) return output @@ -414,13 +420,13 @@ func (_this *DefaultCMM) DecryptMaterials_k(input m_AwsCryptographyMaterialProvi _ = _out0 _out0 = m_SortedSets.SetToSequence(_2_keysSet) _3_keysSeq = _out0 - var _4_i _dafny.Int + var _4_i uint64 _ = _4_i - _4_i = _dafny.Zero - for (_4_i).Cmp(_dafny.IntOfUint32((_3_keysSeq).Cardinality())) < 0 { + _4_i = uint64(0) + for (_4_i) < (uint64((_3_keysSeq).Cardinality())) { var _5_key _dafny.Sequence _ = _5_key - _5_key = (_3_keysSeq).Select((_4_i).Uint32()).(_dafny.Sequence) + _5_key = (_3_keysSeq).Select(uint32(_4_i)).(_dafny.Sequence) if ((input).Dtor_encryptionContext()).Contains(_5_key) { var _6_valueOrError1 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _6_valueOrError1 @@ -432,7 +438,7 @@ func (_this *DefaultCMM) DecryptMaterials_k(input m_AwsCryptographyMaterialProvi } else { _1_requiredEncryptionContextKeys = _dafny.Companion_Sequence_.Concatenate(_1_requiredEncryptionContextKeys, _dafny.SeqOf(_5_key)) } - _4_i = (_4_i).Plus(_dafny.One) + _4_i = (_4_i) + (uint64(1)) } } var _7_valueOrError2 m_Wrappers.Result = m_Wrappers.Result{} @@ -458,12 +464,16 @@ func (_this *DefaultCMM) DecryptMaterials_k(input m_AwsCryptographyMaterialProvi var _10_result m_AwsCryptographyMaterialProvidersTypes.OnDecryptOutput _ = _10_result _10_result = (_9_valueOrError3).Extract().(m_AwsCryptographyMaterialProvidersTypes.OnDecryptOutput) - var _11_valueOrError4 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() - _ = _11_valueOrError4 - _11_valueOrError4 = m_Wrappers.Companion_Default___.Need(m_Materials.Companion_Default___.DecryptionMaterialsTransitionIsValid(_8_materials, (_10_result).Dtor_materials()), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Keyring.OnDecrypt failed to decrypt the plaintext data key."))) - if (_11_valueOrError4).IsFailure() { - output = (_11_valueOrError4).PropagateFailure() - return output + if !((m_MultiKeyring.Companion_Default___.Verified_q((_this).Keyring())) || (func(_is_22 m_AwsCryptographyMaterialProvidersTypes.IKeyring) bool { + return _dafny.InstanceOf(_is_22, (*m_MultiKeyring.MultiKeyring)(nil)) + }((_this).Keyring()))) { + var _11_valueOrError4 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() + _ = _11_valueOrError4 + _11_valueOrError4 = m_Wrappers.Companion_Default___.Need(m_Materials.Companion_Default___.DecryptionMaterialsTransitionIsValid(_8_materials, (_10_result).Dtor_materials()), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Keyring.OnDecrypt failed to decrypt the plaintext data key."))) + if (_11_valueOrError4).IsFailure() { + output = (_11_valueOrError4).PropagateFailure() + return output + } } output = m_Wrappers.Companion_Result_.Create_Success_(m_AwsCryptographyMaterialProvidersTypes.Companion_DecryptMaterialsOutput_.Create_DecryptMaterialsOutput_((_10_result).Dtor_materials())) return output diff --git a/releases/go/mpl/DefaultClientSupplier/DefaultClientSupplier.go b/releases/go/mpl/DefaultClientSupplier/DefaultClientSupplier.go index 48fb21d3ac..cf6bc8b0bd 100644 --- a/releases/go/mpl/DefaultClientSupplier/DefaultClientSupplier.go +++ b/releases/go/mpl/DefaultClientSupplier/DefaultClientSupplier.go @@ -96,6 +96,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -115,6 +116,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -179,34 +181,34 @@ var _ m_KeyStore.Dummy__ var _ m_AlgorithmSuites.Dummy__ var _ m_Materials.Dummy__ var _ m_Keyring.Dummy__ -var _ m_MultiKeyring.Dummy__ -var _ m_AwsKmsMrkAreUnique.Dummy__ -var _ m_Constants.Dummy__ -var _ m_MaterialWrapping.Dummy__ var _ m_CanonicalEncryptionContext.Dummy__ +var _ m_MaterialWrapping.Dummy__ var _ m_IntermediateKeyWrapping.Dummy__ var _ m_EdkWrapping.Dummy__ var _ m_ErrorMessages.Dummy__ +var _ m_RawAESKeyring.Dummy__ +var _ m_Constants.Dummy__ +var _ m_EcdhEdkWrapping.Dummy__ +var _ m_RawECDHKeyring.Dummy__ +var _ m_RawRSAKeyring.Dummy__ var _ m_AwsKmsKeyring.Dummy__ -var _ m_StrictMultiKeyring.Dummy__ var _ m_AwsKmsDiscoveryKeyring.Dummy__ -var _ m_DiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkDiscoveryKeyring.Dummy__ -var _ m_MrkAwareDiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkKeyring.Dummy__ -var _ m_MrkAwareStrictMultiKeyring.Dummy__ +var _ m_AwsKmsEcdhKeyring.Dummy__ var _ m_LocalCMC.Dummy__ var _ m_SynchronizedLocalCMC.Dummy__ var _ m_StormTracker.Dummy__ var _ m_StormTrackingCMC.Dummy__ var _ m_CacheConstants.Dummy__ var _ m_AwsKmsHierarchicalKeyring.Dummy__ +var _ m_AwsKmsMrkDiscoveryKeyring.Dummy__ +var _ m_AwsKmsMrkKeyring.Dummy__ var _ m_AwsKmsRsaKeyring.Dummy__ -var _ m_EcdhEdkWrapping.Dummy__ -var _ m_RawECDHKeyring.Dummy__ -var _ m_AwsKmsEcdhKeyring.Dummy__ -var _ m_RawAESKeyring.Dummy__ -var _ m_RawRSAKeyring.Dummy__ +var _ m_MultiKeyring.Dummy__ +var _ m_AwsKmsMrkAreUnique.Dummy__ +var _ m_StrictMultiKeyring.Dummy__ +var _ m_DiscoveryMultiKeyring.Dummy__ +var _ m_MrkAwareDiscoveryMultiKeyring.Dummy__ +var _ m_MrkAwareStrictMultiKeyring.Dummy__ var _ m_CMM.Dummy__ var _ m_Defaults.Dummy__ var _ m_Commitment.Dummy__ @@ -284,9 +286,9 @@ func (_this *DefaultClientSupplier) GetClient_k(input m_AwsCryptographyMaterialP _ = _out0 _out0 = m_Com_Amazonaws_Kms.Companion_Default___.KMSClientForRegion((input).Dtor_region()) _0_maybeClient = _out0 - output = (_0_maybeClient).MapFailure(func(coer130 func(m_ComAmazonawsKmsTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg131 interface{}) interface{} { - return coer130(arg131.(m_ComAmazonawsKmsTypes.Error)) + output = (_0_maybeClient).MapFailure(func(coer126 func(m_ComAmazonawsKmsTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg127 interface{}) interface{} { + return coer126(arg127.(m_ComAmazonawsKmsTypes.Error)) } }(func(_1_e m_ComAmazonawsKmsTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_ComAmazonawsKms_(_1_e) diff --git a/releases/go/mpl/Defaults/Defaults.go b/releases/go/mpl/Defaults/Defaults.go index 1f8e827c11..34a32c2f4c 100644 --- a/releases/go/mpl/Defaults/Defaults.go +++ b/releases/go/mpl/Defaults/Defaults.go @@ -93,6 +93,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -112,6 +113,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -176,34 +178,34 @@ var _ m_KeyStore.Dummy__ var _ m_AlgorithmSuites.Dummy__ var _ m_Materials.Dummy__ var _ m_Keyring.Dummy__ -var _ m_MultiKeyring.Dummy__ -var _ m_AwsKmsMrkAreUnique.Dummy__ -var _ m_Constants.Dummy__ -var _ m_MaterialWrapping.Dummy__ var _ m_CanonicalEncryptionContext.Dummy__ +var _ m_MaterialWrapping.Dummy__ var _ m_IntermediateKeyWrapping.Dummy__ var _ m_EdkWrapping.Dummy__ var _ m_ErrorMessages.Dummy__ +var _ m_RawAESKeyring.Dummy__ +var _ m_Constants.Dummy__ +var _ m_EcdhEdkWrapping.Dummy__ +var _ m_RawECDHKeyring.Dummy__ +var _ m_RawRSAKeyring.Dummy__ var _ m_AwsKmsKeyring.Dummy__ -var _ m_StrictMultiKeyring.Dummy__ var _ m_AwsKmsDiscoveryKeyring.Dummy__ -var _ m_DiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkDiscoveryKeyring.Dummy__ -var _ m_MrkAwareDiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkKeyring.Dummy__ -var _ m_MrkAwareStrictMultiKeyring.Dummy__ +var _ m_AwsKmsEcdhKeyring.Dummy__ var _ m_LocalCMC.Dummy__ var _ m_SynchronizedLocalCMC.Dummy__ var _ m_StormTracker.Dummy__ var _ m_StormTrackingCMC.Dummy__ var _ m_CacheConstants.Dummy__ var _ m_AwsKmsHierarchicalKeyring.Dummy__ +var _ m_AwsKmsMrkDiscoveryKeyring.Dummy__ +var _ m_AwsKmsMrkKeyring.Dummy__ var _ m_AwsKmsRsaKeyring.Dummy__ -var _ m_EcdhEdkWrapping.Dummy__ -var _ m_RawECDHKeyring.Dummy__ -var _ m_AwsKmsEcdhKeyring.Dummy__ -var _ m_RawAESKeyring.Dummy__ -var _ m_RawRSAKeyring.Dummy__ +var _ m_MultiKeyring.Dummy__ +var _ m_AwsKmsMrkAreUnique.Dummy__ +var _ m_StrictMultiKeyring.Dummy__ +var _ m_DiscoveryMultiKeyring.Dummy__ +var _ m_MrkAwareDiscoveryMultiKeyring.Dummy__ +var _ m_MrkAwareStrictMultiKeyring.Dummy__ var _ m_CMM.Dummy__ type Dummy__ struct{} diff --git a/releases/go/mpl/DiscoveryMultiKeyring/DiscoveryMultiKeyring.go b/releases/go/mpl/DiscoveryMultiKeyring/DiscoveryMultiKeyring.go index 7ee9944dfd..802b3f0800 100644 --- a/releases/go/mpl/DiscoveryMultiKeyring/DiscoveryMultiKeyring.go +++ b/releases/go/mpl/DiscoveryMultiKeyring/DiscoveryMultiKeyring.go @@ -16,15 +16,22 @@ import ( m_AwsCryptographyKeyStoreTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreTypes" m_AwsCryptographyMaterialProvidersTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" m_AwsKmsDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsDiscoveryKeyring" + m_AwsKmsEcdhKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsEcdhKeyring" + m_AwsKmsHierarchicalKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsHierarchicalKeyring" m_AwsKmsKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsKeyring" m_AwsKmsMrkAreUnique "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkAreUnique" + m_AwsKmsMrkDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkDiscoveryKeyring" + m_AwsKmsMrkKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkKeyring" m_AwsKmsMrkMatchForDecrypt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkMatchForDecrypt" + m_AwsKmsRsaKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsRsaKeyring" m_AwsKmsUtils "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsUtils" + m_CacheConstants "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CacheConstants" m_CanonicalEncryptionContext "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CanonicalEncryptionContext" m_Constants "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Constants" m_CreateKeyStoreTable "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeyStoreTable" m_CreateKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeys" m_DDBKeystoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DDBKeystoreOperations" + m_EcdhEdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EcdhEdkWrapping" m_EdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EdkWrapping" m_ErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/ErrorMessages" m_GetKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/GetKeys" @@ -34,11 +41,18 @@ import ( m_KeyStoreErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KeyStoreErrorMessages" m_Keyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Keyring" m_KmsArn "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KmsArn" + m_LocalCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/LocalCMC" m_MaterialWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MaterialWrapping" m_Materials "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Materials" m_MultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MultiKeyring" + m_RawAESKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawAESKeyring" + m_RawECDHKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawECDHKeyring" + m_RawRSAKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawRSAKeyring" + m_StormTracker "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StormTracker" + m_StormTrackingCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StormTrackingCMC" m_StrictMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StrictMultiKeyring" m_Structure "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Structure" + m_SynchronizedLocalCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/SynchronizedLocalCMC" m_AtomicPrimitives "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AtomicPrimitives" m_AwsCryptographyPrimitivesOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesOperations" m_AwsCryptographyPrimitivesTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesTypes" @@ -75,6 +89,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -94,6 +109,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -158,17 +174,31 @@ var _ m_KeyStore.Dummy__ var _ m_AlgorithmSuites.Dummy__ var _ m_Materials.Dummy__ var _ m_Keyring.Dummy__ -var _ m_MultiKeyring.Dummy__ -var _ m_AwsKmsMrkAreUnique.Dummy__ -var _ m_Constants.Dummy__ -var _ m_MaterialWrapping.Dummy__ var _ m_CanonicalEncryptionContext.Dummy__ +var _ m_MaterialWrapping.Dummy__ var _ m_IntermediateKeyWrapping.Dummy__ var _ m_EdkWrapping.Dummy__ var _ m_ErrorMessages.Dummy__ +var _ m_RawAESKeyring.Dummy__ +var _ m_Constants.Dummy__ +var _ m_EcdhEdkWrapping.Dummy__ +var _ m_RawECDHKeyring.Dummy__ +var _ m_RawRSAKeyring.Dummy__ var _ m_AwsKmsKeyring.Dummy__ -var _ m_StrictMultiKeyring.Dummy__ var _ m_AwsKmsDiscoveryKeyring.Dummy__ +var _ m_AwsKmsEcdhKeyring.Dummy__ +var _ m_LocalCMC.Dummy__ +var _ m_SynchronizedLocalCMC.Dummy__ +var _ m_StormTracker.Dummy__ +var _ m_StormTrackingCMC.Dummy__ +var _ m_CacheConstants.Dummy__ +var _ m_AwsKmsHierarchicalKeyring.Dummy__ +var _ m_AwsKmsMrkDiscoveryKeyring.Dummy__ +var _ m_AwsKmsMrkKeyring.Dummy__ +var _ m_AwsKmsRsaKeyring.Dummy__ +var _ m_MultiKeyring.Dummy__ +var _ m_AwsKmsMrkAreUnique.Dummy__ +var _ m_StrictMultiKeyring.Dummy__ type Dummy__ struct{} @@ -211,7 +241,7 @@ func (_static *CompanionStruct_Default___) DiscoveryMultiKeyring(regions _dafny. _ = output var _0_valueOrError0 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _0_valueOrError0 - _0_valueOrError0 = m_Wrappers.Companion_Default___.Need((_dafny.IntOfUint32((regions).Cardinality())).Sign() == 1, m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("No regions passed."))) + _0_valueOrError0 = m_Wrappers.Companion_Default___.Need((uint64((regions).Cardinality())) > (uint64(0)), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("No regions passed."))) if (_0_valueOrError0).IsFailure() { output = (_0_valueOrError0).PropagateFailure() return output @@ -226,12 +256,12 @@ func (_static *CompanionStruct_Default___) DiscoveryMultiKeyring(regions _dafny. var _2_children _dafny.Sequence _ = _2_children _2_children = _dafny.SeqOf() - var _hi0 _dafny.Int = _dafny.IntOfUint32((regions).Cardinality()) + var _hi0 uint64 = uint64((regions).Cardinality()) _ = _hi0 - for _3_i := _dafny.Zero; _3_i.Cmp(_hi0) < 0; _3_i = _3_i.Plus(_dafny.One) { + for _3_i := uint64(0); _3_i < _hi0; _3_i++ { var _4_region _dafny.Sequence _ = _4_region - _4_region = (regions).Select((_3_i).Uint32()).(_dafny.Sequence) + _4_region = (regions).Select(uint32(_3_i)).(_dafny.Sequence) var _5_valueOrError2 m_Wrappers.Result = m_Wrappers.Result{} _ = _5_valueOrError2 var _out0 m_Wrappers.Result diff --git a/releases/go/mpl/EcdhEdkWrapping/EcdhEdkWrapping.go b/releases/go/mpl/EcdhEdkWrapping/EcdhEdkWrapping.go index 7b0026ebaa..4083dbdb1a 100644 --- a/releases/go/mpl/EcdhEdkWrapping/EcdhEdkWrapping.go +++ b/releases/go/mpl/EcdhEdkWrapping/EcdhEdkWrapping.go @@ -15,22 +15,13 @@ import ( m_AwsCryptographyKeyStoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreOperations" m_AwsCryptographyKeyStoreTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreTypes" m_AwsCryptographyMaterialProvidersTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" - m_AwsKmsDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsDiscoveryKeyring" - m_AwsKmsHierarchicalKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsHierarchicalKeyring" - m_AwsKmsKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsKeyring" - m_AwsKmsMrkAreUnique "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkAreUnique" - m_AwsKmsMrkDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkDiscoveryKeyring" - m_AwsKmsMrkKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkKeyring" m_AwsKmsMrkMatchForDecrypt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkMatchForDecrypt" - m_AwsKmsRsaKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsRsaKeyring" m_AwsKmsUtils "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsUtils" - m_CacheConstants "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CacheConstants" m_CanonicalEncryptionContext "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CanonicalEncryptionContext" m_Constants "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Constants" m_CreateKeyStoreTable "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeyStoreTable" m_CreateKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeys" m_DDBKeystoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DDBKeystoreOperations" - m_DiscoveryMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DiscoveryMultiKeyring" m_EdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EdkWrapping" m_ErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/ErrorMessages" m_GetKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/GetKeys" @@ -40,17 +31,10 @@ import ( m_KeyStoreErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KeyStoreErrorMessages" m_Keyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Keyring" m_KmsArn "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KmsArn" - m_LocalCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/LocalCMC" m_MaterialWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MaterialWrapping" m_Materials "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Materials" - m_MrkAwareDiscoveryMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MrkAwareDiscoveryMultiKeyring" - m_MrkAwareStrictMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MrkAwareStrictMultiKeyring" - m_MultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MultiKeyring" - m_StormTracker "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StormTracker" - m_StormTrackingCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StormTrackingCMC" - m_StrictMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StrictMultiKeyring" + m_RawAESKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawAESKeyring" m_Structure "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Structure" - m_SynchronizedLocalCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/SynchronizedLocalCMC" m_AtomicPrimitives "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AtomicPrimitives" m_AwsCryptographyPrimitivesOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesOperations" m_AwsCryptographyPrimitivesTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesTypes" @@ -87,6 +71,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -107,6 +92,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -171,29 +157,13 @@ var _ m_KeyStore.Dummy__ var _ m_AlgorithmSuites.Dummy__ var _ m_Materials.Dummy__ var _ m_Keyring.Dummy__ -var _ m_MultiKeyring.Dummy__ -var _ m_AwsKmsMrkAreUnique.Dummy__ -var _ m_Constants.Dummy__ -var _ m_MaterialWrapping.Dummy__ var _ m_CanonicalEncryptionContext.Dummy__ +var _ m_MaterialWrapping.Dummy__ var _ m_IntermediateKeyWrapping.Dummy__ var _ m_EdkWrapping.Dummy__ var _ m_ErrorMessages.Dummy__ -var _ m_AwsKmsKeyring.Dummy__ -var _ m_StrictMultiKeyring.Dummy__ -var _ m_AwsKmsDiscoveryKeyring.Dummy__ -var _ m_DiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkDiscoveryKeyring.Dummy__ -var _ m_MrkAwareDiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkKeyring.Dummy__ -var _ m_MrkAwareStrictMultiKeyring.Dummy__ -var _ m_LocalCMC.Dummy__ -var _ m_SynchronizedLocalCMC.Dummy__ -var _ m_StormTracker.Dummy__ -var _ m_StormTrackingCMC.Dummy__ -var _ m_CacheConstants.Dummy__ -var _ m_AwsKmsHierarchicalKeyring.Dummy__ -var _ m_AwsKmsRsaKeyring.Dummy__ +var _ m_RawAESKeyring.Dummy__ +var _ m_Constants.Dummy__ type Dummy__ struct{} @@ -242,9 +212,9 @@ func (_static *CompanionStruct_Default___) DeriveSharedKeyingMaterial(sharedSecr _0_maybeDerivedKeyingMaterial = _out0 var _1_valueOrError0 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) _ = _1_valueOrError0 - _1_valueOrError0 = (_0_maybeDerivedKeyingMaterial).MapFailure(func(coer102 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg103 interface{}) interface{} { - return coer102(arg103.(m_AwsCryptographyPrimitivesTypes.Error)) + _1_valueOrError0 = (_0_maybeDerivedKeyingMaterial).MapFailure(func(coer52 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg53 interface{}) interface{} { + return coer52(arg53.(m_AwsCryptographyPrimitivesTypes.Error)) } }(func(_2_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_2_e) @@ -260,7 +230,7 @@ func (_static *CompanionStruct_Default___) DeriveSharedKeyingMaterial(sharedSecr return res } func (_static *CompanionStruct_Default___) SerializeFixedInfo(ecdhKeyDerivationUtf8 _dafny.Sequence, curveSpecUtf8 _dafny.Sequence, senderPublicKey _dafny.Sequence, recipientPublicKey _dafny.Sequence, canonicalizedEC _dafny.Sequence, keyringVersion _dafny.Sequence) _dafny.Sequence { - return _dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(ecdhKeyDerivationUtf8, m_Constants.Companion_Default___.ECDH__KDF__DELIMETER()), curveSpecUtf8), m_Constants.Companion_Default___.ECDH__KDF__DELIMETER()), m_Constants.Companion_Default___.ECDH__KDF__PRF__NAME()), m_Constants.Companion_Default___.ECDH__KDF__DELIMETER()), senderPublicKey), recipientPublicKey), m_Constants.Companion_Default___.ECDH__KDF__DELIMETER()), keyringVersion), m_Constants.Companion_Default___.ECDH__KDF__DELIMETER()), canonicalizedEC) + return _dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate(ecdhKeyDerivationUtf8, m_Constants.Companion_Default___.ECDH__KDF__DELIMITER()), curveSpecUtf8), m_Constants.Companion_Default___.ECDH__KDF__DELIMITER()), m_Constants.Companion_Default___.ECDH__KDF__PRF__NAME()), m_Constants.Companion_Default___.ECDH__KDF__DELIMITER()), senderPublicKey), recipientPublicKey), m_Constants.Companion_Default___.ECDH__KDF__DELIMITER()), keyringVersion), m_Constants.Companion_Default___.ECDH__KDF__DELIMITER()), canonicalizedEC) } func (_static *CompanionStruct_Default___) CurveSpecTypeToString(c m_AwsCryptographyPrimitivesTypes.ECDHCurveSpec) _dafny.Sequence { var _source0 m_AwsCryptographyPrimitivesTypes.ECDHCurveSpec = c @@ -590,47 +560,47 @@ func (_this *EcdhUnwrap) Invoke(input interface{}) interface{} { _2_aad = (input).Dtor_encryptionContext() var _3_valueOrError0 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _3_valueOrError0 - _3_valueOrError0 = m_Wrappers.Companion_Default___.Need((_dafny.IntOfUint32((_1_wrappedMaterial).Cardinality())).Cmp(m_Constants.Companion_Default___.CIPHERTEXT__WRAPPED__MATERIAL__INDEX()) > 0, Companion_Default___.E(_dafny.SeqOfString("Recieved ciphertext is shorter than expected."))) + _3_valueOrError0 = m_Wrappers.Companion_Default___.Need((uint64((_1_wrappedMaterial).Cardinality())) > (m_Constants.Companion_Default___.CIPHERTEXT__WRAPPED__MATERIAL__INDEX()), Companion_Default___.E(_dafny.SeqOfString("Received ciphertext is shorter than expected."))) if (_3_valueOrError0).IsFailure() { res = (_3_valueOrError0).PropagateFailure() return res } - var _4_KeyLength _dafny.Int + var _4_KeyLength int32 _ = _4_KeyLength - _4_KeyLength = _dafny.IntOfInt32(m_AlgorithmSuites.Companion_Default___.GetEncryptKeyLength(_0_suite)) + _4_KeyLength = m_AlgorithmSuites.Companion_Default___.GetEncryptKeyLength(_0_suite) var _5_valueOrError1 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _5_valueOrError1 - _5_valueOrError1 = m_Wrappers.Companion_Default___.Need((_dafny.IntOfUint32((_1_wrappedMaterial).Cardinality())).Cmp((m_Constants.Companion_Default___.ECDH__WRAPPED__KEY__MATERIAL__INDEX()).Plus(_4_KeyLength)) > 0, m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Received EDK Ciphertext of incorrect length."))) + _5_valueOrError1 = m_Wrappers.Companion_Default___.Need((_dafny.IntOfUint32((_1_wrappedMaterial).Cardinality())).Cmp((_dafny.IntOfUint64(m_Constants.Companion_Default___.ECDH__WRAPPED__KEY__MATERIAL__INDEX())).Plus(_dafny.IntOfInt32(_4_KeyLength))) > 0, m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Received EDK Ciphertext of incorrect length3."))) if (_5_valueOrError1).IsFailure() { res = (_5_valueOrError1).PropagateFailure() return res } var _6_kdfNonce _dafny.Sequence _ = _6_kdfNonce - _6_kdfNonce = (_1_wrappedMaterial).Subsequence(0, (m_Constants.Companion_Default___.ECDH__COMMITMENT__KEY__INDEX()).Uint32()) + _6_kdfNonce = (_1_wrappedMaterial).Take(uint32(m_Constants.Companion_Default___.ECDH__COMMITMENT__KEY__INDEX())) var _7_iv _dafny.Sequence _ = _7_iv - _7_iv = _dafny.SeqCreate((_dafny.IntOfInt32((m_Constants.Companion_Default___.ECDH__AES__256__ENC__ALG()).Dtor_ivLength())).Uint32(), func(coer103 func(_dafny.Int) uint8) func(_dafny.Int) interface{} { - return func(arg104 _dafny.Int) interface{} { - return coer103(arg104) + _7_iv = _dafny.SeqCreate((_dafny.IntOfInt32((m_Constants.Companion_Default___.ECDH__AES__256__ENC__ALG()).Dtor_ivLength())).Uint32(), func(coer53 func(_dafny.Int) uint8) func(_dafny.Int) interface{} { + return func(arg54 _dafny.Int) interface{} { + return coer53(arg54) } }(func(_8___v0 _dafny.Int) uint8 { return uint8(0) })) var _9_commitmentKey _dafny.Sequence _ = _9_commitmentKey - _9_commitmentKey = (_1_wrappedMaterial).Subsequence((m_Constants.Companion_Default___.ECDH__COMMITMENT__KEY__INDEX()).Uint32(), (m_Constants.Companion_Default___.ECDH__WRAPPED__KEY__MATERIAL__INDEX()).Uint32()) + _9_commitmentKey = (_1_wrappedMaterial).Subsequence(uint32(m_Constants.Companion_Default___.ECDH__COMMITMENT__KEY__INDEX()), uint32(m_Constants.Companion_Default___.ECDH__WRAPPED__KEY__MATERIAL__INDEX())) var _10_wrappedKey _dafny.Sequence _ = _10_wrappedKey - _10_wrappedKey = (_1_wrappedMaterial).Subsequence((m_Constants.Companion_Default___.ECDH__WRAPPED__KEY__MATERIAL__INDEX()).Uint32(), ((m_Constants.Companion_Default___.ECDH__WRAPPED__KEY__MATERIAL__INDEX()).Plus(_4_KeyLength)).Uint32()) + _10_wrappedKey = (_1_wrappedMaterial).Subsequence(uint32(m_Constants.Companion_Default___.ECDH__WRAPPED__KEY__MATERIAL__INDEX()), uint32((m_Constants.Companion_Default___.ECDH__WRAPPED__KEY__MATERIAL__INDEX())+(uint64(_4_KeyLength)))) var _11_authTag _dafny.Sequence _ = _11_authTag - _11_authTag = (_1_wrappedMaterial).Drop(((m_Constants.Companion_Default___.ECDH__WRAPPED__KEY__MATERIAL__INDEX()).Plus(_4_KeyLength)).Uint32()) + _11_authTag = (_1_wrappedMaterial).Drop(uint32((m_Constants.Companion_Default___.ECDH__WRAPPED__KEY__MATERIAL__INDEX()) + (uint64(_4_KeyLength)))) var _12_valueOrError2 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_UTF8.Companion_ValidUTF8Bytes_.Witness()) _ = _12_valueOrError2 - _12_valueOrError2 = (m_UTF8.Encode(Companion_Default___.CurveSpecTypeToString((_this).CurveSpec()))).MapFailure(func(coer104 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg105 interface{}) interface{} { - return coer104(arg105.(_dafny.Sequence)) + _12_valueOrError2 = (m_UTF8.Encode(Companion_Default___.CurveSpecTypeToString((_this).CurveSpec()))).MapFailure(func(coer54 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg55 interface{}) interface{} { + return coer54(arg55.(_dafny.Sequence)) } }(Companion_Default___.E)) if (_12_valueOrError2).IsFailure() { @@ -668,13 +638,13 @@ func (_this *EcdhUnwrap) Invoke(input interface{}) interface{} { _18_derivedKeyingMaterial = (_17_valueOrError4).Extract().(_dafny.Sequence) var _19_calculatedCommitmentKey _dafny.Sequence _ = _19_calculatedCommitmentKey - _19_calculatedCommitmentKey = (_18_derivedKeyingMaterial).Subsequence(0, 32) + _19_calculatedCommitmentKey = (_18_derivedKeyingMaterial).Take(uint32(uint32(32))) var _20_sharedKeyingMaterial _dafny.Sequence _ = _20_sharedKeyingMaterial - _20_sharedKeyingMaterial = (_18_derivedKeyingMaterial).Drop(32) + _20_sharedKeyingMaterial = (_18_derivedKeyingMaterial).Drop(uint32(uint32(32))) var _21_valueOrError5 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _21_valueOrError5 - _21_valueOrError5 = m_Wrappers.Companion_Default___.Need((_dafny.IntOfUint32((_19_calculatedCommitmentKey).Cardinality())).Cmp(_dafny.IntOfUint32((_9_commitmentKey).Cardinality())) == 0, Companion_Default___.E(_dafny.SeqOfString("Calculated commitment key length does NOT match expected commitment key length"))) + _21_valueOrError5 = m_Wrappers.Companion_Default___.Need((uint64((_19_calculatedCommitmentKey).Cardinality())) == (uint64((_9_commitmentKey).Cardinality())), Companion_Default___.E(_dafny.SeqOfString("Calculated commitment key length does NOT match expected commitment key length"))) if (_21_valueOrError5).IsFailure() { res = (_21_valueOrError5).PropagateFailure() return res @@ -700,9 +670,9 @@ func (_this *EcdhUnwrap) Invoke(input interface{}) interface{} { _24_maybeUnwrappedPdk = _out2 var _25_valueOrError7 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) _ = _25_valueOrError7 - _25_valueOrError7 = (_24_maybeUnwrappedPdk).MapFailure(func(coer105 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg106 interface{}) interface{} { - return coer105(arg106.(m_AwsCryptographyPrimitivesTypes.Error)) + _25_valueOrError7 = (_24_maybeUnwrappedPdk).MapFailure(func(coer55 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg56 interface{}) interface{} { + return coer55(arg56.(m_AwsCryptographyPrimitivesTypes.Error)) } }(func(_26_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_26_e) @@ -716,7 +686,7 @@ func (_this *EcdhUnwrap) Invoke(input interface{}) interface{} { _27_unwrappedPdk = (_25_valueOrError7).Extract().(_dafny.Sequence) var _28_valueOrError8 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _28_valueOrError8 - _28_valueOrError8 = m_Wrappers.Companion_Default___.Need((_dafny.IntOfUint32((_27_unwrappedPdk).Cardinality())).Cmp(_dafny.IntOfInt32(m_AlgorithmSuites.Companion_Default___.GetEncryptKeyLength((input).Dtor_algorithmSuite()))) == 0, Companion_Default___.E(_dafny.SeqOfString("Invalid Key Length"))) + _28_valueOrError8 = m_Wrappers.Companion_Default___.Need((uint64((_27_unwrappedPdk).Cardinality())) == (uint64(m_AlgorithmSuites.Companion_Default___.GetEncryptKeyLength((input).Dtor_algorithmSuite()))), Companion_Default___.E(_dafny.SeqOfString("Invalid Key Length"))) if (_28_valueOrError8).IsFailure() { res = (_28_valueOrError8).PropagateFailure() return res @@ -736,10 +706,10 @@ func (_this *EcdhUnwrap) CommitmentKeyCheck(calculatedCommitmentKey _dafny.Seque var _0_diff_q uint8 _ = _0_diff_q _0_diff_q = uint8(0) - var _hi0 _dafny.Int = _dafny.IntOfUint32((serializedCommitmentKey).Cardinality()) + var _hi0 uint64 = uint64((serializedCommitmentKey).Cardinality()) _ = _hi0 - for _1_i := _dafny.Zero; _1_i.Cmp(_hi0) < 0; _1_i = _1_i.Plus(_dafny.One) { - _0_diff_q = (_0_diff_q) | ((uint8((calculatedCommitmentKey).Select((_1_i).Uint32()).(uint8))) ^ (uint8((serializedCommitmentKey).Select((_1_i).Uint32()).(uint8)))) + for _1_i := uint64(0); _1_i < _hi0; _1_i++ { + _0_diff_q = (_0_diff_q) | ((uint8((calculatedCommitmentKey).Select(uint32(_1_i)).(uint8))) ^ (uint8((serializedCommitmentKey).Select(uint32(_1_i)).(uint8)))) } res = (_0_diff_q) == (uint8(0)) return res @@ -859,9 +829,9 @@ func (_this *EcdhGenerateAndWrapKeyMaterial) Invoke(input interface{}) interface _1_pdkResult = _out0 var _2_valueOrError0 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) _ = _2_valueOrError0 - _2_valueOrError0 = (_1_pdkResult).MapFailure(func(coer106 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg107 interface{}) interface{} { - return coer106(arg107.(m_AwsCryptographyPrimitivesTypes.Error)) + _2_valueOrError0 = (_1_pdkResult).MapFailure(func(coer56 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg57 interface{}) interface{} { + return coer56(arg57.(m_AwsCryptographyPrimitivesTypes.Error)) } }(func(_3_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_3_e) @@ -883,7 +853,7 @@ func (_this *EcdhGenerateAndWrapKeyMaterial) Invoke(input interface{}) interface _ = _6_valueOrError1 var _out1 interface{} _ = _out1 - _out1 = (_5_wrap).Invoke(m_MaterialWrapping.Companion_WrapInput_.Create_WrapInput_(_4_pdk, (input).Dtor_algorithmSuite(), (input).Dtor_encryptionContext())) + _out1 = (_5_wrap).Invoke(m_MaterialWrapping.Companion_WrapInput_.Create_WrapInput_(_4_pdk, (input).Dtor_algorithmSuite(), (input).Dtor_encryptionContext(), (input).Dtor_serializedEC())) _6_valueOrError1 = _out1.(m_Wrappers.Result) if (_6_valueOrError1).IsFailure() { res = (_6_valueOrError1).PropagateFailure() @@ -1009,9 +979,9 @@ func (_this *EcdhWrapKeyMaterial) Invoke(input interface{}) interface{} { _3_maybeSalt = _out0 var _4_valueOrError1 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) _ = _4_valueOrError1 - _4_valueOrError1 = (_3_maybeSalt).MapFailure(func(coer107 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg108 interface{}) interface{} { - return coer107(arg108.(m_AwsCryptographyPrimitivesTypes.Error)) + _4_valueOrError1 = (_3_maybeSalt).MapFailure(func(coer57 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg58 interface{}) interface{} { + return coer57(arg58.(m_AwsCryptographyPrimitivesTypes.Error)) } }(func(_5_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_5_e) @@ -1038,15 +1008,15 @@ func (_this *EcdhWrapKeyMaterial) Invoke(input interface{}) interface{} { _8_derivedKeyingMaterial = (_7_valueOrError2).Extract().(_dafny.Sequence) var _9_commitmentKey _dafny.Sequence _ = _9_commitmentKey - _9_commitmentKey = (_8_derivedKeyingMaterial).Subsequence(0, 32) + _9_commitmentKey = (_8_derivedKeyingMaterial).Take(uint32(uint32(32))) var _10_sharedKeyingMaterial _dafny.Sequence _ = _10_sharedKeyingMaterial - _10_sharedKeyingMaterial = (_8_derivedKeyingMaterial).Drop(32) + _10_sharedKeyingMaterial = (_8_derivedKeyingMaterial).Drop(uint32(uint32(32))) var _11_iv _dafny.Sequence _ = _11_iv - _11_iv = _dafny.SeqCreate((_dafny.IntOfInt32((m_Constants.Companion_Default___.ECDH__AES__256__ENC__ALG()).Dtor_ivLength())).Uint32(), func(coer108 func(_dafny.Int) uint8) func(_dafny.Int) interface{} { - return func(arg109 _dafny.Int) interface{} { - return coer108(arg109) + _11_iv = _dafny.SeqCreate((_dafny.IntOfInt32((m_Constants.Companion_Default___.ECDH__AES__256__ENC__ALG()).Dtor_ivLength())).Uint32(), func(coer58 func(_dafny.Int) uint8) func(_dafny.Int) interface{} { + return func(arg59 _dafny.Int) interface{} { + return coer58(arg59) } }(func(_12___v3 _dafny.Int) uint8 { return uint8(0) @@ -1059,9 +1029,9 @@ func (_this *EcdhWrapKeyMaterial) Invoke(input interface{}) interface{} { _13_maybeWrappedPdk = _out2 var _14_valueOrError3 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_AwsCryptographyPrimitivesTypes.Companion_AESEncryptOutput_.Default()) _ = _14_valueOrError3 - _14_valueOrError3 = (_13_maybeWrappedPdk).MapFailure(func(coer109 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg110 interface{}) interface{} { - return coer109(arg110.(m_AwsCryptographyPrimitivesTypes.Error)) + _14_valueOrError3 = (_13_maybeWrappedPdk).MapFailure(func(coer59 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg60 interface{}) interface{} { + return coer59(arg60.(m_AwsCryptographyPrimitivesTypes.Error)) } }(func(_15_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_15_e) diff --git a/releases/go/mpl/EdkWrapping/EdkWrapping.go b/releases/go/mpl/EdkWrapping/EdkWrapping.go index a47c891afd..c45185831b 100644 --- a/releases/go/mpl/EdkWrapping/EdkWrapping.go +++ b/releases/go/mpl/EdkWrapping/EdkWrapping.go @@ -15,11 +15,9 @@ import ( m_AwsCryptographyKeyStoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreOperations" m_AwsCryptographyKeyStoreTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreTypes" m_AwsCryptographyMaterialProvidersTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" - m_AwsKmsMrkAreUnique "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkAreUnique" m_AwsKmsMrkMatchForDecrypt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkMatchForDecrypt" m_AwsKmsUtils "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsUtils" m_CanonicalEncryptionContext "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CanonicalEncryptionContext" - m_Constants "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Constants" m_CreateKeyStoreTable "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeyStoreTable" m_CreateKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeys" m_DDBKeystoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DDBKeystoreOperations" @@ -32,7 +30,6 @@ import ( m_KmsArn "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KmsArn" m_MaterialWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MaterialWrapping" m_Materials "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Materials" - m_MultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MultiKeyring" m_Structure "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Structure" m_AtomicPrimitives "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AtomicPrimitives" m_AwsCryptographyPrimitivesOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesOperations" @@ -70,6 +67,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -89,6 +87,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -153,11 +152,8 @@ var _ m_KeyStore.Dummy__ var _ m_AlgorithmSuites.Dummy__ var _ m_Materials.Dummy__ var _ m_Keyring.Dummy__ -var _ m_MultiKeyring.Dummy__ -var _ m_AwsKmsMrkAreUnique.Dummy__ -var _ m_Constants.Dummy__ -var _ m_MaterialWrapping.Dummy__ var _ m_CanonicalEncryptionContext.Dummy__ +var _ m_MaterialWrapping.Dummy__ var _ m_IntermediateKeyWrapping.Dummy__ type Dummy__ struct{} @@ -211,7 +207,7 @@ func (_static *CompanionStruct_Default___) WrapEdkMaterial(encryptionMaterials m _ = _1_valueOrError1 var _out0 interface{} _ = _out0 - _out0 = (wrap).Invoke(m_MaterialWrapping.Companion_WrapInput_.Create_WrapInput_(((encryptionMaterials).Dtor_plaintextDataKey()).Dtor_value().(_dafny.Sequence), (encryptionMaterials).Dtor_algorithmSuite(), (encryptionMaterials).Dtor_encryptionContext())) + _out0 = (wrap).Invoke(m_MaterialWrapping.Companion_WrapInput_.Create_WrapInput_(((encryptionMaterials).Dtor_plaintextDataKey()).Dtor_value().(_dafny.Sequence), (encryptionMaterials).Dtor_algorithmSuite(), (encryptionMaterials).Dtor_encryptionContext(), m_CanonicalEncryptionContext.Companion_Default___.EncryptionContextToAAD((encryptionMaterials).Dtor_encryptionContext()))) _1_valueOrError1 = _out0.(m_Wrappers.Result) if (_1_valueOrError1).IsFailure() { ret = (_1_valueOrError1).PropagateFailure() @@ -243,7 +239,7 @@ func (_static *CompanionStruct_Default___) WrapEdkMaterial(encryptionMaterials m _ = _5_valueOrError3 var _out2 interface{} _ = _out2 - _out2 = (generateAndWrap).Invoke(m_MaterialWrapping.Companion_GenerateAndWrapInput_.Create_GenerateAndWrapInput_((encryptionMaterials).Dtor_algorithmSuite(), (encryptionMaterials).Dtor_encryptionContext())) + _out2 = (generateAndWrap).Invoke(m_MaterialWrapping.Companion_GenerateAndWrapInput_.Create_GenerateAndWrapInput_((encryptionMaterials).Dtor_algorithmSuite(), (encryptionMaterials).Dtor_encryptionContext(), m_CanonicalEncryptionContext.Companion_Default___.EncryptionContextToAAD((encryptionMaterials).Dtor_encryptionContext()))) _5_valueOrError3 = _out2.(m_Wrappers.Result) if (_5_valueOrError3).IsFailure() { ret = (_5_valueOrError3).PropagateFailure() @@ -296,7 +292,7 @@ func (_static *CompanionStruct_Default___) UnwrapEdkMaterial(wrappedMaterial _da _ = _1_valueOrError1 var _out0 interface{} _ = _out0 - _out0 = (unwrap).Invoke(m_MaterialWrapping.Companion_UnwrapInput_.Create_UnwrapInput_(wrappedMaterial, (decryptionMaterials).Dtor_algorithmSuite(), (decryptionMaterials).Dtor_encryptionContext())) + _out0 = (unwrap).Invoke(m_MaterialWrapping.Companion_UnwrapInput_.Create_UnwrapInput_(wrappedMaterial, (decryptionMaterials).Dtor_algorithmSuite(), (decryptionMaterials).Dtor_encryptionContext(), m_CanonicalEncryptionContext.Companion_Default___.EncryptionContextToAAD((decryptionMaterials).Dtor_encryptionContext()))) _1_valueOrError1 = _out0.(m_Wrappers.Result) if (_1_valueOrError1).IsFailure() { ret = (_1_valueOrError1).PropagateFailure() @@ -310,7 +306,7 @@ func (_static *CompanionStruct_Default___) UnwrapEdkMaterial(wrappedMaterial _da } else if (((decryptionMaterials).Dtor_algorithmSuite()).Dtor_edkWrapping()).Is_IntermediateKeyWrapping() { var _3_valueOrError2 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _3_valueOrError2 - _3_valueOrError2 = m_Wrappers.Companion_Default___.Need((_dafny.IntOfUint32((wrappedMaterial).Cardinality())).Cmp(_dafny.IntOfInt32((((((decryptionMaterials).Dtor_algorithmSuite()).Dtor_encrypt()).Dtor_AES__GCM()).Dtor_keyLength())+(((((decryptionMaterials).Dtor_algorithmSuite()).Dtor_encrypt()).Dtor_AES__GCM()).Dtor_tagLength()))) >= 0, m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Invalid material for Intermediate Unwrapping"))) + _3_valueOrError2 = m_Wrappers.Companion_Default___.Need((uint64((wrappedMaterial).Cardinality())) >= (uint64((((((decryptionMaterials).Dtor_algorithmSuite()).Dtor_encrypt()).Dtor_AES__GCM()).Dtor_keyLength())+(((((decryptionMaterials).Dtor_algorithmSuite()).Dtor_encrypt()).Dtor_AES__GCM()).Dtor_tagLength()))), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Invalid material for Intermediate Unwrapping"))) if (_3_valueOrError2).IsFailure() { ret = (_3_valueOrError2).PropagateFailure() return ret diff --git a/releases/go/mpl/ErrorMessages/ErrorMessages.go b/releases/go/mpl/ErrorMessages/ErrorMessages.go index 9668aed0be..b8396f8ed0 100644 --- a/releases/go/mpl/ErrorMessages/ErrorMessages.go +++ b/releases/go/mpl/ErrorMessages/ErrorMessages.go @@ -15,11 +15,9 @@ import ( m_AwsCryptographyKeyStoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreOperations" m_AwsCryptographyKeyStoreTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreTypes" m_AwsCryptographyMaterialProvidersTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" - m_AwsKmsMrkAreUnique "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkAreUnique" m_AwsKmsMrkMatchForDecrypt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkMatchForDecrypt" m_AwsKmsUtils "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsUtils" m_CanonicalEncryptionContext "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CanonicalEncryptionContext" - m_Constants "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Constants" m_CreateKeyStoreTable "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeyStoreTable" m_CreateKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeys" m_DDBKeystoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DDBKeystoreOperations" @@ -33,7 +31,6 @@ import ( m_KmsArn "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KmsArn" m_MaterialWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MaterialWrapping" m_Materials "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Materials" - m_MultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MultiKeyring" m_Structure "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Structure" m_AtomicPrimitives "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AtomicPrimitives" m_AwsCryptographyPrimitivesOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesOperations" @@ -71,6 +68,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -92,6 +90,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -156,11 +155,8 @@ var _ m_KeyStore.Dummy__ var _ m_AlgorithmSuites.Dummy__ var _ m_Materials.Dummy__ var _ m_Keyring.Dummy__ -var _ m_MultiKeyring.Dummy__ -var _ m_AwsKmsMrkAreUnique.Dummy__ -var _ m_Constants.Dummy__ -var _ m_MaterialWrapping.Dummy__ var _ m_CanonicalEncryptionContext.Dummy__ +var _ m_MaterialWrapping.Dummy__ var _ m_IntermediateKeyWrapping.Dummy__ var _ m_EdkWrapping.Dummy__ @@ -217,14 +213,14 @@ func (_static *CompanionStruct_Default___) IncorrectDataKeys(encryptedDataKeys _ func (_static *CompanionStruct_Default___) IncorrectDataKeysExpectedValues(encryptedDataKeys _dafny.Sequence, material m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo, errMsg _dafny.Sequence) m_Wrappers.Result { goto TAIL_CALL_START TAIL_CALL_START: - if (_dafny.IntOfUint32((encryptedDataKeys).Cardinality())).Sign() == 0 { + if (uint64((encryptedDataKeys).Cardinality())) == (uint64(0)) { return m_Wrappers.Companion_Result_.Create_Success_(errMsg) } else { - var _0_encryptedDataKey m_AwsCryptographyMaterialProvidersTypes.EncryptedDataKey = (encryptedDataKeys).Select(0).(m_AwsCryptographyMaterialProvidersTypes.EncryptedDataKey) + var _0_encryptedDataKey m_AwsCryptographyMaterialProvidersTypes.EncryptedDataKey = (encryptedDataKeys).Select(uint32(uint32(0))).(m_AwsCryptographyMaterialProvidersTypes.EncryptedDataKey) _ = _0_encryptedDataKey - var _1_valueOrError0 m_Wrappers.Result = (m_UTF8.Decode((_0_encryptedDataKey).Dtor_keyProviderId())).MapFailure(func(coer49 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg50 interface{}) interface{} { - return coer49(arg50.(_dafny.Sequence)) + var _1_valueOrError0 m_Wrappers.Result = (m_UTF8.Decode((_0_encryptedDataKey).Dtor_keyProviderId())).MapFailure(func(coer44 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg45 interface{}) interface{} { + return coer44(arg45.(_dafny.Sequence)) } }(func(_2_e _dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_2_e) @@ -235,9 +231,9 @@ TAIL_CALL_START: } else { var _3_extractedKeyProviderId _dafny.Sequence = (_1_valueOrError0).Extract().(_dafny.Sequence) _ = _3_extractedKeyProviderId - var _4_valueOrError1 m_Wrappers.Result = (m_UTF8.Decode((_0_encryptedDataKey).Dtor_keyProviderInfo())).MapFailure(func(coer50 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg51 interface{}) interface{} { - return coer50(arg51.(_dafny.Sequence)) + var _4_valueOrError1 m_Wrappers.Result = (m_UTF8.Decode((_0_encryptedDataKey).Dtor_keyProviderInfo())).MapFailure(func(coer45 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg46 interface{}) interface{} { + return coer45(arg46.(_dafny.Sequence)) } }(func(_5_e _dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_5_e) @@ -249,7 +245,7 @@ TAIL_CALL_START: var _6_extractedKeyProviderInfo _dafny.Sequence = (_4_valueOrError1).Extract().(_dafny.Sequence) _ = _6_extractedKeyProviderInfo if !_dafny.Companion_Sequence_.Equal(_3_extractedKeyProviderId, _dafny.SeqOfString("aws-kms-hierarchy")) { - var _in0 _dafny.Sequence = (encryptedDataKeys).Drop(1) + var _in0 _dafny.Sequence = (encryptedDataKeys).Drop(uint32(uint32(1))) _ = _in0 var _in1 m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo = material _ = _in1 @@ -267,25 +263,25 @@ TAIL_CALL_START: } else { var _8_providerWrappedMaterial _dafny.Sequence = (_7_valueOrError2).Extract().(_dafny.Sequence) _ = _8_providerWrappedMaterial - var _9_EDK__CIPHERTEXT__BRANCH__KEY__VERSION__INDEX _dafny.Int = (Companion_Default___.SALT__LENGTH()).Plus(Companion_Default___.IV__LENGTH()) + var _9_EDK__CIPHERTEXT__BRANCH__KEY__VERSION__INDEX uint64 = (Companion_Default___.SALT__LENGTH()) + (Companion_Default___.IV__LENGTH()) _ = _9_EDK__CIPHERTEXT__BRANCH__KEY__VERSION__INDEX - var _10_EDK__CIPHERTEXT__VERSION__INDEX _dafny.Int = (_9_EDK__CIPHERTEXT__BRANCH__KEY__VERSION__INDEX).Plus(Companion_Default___.VERSION__LENGTH()) + var _10_EDK__CIPHERTEXT__VERSION__INDEX uint64 = (_9_EDK__CIPHERTEXT__BRANCH__KEY__VERSION__INDEX) + (Companion_Default___.VERSION__LENGTH()) _ = _10_EDK__CIPHERTEXT__VERSION__INDEX - var _11_valueOrError3 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need((_9_EDK__CIPHERTEXT__BRANCH__KEY__VERSION__INDEX).Cmp(_10_EDK__CIPHERTEXT__VERSION__INDEX) < 0, m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Wrong branch key version index."))) + var _11_valueOrError3 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need((_9_EDK__CIPHERTEXT__BRANCH__KEY__VERSION__INDEX) < (_10_EDK__CIPHERTEXT__VERSION__INDEX), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Wrong branch key version index."))) _ = _11_valueOrError3 if (_11_valueOrError3).IsFailure() { return (_11_valueOrError3).PropagateFailure() } else { - var _12_valueOrError4 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need((_dafny.IntOfUint32((_8_providerWrappedMaterial).Cardinality())).Cmp(_10_EDK__CIPHERTEXT__VERSION__INDEX) >= 0, m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Incorrect ciphertext structure."))) + var _12_valueOrError4 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need((uint64((_8_providerWrappedMaterial).Cardinality())) >= (_10_EDK__CIPHERTEXT__VERSION__INDEX), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Incorrect ciphertext structure."))) _ = _12_valueOrError4 if (_12_valueOrError4).IsFailure() { return (_12_valueOrError4).PropagateFailure() } else { - var _13_branchKeyVersionUuid _dafny.Sequence = (_8_providerWrappedMaterial).Subsequence((_9_EDK__CIPHERTEXT__BRANCH__KEY__VERSION__INDEX).Uint32(), (_10_EDK__CIPHERTEXT__VERSION__INDEX).Uint32()) + var _13_branchKeyVersionUuid _dafny.Sequence = (_8_providerWrappedMaterial).Subsequence(uint32(_9_EDK__CIPHERTEXT__BRANCH__KEY__VERSION__INDEX), uint32(_10_EDK__CIPHERTEXT__VERSION__INDEX)) _ = _13_branchKeyVersionUuid - var _14_valueOrError5 m_Wrappers.Result = (m_UUID.FromByteArray(_13_branchKeyVersionUuid)).MapFailure(func(coer51 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg52 interface{}) interface{} { - return coer51(arg52.(_dafny.Sequence)) + var _14_valueOrError5 m_Wrappers.Result = (m_UUID.FromByteArray(_13_branchKeyVersionUuid)).MapFailure(func(coer46 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg47 interface{}) interface{} { + return coer46(arg47.(_dafny.Sequence)) } }(func(_15_e _dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_15_e) @@ -296,7 +292,7 @@ TAIL_CALL_START: } else { var _16_branchVersion _dafny.Sequence = (_14_valueOrError5).Extract().(_dafny.Sequence) _ = _16_branchVersion - var _in3 _dafny.Sequence = (encryptedDataKeys).Drop(1) + var _in3 _dafny.Sequence = (encryptedDataKeys).Drop(uint32(uint32(1))) _ = _in3 var _in4 m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo = material _ = _in4 @@ -315,14 +311,14 @@ TAIL_CALL_START: } } } -func (_static *CompanionStruct_Default___) SALT__LENGTH() _dafny.Int { - return _dafny.IntOfInt64(16) +func (_static *CompanionStruct_Default___) SALT__LENGTH() uint64 { + return uint64(16) } -func (_static *CompanionStruct_Default___) IV__LENGTH() _dafny.Int { - return _dafny.IntOfInt64(12) +func (_static *CompanionStruct_Default___) IV__LENGTH() uint64 { + return uint64(12) } -func (_static *CompanionStruct_Default___) VERSION__LENGTH() _dafny.Int { - return _dafny.IntOfInt64(16) +func (_static *CompanionStruct_Default___) VERSION__LENGTH() uint64 { + return uint64(16) } func (_static *CompanionStruct_Default___) KMS__ECDH__DISCOVERY__ENCRYPT__ERROR() _dafny.Sequence { return _dafny.SeqOfString("KmsPublicKeyDiscovery Key Agreement Scheme is forbidden on encrypt.") diff --git a/releases/go/mpl/GetKeys/GetKeys.go b/releases/go/mpl/GetKeys/GetKeys.go index 6684f9da90..e4066011bd 100644 --- a/releases/go/mpl/GetKeys/GetKeys.go +++ b/releases/go/mpl/GetKeys/GetKeys.go @@ -56,6 +56,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -75,6 +76,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ diff --git a/releases/go/mpl/IntermediateKeyWrapping/IntermediateKeyWrapping.go b/releases/go/mpl/IntermediateKeyWrapping/IntermediateKeyWrapping.go index ea27445903..afa5c538d1 100644 --- a/releases/go/mpl/IntermediateKeyWrapping/IntermediateKeyWrapping.go +++ b/releases/go/mpl/IntermediateKeyWrapping/IntermediateKeyWrapping.go @@ -15,11 +15,9 @@ import ( m_AwsCryptographyKeyStoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreOperations" m_AwsCryptographyKeyStoreTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreTypes" m_AwsCryptographyMaterialProvidersTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" - m_AwsKmsMrkAreUnique "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkAreUnique" m_AwsKmsMrkMatchForDecrypt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkMatchForDecrypt" m_AwsKmsUtils "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsUtils" m_CanonicalEncryptionContext "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CanonicalEncryptionContext" - m_Constants "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Constants" m_CreateKeyStoreTable "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeyStoreTable" m_CreateKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeys" m_DDBKeystoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DDBKeystoreOperations" @@ -31,7 +29,6 @@ import ( m_KmsArn "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KmsArn" m_MaterialWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MaterialWrapping" m_Materials "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Materials" - m_MultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MultiKeyring" m_Structure "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Structure" m_AtomicPrimitives "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AtomicPrimitives" m_AwsCryptographyPrimitivesOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesOperations" @@ -69,11 +66,11 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" m_Streams "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Streams" - m_UTF8 "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/UTF8" m_UnicodeStrings "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/UnicodeStrings" m__Unicode "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Unicode_" m_Utf16EncodingForm "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Utf16EncodingForm" @@ -89,6 +86,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -153,11 +151,8 @@ var _ m_KeyStore.Dummy__ var _ m_AlgorithmSuites.Dummy__ var _ m_Materials.Dummy__ var _ m_Keyring.Dummy__ -var _ m_MultiKeyring.Dummy__ -var _ m_AwsKmsMrkAreUnique.Dummy__ -var _ m_Constants.Dummy__ -var _ m_MaterialWrapping.Dummy__ var _ m_CanonicalEncryptionContext.Dummy__ +var _ m_MaterialWrapping.Dummy__ type Dummy__ struct{} @@ -195,6 +190,19 @@ func (_this *Default__) ParentTraits_() []*_dafny.TraitID { var _ _dafny.TraitOffspring = &Default__{} +func (_static *CompanionStruct_Default___) GetIvLengthZeros(len_ int32) _dafny.Sequence { + if (len_) == (int32(12)) { + return _dafny.SeqOf(uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0), uint8(0)) + } else { + return _dafny.SeqCreate(uint32(len_), func(coer34 func(_dafny.Int) uint8) func(_dafny.Int) interface{} { + return func(arg35 _dafny.Int) interface{} { + return coer34(arg35) + } + }(func(_0___v0 _dafny.Int) uint8 { + return uint8(0) + })) + } +} func (_static *CompanionStruct_Default___) IntermediateUnwrap(unwrap m_MaterialWrapping.UnwrapMaterial, wrappedMaterial _dafny.Sequence, algorithmSuite m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo, encryptionContext _dafny.Map) m_Wrappers.Result { var res m_Wrappers.Result = m_Wrappers.Result{} _ = res @@ -206,9 +214,9 @@ func (_static *CompanionStruct_Default___) IntermediateUnwrap(unwrap m_MaterialW _0_maybeCrypto = _out0 var _1_valueOrError0 m_Wrappers.Result = m_Wrappers.Result{} _ = _1_valueOrError0 - _1_valueOrError0 = (_0_maybeCrypto).MapFailure(func(coer38 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg39 interface{}) interface{} { - return coer38(arg39.(m_AwsCryptographyPrimitivesTypes.Error)) + _1_valueOrError0 = (_0_maybeCrypto).MapFailure(func(coer35 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg36 interface{}) interface{} { + return coer35(arg36.(m_AwsCryptographyPrimitivesTypes.Error)) } }(func(_2_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_2_e) @@ -239,59 +247,58 @@ func (_static *CompanionStruct_Default___) IntermediateUnwrap(unwrap m_MaterialW _ = _7_encryptedPdk var _8_providerWrappedIkm _dafny.Sequence = _let_tmp_rhs0.Get_().(DeserializedIntermediateWrappedMaterial_DeserializedIntermediateWrappedMaterial).ProviderWrappedIkm _ = _8_providerWrappedIkm - var _9_valueOrError2 m_Wrappers.Result = m_Wrappers.Result{} - _ = _9_valueOrError2 + var _9_serializedEC m_Wrappers.Result + _ = _9_serializedEC + _9_serializedEC = m_CanonicalEncryptionContext.Companion_Default___.EncryptionContextToAAD(encryptionContext) + var _10_valueOrError2 m_Wrappers.Result = m_Wrappers.Result{} + _ = _10_valueOrError2 var _out1 interface{} _ = _out1 - _out1 = (unwrap).Invoke(m_MaterialWrapping.Companion_UnwrapInput_.Create_UnwrapInput_(_8_providerWrappedIkm, algorithmSuite, encryptionContext)) - _9_valueOrError2 = _out1.(m_Wrappers.Result) - if (_9_valueOrError2).IsFailure() { - res = (_9_valueOrError2).PropagateFailure() + _out1 = (unwrap).Invoke(m_MaterialWrapping.Companion_UnwrapInput_.Create_UnwrapInput_(_8_providerWrappedIkm, algorithmSuite, encryptionContext, _9_serializedEC)) + _10_valueOrError2 = _out1.(m_Wrappers.Result) + if (_10_valueOrError2).IsFailure() { + res = (_10_valueOrError2).PropagateFailure() return res } - var _10_unwrapOutput m_MaterialWrapping.UnwrapOutput - _ = _10_unwrapOutput - _10_unwrapOutput = (_9_valueOrError2).Extract().(m_MaterialWrapping.UnwrapOutput) - var _let_tmp_rhs1 m_MaterialWrapping.UnwrapOutput = _10_unwrapOutput + var _11_unwrapOutput m_MaterialWrapping.UnwrapOutput + _ = _11_unwrapOutput + _11_unwrapOutput = (_10_valueOrError2).Extract().(m_MaterialWrapping.UnwrapOutput) + var _let_tmp_rhs1 m_MaterialWrapping.UnwrapOutput = _11_unwrapOutput _ = _let_tmp_rhs1 - var _11_intermediateMaterial _dafny.Sequence = _let_tmp_rhs1.Get_().(m_MaterialWrapping.UnwrapOutput_UnwrapOutput).UnwrappedMaterial - _ = _11_intermediateMaterial - var _12_unwrapInfo interface{} = _let_tmp_rhs1.Get_().(m_MaterialWrapping.UnwrapOutput_UnwrapOutput).UnwrapInfo - _ = _12_unwrapInfo - var _13_valueOrError3 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(Companion_PdkEncryptionAndSymmetricSigningKeys_.Default()) - _ = _13_valueOrError3 + var _12_intermediateMaterial _dafny.Sequence = _let_tmp_rhs1.Get_().(m_MaterialWrapping.UnwrapOutput_UnwrapOutput).UnwrappedMaterial + _ = _12_intermediateMaterial + var _13_unwrapInfo interface{} = _let_tmp_rhs1.Get_().(m_MaterialWrapping.UnwrapOutput_UnwrapOutput).UnwrapInfo + _ = _13_unwrapInfo + var _14_valueOrError3 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(Companion_PdkEncryptionAndSymmetricSigningKeys_.Default()) + _ = _14_valueOrError3 var _out2 m_Wrappers.Result _ = _out2 - _out2 = Companion_Default___.DeriveKeysFromIntermediateMaterial(_11_intermediateMaterial, algorithmSuite, encryptionContext, _4_cryptoPrimitives) - _13_valueOrError3 = _out2 - if (_13_valueOrError3).IsFailure() { - res = (_13_valueOrError3).PropagateFailure() + _out2 = Companion_Default___.DeriveKeysFromIntermediateMaterial(_12_intermediateMaterial, algorithmSuite, encryptionContext, _4_cryptoPrimitives) + _14_valueOrError3 = _out2 + if (_14_valueOrError3).IsFailure() { + res = (_14_valueOrError3).PropagateFailure() return res } - var _14_derivedKeys PdkEncryptionAndSymmetricSigningKeys - _ = _14_derivedKeys - _14_derivedKeys = (_13_valueOrError3).Extract().(PdkEncryptionAndSymmetricSigningKeys) - var _let_tmp_rhs2 PdkEncryptionAndSymmetricSigningKeys = _14_derivedKeys + var _15_derivedKeys PdkEncryptionAndSymmetricSigningKeys + _ = _15_derivedKeys + _15_derivedKeys = (_14_valueOrError3).Extract().(PdkEncryptionAndSymmetricSigningKeys) + var _let_tmp_rhs2 PdkEncryptionAndSymmetricSigningKeys = _15_derivedKeys _ = _let_tmp_rhs2 - var _15_pdkEncryptionKey _dafny.Sequence = _let_tmp_rhs2.Get_().(PdkEncryptionAndSymmetricSigningKeys_PdkEncryptionAndSymmetricSigningKeys).PdkEncryptionKey - _ = _15_pdkEncryptionKey - var _16_symmetricSigningKey _dafny.Sequence = _let_tmp_rhs2.Get_().(PdkEncryptionAndSymmetricSigningKeys_PdkEncryptionAndSymmetricSigningKeys).SymmetricSigningKey - _ = _16_symmetricSigningKey - var _17_iv _dafny.Sequence - _ = _17_iv - _17_iv = _dafny.SeqCreate((_dafny.IntOfInt32(m_AlgorithmSuites.Companion_Default___.GetEncryptIvLength(algorithmSuite))).Uint32(), func(coer39 func(_dafny.Int) uint8) func(_dafny.Int) interface{} { - return func(arg40 _dafny.Int) interface{} { - return coer39(arg40) - } - }(func(_18___v0 _dafny.Int) uint8 { - return uint8(0) - })) - var _19_tagIndex _dafny.Int + var _16_pdkEncryptionKey _dafny.Sequence = _let_tmp_rhs2.Get_().(PdkEncryptionAndSymmetricSigningKeys_PdkEncryptionAndSymmetricSigningKeys).PdkEncryptionKey + _ = _16_pdkEncryptionKey + var _17_symmetricSigningKey _dafny.Sequence = _let_tmp_rhs2.Get_().(PdkEncryptionAndSymmetricSigningKeys_PdkEncryptionAndSymmetricSigningKeys).SymmetricSigningKey + _ = _17_symmetricSigningKey + var _18_iv _dafny.Sequence + _ = _18_iv + _18_iv = Companion_Default___.GetIvLengthZeros(m_AlgorithmSuites.Companion_Default___.GetEncryptIvLength(algorithmSuite)) + var _19_tagIndex uint64 _ = _19_tagIndex - _19_tagIndex = (_dafny.IntOfUint32((_7_encryptedPdk).Cardinality())).Minus(_dafny.IntOfInt32(m_AlgorithmSuites.Companion_Default___.GetEncryptTagLength(algorithmSuite))) + _19_tagIndex = (uint64((_7_encryptedPdk).Cardinality())) - (func() uint64 { + return (uint64(m_AlgorithmSuites.Companion_Default___.GetEncryptTagLength(algorithmSuite))) + })() var _20_valueOrError4 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) _ = _20_valueOrError4 - _20_valueOrError4 = m_CanonicalEncryptionContext.Companion_Default___.EncryptionContextToAAD(encryptionContext) + _20_valueOrError4 = _9_serializedEC if (_20_valueOrError4).IsFailure() { res = (_20_valueOrError4).PropagateFailure() return res @@ -301,7 +308,7 @@ func (_static *CompanionStruct_Default___) IntermediateUnwrap(unwrap m_MaterialW _21_aad = (_20_valueOrError4).Extract().(_dafny.Sequence) var _22_decInput m_AwsCryptographyPrimitivesTypes.AESDecryptInput _ = _22_decInput - _22_decInput = m_AwsCryptographyPrimitivesTypes.Companion_AESDecryptInput_.Create_AESDecryptInput_(((algorithmSuite).Dtor_encrypt()).Dtor_AES__GCM(), _15_pdkEncryptionKey, (_7_encryptedPdk).Take((_19_tagIndex).Uint32()), (_7_encryptedPdk).Drop((_19_tagIndex).Uint32()), _17_iv, _21_aad) + _22_decInput = m_AwsCryptographyPrimitivesTypes.Companion_AESDecryptInput_.Create_AESDecryptInput_(((algorithmSuite).Dtor_encrypt()).Dtor_AES__GCM(), _16_pdkEncryptionKey, (_7_encryptedPdk).Take(uint32(_19_tagIndex)), (_7_encryptedPdk).Drop(uint32(_19_tagIndex)), _18_iv, _21_aad) var _23_decOutR m_Wrappers.Result _ = _23_decOutR var _out3 m_Wrappers.Result @@ -310,9 +317,9 @@ func (_static *CompanionStruct_Default___) IntermediateUnwrap(unwrap m_MaterialW _23_decOutR = _out3 var _24_valueOrError5 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) _ = _24_valueOrError5 - _24_valueOrError5 = (_23_decOutR).MapFailure(func(coer40 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg41 interface{}) interface{} { - return coer40(arg41.(m_AwsCryptographyPrimitivesTypes.Error)) + _24_valueOrError5 = (_23_decOutR).MapFailure(func(coer36 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg37 interface{}) interface{} { + return coer36(arg37.(m_AwsCryptographyPrimitivesTypes.Error)) } }(func(_25_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_25_e) @@ -324,14 +331,7 @@ func (_static *CompanionStruct_Default___) IntermediateUnwrap(unwrap m_MaterialW var _26_plaintextDataKey _dafny.Sequence _ = _26_plaintextDataKey _26_plaintextDataKey = (_24_valueOrError5).Extract().(_dafny.Sequence) - var _27_valueOrError6 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() - _ = _27_valueOrError6 - _27_valueOrError6 = m_Wrappers.Companion_Default___.Need((_dafny.IntOfUint32((_26_plaintextDataKey).Cardinality())).Cmp(_dafny.IntOfInt32(m_AlgorithmSuites.Companion_Default___.GetEncryptKeyLength(algorithmSuite))) == 0, m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Unexpected AES_GCM Decrypt length"))) - if (_27_valueOrError6).IsFailure() { - res = (_27_valueOrError6).PropagateFailure() - return res - } - res = m_Wrappers.Companion_Result_.Create_Success_(Companion_IntermediateUnwrapOutput_.Create_IntermediateUnwrapOutput_(_26_plaintextDataKey, _16_symmetricSigningKey, _12_unwrapInfo)) + res = m_Wrappers.Companion_Result_.Create_Success_(Companion_IntermediateUnwrapOutput_.Create_IntermediateUnwrapOutput_(_26_plaintextDataKey, _17_symmetricSigningKey, _13_unwrapInfo)) return res return res } @@ -346,9 +346,9 @@ func (_static *CompanionStruct_Default___) IntermediateWrap(generateAndWrap m_Ma _0_maybeCrypto = _out0 var _1_valueOrError0 m_Wrappers.Result = m_Wrappers.Result{} _ = _1_valueOrError0 - _1_valueOrError0 = (_0_maybeCrypto).MapFailure(func(coer41 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg42 interface{}) interface{} { - return coer41(arg42.(m_AwsCryptographyPrimitivesTypes.Error)) + _1_valueOrError0 = (_0_maybeCrypto).MapFailure(func(coer37 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg38 interface{}) interface{} { + return coer37(arg38.(m_AwsCryptographyPrimitivesTypes.Error)) } }(func(_2_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_2_e) @@ -367,7 +367,7 @@ func (_static *CompanionStruct_Default___) IntermediateWrap(generateAndWrap m_Ma _ = _5_valueOrError1 var _out1 interface{} _ = _out1 - _out1 = (generateAndWrap).Invoke(m_MaterialWrapping.Companion_GenerateAndWrapInput_.Create_GenerateAndWrapInput_(algorithmSuite, encryptionContext)) + _out1 = (generateAndWrap).Invoke(m_MaterialWrapping.Companion_GenerateAndWrapInput_.Create_GenerateAndWrapInput_(algorithmSuite, encryptionContext, m_CanonicalEncryptionContext.Companion_Default___.EncryptionContextToAAD(encryptionContext))) _5_valueOrError1 = _out1.(m_Wrappers.Result) if (_5_valueOrError1).IsFailure() { res = (_5_valueOrError1).PropagateFailure() @@ -405,59 +405,46 @@ func (_static *CompanionStruct_Default___) IntermediateWrap(generateAndWrap m_Ma _ = _13_symmetricSigningKey var _14_iv _dafny.Sequence _ = _14_iv - _14_iv = _dafny.SeqCreate((_dafny.IntOfInt32(m_AlgorithmSuites.Companion_Default___.GetEncryptIvLength(algorithmSuite))).Uint32(), func(coer42 func(_dafny.Int) uint8) func(_dafny.Int) interface{} { - return func(arg43 _dafny.Int) interface{} { - return coer42(arg43) - } - }(func(_15___v1 _dafny.Int) uint8 { - return uint8(0) - })) - var _16_valueOrError3 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) - _ = _16_valueOrError3 - _16_valueOrError3 = m_CanonicalEncryptionContext.Companion_Default___.EncryptionContextToAAD(encryptionContext) - if (_16_valueOrError3).IsFailure() { - res = (_16_valueOrError3).PropagateFailure() + _14_iv = Companion_Default___.GetIvLengthZeros(m_AlgorithmSuites.Companion_Default___.GetEncryptIvLength(algorithmSuite)) + var _15_valueOrError3 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) + _ = _15_valueOrError3 + _15_valueOrError3 = m_CanonicalEncryptionContext.Companion_Default___.EncryptionContextToAAD(encryptionContext) + if (_15_valueOrError3).IsFailure() { + res = (_15_valueOrError3).PropagateFailure() return res } - var _17_aad _dafny.Sequence - _ = _17_aad - _17_aad = (_16_valueOrError3).Extract().(_dafny.Sequence) - var _18_encInput m_AwsCryptographyPrimitivesTypes.AESEncryptInput - _ = _18_encInput - _18_encInput = m_AwsCryptographyPrimitivesTypes.Companion_AESEncryptInput_.Create_AESEncryptInput_(((algorithmSuite).Dtor_encrypt()).Dtor_AES__GCM(), _14_iv, _12_pdkEncryptionKey, plaintextDataKey, _17_aad) - var _19_encOutR m_Wrappers.Result - _ = _19_encOutR + var _16_aad _dafny.Sequence + _ = _16_aad + _16_aad = (_15_valueOrError3).Extract().(_dafny.Sequence) + var _17_encInput m_AwsCryptographyPrimitivesTypes.AESEncryptInput + _ = _17_encInput + _17_encInput = m_AwsCryptographyPrimitivesTypes.Companion_AESEncryptInput_.Create_AESEncryptInput_(((algorithmSuite).Dtor_encrypt()).Dtor_AES__GCM(), _14_iv, _12_pdkEncryptionKey, plaintextDataKey, _16_aad) + var _18_encOutR m_Wrappers.Result + _ = _18_encOutR var _out3 m_Wrappers.Result _ = _out3 - _out3 = (_4_cryptoPrimitives).AESEncrypt(_18_encInput) - _19_encOutR = _out3 - var _20_valueOrError4 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_AwsCryptographyPrimitivesTypes.Companion_AESEncryptOutput_.Default()) - _ = _20_valueOrError4 - _20_valueOrError4 = (_19_encOutR).MapFailure(func(coer43 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg44 interface{}) interface{} { - return coer43(arg44.(m_AwsCryptographyPrimitivesTypes.Error)) + _out3 = (_4_cryptoPrimitives).AESEncrypt(_17_encInput) + _18_encOutR = _out3 + var _19_valueOrError4 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_AwsCryptographyPrimitivesTypes.Companion_AESEncryptOutput_.Default()) + _ = _19_valueOrError4 + _19_valueOrError4 = (_18_encOutR).MapFailure(func(coer38 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg39 interface{}) interface{} { + return coer38(arg39.(m_AwsCryptographyPrimitivesTypes.Error)) } - }(func(_21_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { - return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_21_e) + }(func(_20_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { + return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_20_e) })) - if (_20_valueOrError4).IsFailure() { - res = (_20_valueOrError4).PropagateFailure() - return res - } - var _22_encryptedPdk m_AwsCryptographyPrimitivesTypes.AESEncryptOutput - _ = _22_encryptedPdk - _22_encryptedPdk = (_20_valueOrError4).Extract().(m_AwsCryptographyPrimitivesTypes.AESEncryptOutput) - var _23_valueOrError5 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() - _ = _23_valueOrError5 - _23_valueOrError5 = m_Wrappers.Companion_Default___.Need((_dafny.IntOfUint32((_dafny.Companion_Sequence_.Concatenate((_22_encryptedPdk).Dtor_cipherText(), (_22_encryptedPdk).Dtor_authTag())).Cardinality())).Cmp(_dafny.IntOfInt32((m_AlgorithmSuites.Companion_Default___.GetEncryptKeyLength(algorithmSuite))+(m_AlgorithmSuites.Companion_Default___.GetEncryptTagLength(algorithmSuite)))) == 0, m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Unexpected AES_GCM Encrypt length"))) - if (_23_valueOrError5).IsFailure() { - res = (_23_valueOrError5).PropagateFailure() + if (_19_valueOrError4).IsFailure() { + res = (_19_valueOrError4).PropagateFailure() return res } - var _24_serializedMaterial _dafny.Sequence - _ = _24_serializedMaterial - _24_serializedMaterial = _dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate((_22_encryptedPdk).Dtor_cipherText(), (_22_encryptedPdk).Dtor_authTag()), _8_providerWrappedIkm) - res = m_Wrappers.Companion_Result_.Create_Success_(Companion_IntermediateWrapOutput_.Create_IntermediateWrapOutput_(_24_serializedMaterial, _13_symmetricSigningKey, _9_wrapInfo)) + var _21_encryptedPdk m_AwsCryptographyPrimitivesTypes.AESEncryptOutput + _ = _21_encryptedPdk + _21_encryptedPdk = (_19_valueOrError4).Extract().(m_AwsCryptographyPrimitivesTypes.AESEncryptOutput) + var _22_serializedMaterial _dafny.Sequence + _ = _22_serializedMaterial + _22_serializedMaterial = _dafny.Companion_Sequence_.Concatenate(_dafny.Companion_Sequence_.Concatenate((_21_encryptedPdk).Dtor_cipherText(), (_21_encryptedPdk).Dtor_authTag()), _8_providerWrappedIkm) + res = m_Wrappers.Companion_Result_.Create_Success_(Companion_IntermediateWrapOutput_.Create_IntermediateWrapOutput_(_22_serializedMaterial, _13_symmetricSigningKey, _9_wrapInfo)) return res return res } @@ -472,9 +459,9 @@ func (_static *CompanionStruct_Default___) IntermediateGenerateAndWrap(generateA _0_maybeCrypto = _out0 var _1_valueOrError0 m_Wrappers.Result = m_Wrappers.Result{} _ = _1_valueOrError0 - _1_valueOrError0 = (_0_maybeCrypto).MapFailure(func(coer44 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg45 interface{}) interface{} { - return coer44(arg45.(m_AwsCryptographyPrimitivesTypes.Error)) + _1_valueOrError0 = (_0_maybeCrypto).MapFailure(func(coer39 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg40 interface{}) interface{} { + return coer39(arg40.(m_AwsCryptographyPrimitivesTypes.Error)) } }(func(_2_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_2_e) @@ -494,9 +481,9 @@ func (_static *CompanionStruct_Default___) IntermediateGenerateAndWrap(generateA _4_generateBytesResult = _out1 var _5_valueOrError1 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) _ = _5_valueOrError1 - _5_valueOrError1 = (_4_generateBytesResult).MapFailure(func(coer45 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg46 interface{}) interface{} { - return coer45(arg46.(m_AwsCryptographyPrimitivesTypes.Error)) + _5_valueOrError1 = (_4_generateBytesResult).MapFailure(func(coer40 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg41 interface{}) interface{} { + return coer40(arg41.(m_AwsCryptographyPrimitivesTypes.Error)) } }(func(_6_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_6_e) @@ -526,7 +513,7 @@ func (_static *CompanionStruct_Default___) IntermediateGenerateAndWrap(generateA return res } func (_static *CompanionStruct_Default___) DeserializeIntermediateWrappedMaterial(material _dafny.Sequence, algSuite m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo) m_Wrappers.Result { - var _0_valueOrError0 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need((_dafny.IntOfUint32((material).Cardinality())).Cmp(_dafny.IntOfInt32((m_AlgorithmSuites.Companion_Default___.GetEncryptKeyLength(algSuite))+(m_AlgorithmSuites.Companion_Default___.GetEncryptTagLength(algSuite)))) >= 0, m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Unable to deserialize Intermediate Key Wrapped material: too short."))) + var _0_valueOrError0 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need((uint64((material).Cardinality())) >= (uint64((m_AlgorithmSuites.Companion_Default___.GetEncryptKeyLength(algSuite))+(m_AlgorithmSuites.Companion_Default___.GetEncryptTagLength(algSuite)))), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Unable to deserialize Intermediate Key Wrapped material: too short."))) _ = _0_valueOrError0 if (_0_valueOrError0).IsFailure() { return (_0_valueOrError0).PropagateFailure() @@ -550,9 +537,9 @@ func (_static *CompanionStruct_Default___) DeriveKeysFromIntermediateMaterial(in _1_maybePseudoRandomKey = _out0 var _2_valueOrError0 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) _ = _2_valueOrError0 - _2_valueOrError0 = (_1_maybePseudoRandomKey).MapFailure(func(coer46 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg47 interface{}) interface{} { - return coer46(arg47.(m_AwsCryptographyPrimitivesTypes.Error)) + _2_valueOrError0 = (_1_maybePseudoRandomKey).MapFailure(func(coer41 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg42 interface{}) interface{} { + return coer41(arg42.(m_AwsCryptographyPrimitivesTypes.Error)) } }(func(_3_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_3_e) @@ -582,9 +569,9 @@ func (_static *CompanionStruct_Default___) DeriveKeysFromIntermediateMaterial(in _9_maybeSymmetricSigningKey = _out1 var _10_valueOrError1 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) _ = _10_valueOrError1 - _10_valueOrError1 = (_9_maybeSymmetricSigningKey).MapFailure(func(coer47 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg48 interface{}) interface{} { - return coer47(arg48.(m_AwsCryptographyPrimitivesTypes.Error)) + _10_valueOrError1 = (_9_maybeSymmetricSigningKey).MapFailure(func(coer42 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg43 interface{}) interface{} { + return coer42(arg43.(m_AwsCryptographyPrimitivesTypes.Error)) } }(func(_11_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_11_e) @@ -604,9 +591,9 @@ func (_static *CompanionStruct_Default___) DeriveKeysFromIntermediateMaterial(in _13_maybePdkEncryptionKey = _out2 var _14_valueOrError2 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) _ = _14_valueOrError2 - _14_valueOrError2 = (_13_maybePdkEncryptionKey).MapFailure(func(coer48 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg49 interface{}) interface{} { - return coer48(arg49.(m_AwsCryptographyPrimitivesTypes.Error)) + _14_valueOrError2 = (_13_maybePdkEncryptionKey).MapFailure(func(coer43 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg44 interface{}) interface{} { + return coer43(arg44.(m_AwsCryptographyPrimitivesTypes.Error)) } }(func(_15_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_15_e) @@ -623,10 +610,14 @@ func (_static *CompanionStruct_Default___) DeriveKeysFromIntermediateMaterial(in return res } func (_static *CompanionStruct_Default___) KEYWRAP__MAC__INFO() _dafny.Sequence { - return m_UTF8.Companion_Default___.EncodeAscii(_dafny.SeqOfString("AWS_MPL_INTERMEDIATE_KEYWRAP_MAC")) + var _0_s _dafny.Sequence = _dafny.SeqOf(uint8(65), uint8(87), uint8(83), uint8(95), uint8(77), uint8(80), uint8(76), uint8(95), uint8(73), uint8(78), uint8(84), uint8(69), uint8(82), uint8(77), uint8(69), uint8(68), uint8(73), uint8(65), uint8(84), uint8(69), uint8(95), uint8(75), uint8(69), uint8(89), uint8(87), uint8(82), uint8(65), uint8(80), uint8(95), uint8(77), uint8(65), uint8(67)) + _ = _0_s + return _0_s } func (_static *CompanionStruct_Default___) KEYWRAP__ENC__INFO() _dafny.Sequence { - return m_UTF8.Companion_Default___.EncodeAscii(_dafny.SeqOfString("AWS_MPL_INTERMEDIATE_KEYWRAP_ENC")) + var _0_s _dafny.Sequence = _dafny.SeqOf(uint8(65), uint8(87), uint8(83), uint8(95), uint8(77), uint8(80), uint8(76), uint8(95), uint8(73), uint8(78), uint8(84), uint8(69), uint8(82), uint8(77), uint8(69), uint8(68), uint8(73), uint8(65), uint8(84), uint8(69), uint8(95), uint8(75), uint8(69), uint8(89), uint8(87), uint8(82), uint8(65), uint8(80), uint8(95), uint8(69), uint8(78), uint8(67)) + _ = _0_s + return _0_s } // End of class Default__ diff --git a/releases/go/mpl/KMSKeystoreOperations/KMSKeystoreOperations.go b/releases/go/mpl/KMSKeystoreOperations/KMSKeystoreOperations.go index ff294e5eae..b3b8e141b0 100644 --- a/releases/go/mpl/KMSKeystoreOperations/KMSKeystoreOperations.go +++ b/releases/go/mpl/KMSKeystoreOperations/KMSKeystoreOperations.go @@ -52,6 +52,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -71,6 +72,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -414,7 +416,7 @@ func (_static *CompanionStruct_Default___) DecryptKey(encryptionContext _dafny.M _4_decryptResponse = (_2_valueOrError0).Extract().(m_ComAmazonawsKmsTypes.DecryptResponse) var _5_valueOrError1 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _5_valueOrError1 - _5_valueOrError1 = m_Wrappers.Companion_Default___.Need((((_4_decryptResponse).Dtor_Plaintext()).Is_Some()) && ((_dafny.IntOfInt64(32)).Cmp(_dafny.IntOfUint32((((_4_decryptResponse).Dtor_Plaintext()).Dtor_value().(_dafny.Sequence)).Cardinality())) == 0), m_AwsCryptographyKeyStoreTypes.Companion_Error_.Create_KeyStoreException_(_dafny.SeqOfString("Invalid response from AWS KMS Decrypt: Key is not 32 bytes."))) + _5_valueOrError1 = m_Wrappers.Companion_Default___.Need((((_4_decryptResponse).Dtor_Plaintext()).Is_Some()) && ((uint64(32)) == (uint64((((_4_decryptResponse).Dtor_Plaintext()).Dtor_value().(_dafny.Sequence)).Cardinality()))), m_AwsCryptographyKeyStoreTypes.Companion_Error_.Create_KeyStoreException_(_dafny.SeqOfString("Invalid response from AWS KMS Decrypt: Key is not 32 bytes."))) if (_5_valueOrError1).IsFailure() { output = (_5_valueOrError1).PropagateFailure() return output diff --git a/releases/go/mpl/KeyStore/KeyStore.go b/releases/go/mpl/KeyStore/KeyStore.go index 0ccd2e53e7..aa0eb0dd94 100644 --- a/releases/go/mpl/KeyStore/KeyStore.go +++ b/releases/go/mpl/KeyStore/KeyStore.go @@ -60,6 +60,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -80,6 +81,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ diff --git a/releases/go/mpl/KeyStoreErrorMessages/KeyStoreErrorMessages.go b/releases/go/mpl/KeyStoreErrorMessages/KeyStoreErrorMessages.go index 0eac7f1259..d0e70175e6 100644 --- a/releases/go/mpl/KeyStoreErrorMessages/KeyStoreErrorMessages.go +++ b/releases/go/mpl/KeyStoreErrorMessages/KeyStoreErrorMessages.go @@ -49,6 +49,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -68,6 +69,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ diff --git a/releases/go/mpl/Keyring/Keyring.go b/releases/go/mpl/Keyring/Keyring.go index 2a258a91b5..59ebf05099 100644 --- a/releases/go/mpl/Keyring/Keyring.go +++ b/releases/go/mpl/Keyring/Keyring.go @@ -63,6 +63,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -82,6 +83,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -152,9 +154,9 @@ type Dummy__ struct{} type VerifiableInterface interface { String() string OnDecrypt(input m_AwsCryptographyMaterialProvidersTypes.OnDecryptInput) m_Wrappers.Result + OnDecrypt_k(input m_AwsCryptographyMaterialProvidersTypes.OnDecryptInput) m_Wrappers.Result OnEncrypt(input m_AwsCryptographyMaterialProvidersTypes.OnEncryptInput) m_Wrappers.Result OnEncrypt_k(input m_AwsCryptographyMaterialProvidersTypes.OnEncryptInput) m_Wrappers.Result - OnDecrypt_k(input m_AwsCryptographyMaterialProvidersTypes.OnDecryptInput) m_Wrappers.Result } type CompanionStruct_VerifiableInterface_ struct { TraitID_ *_dafny.TraitID diff --git a/releases/go/mpl/KmsArn/KmsArn.go b/releases/go/mpl/KmsArn/KmsArn.go index 53caaac01e..0bbbfe535a 100644 --- a/releases/go/mpl/KmsArn/KmsArn.go +++ b/releases/go/mpl/KmsArn/KmsArn.go @@ -50,6 +50,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -69,6 +70,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ diff --git a/releases/go/mpl/LocalCMC/LocalCMC.go b/releases/go/mpl/LocalCMC/LocalCMC.go index 9c978ce6eb..6dc791e810 100644 --- a/releases/go/mpl/LocalCMC/LocalCMC.go +++ b/releases/go/mpl/LocalCMC/LocalCMC.go @@ -16,10 +16,8 @@ import ( m_AwsCryptographyKeyStoreTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreTypes" m_AwsCryptographyMaterialProvidersTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" m_AwsKmsDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsDiscoveryKeyring" + m_AwsKmsEcdhKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsEcdhKeyring" m_AwsKmsKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsKeyring" - m_AwsKmsMrkAreUnique "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkAreUnique" - m_AwsKmsMrkDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkDiscoveryKeyring" - m_AwsKmsMrkKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkKeyring" m_AwsKmsMrkMatchForDecrypt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkMatchForDecrypt" m_AwsKmsUtils "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsUtils" m_CanonicalEncryptionContext "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CanonicalEncryptionContext" @@ -27,7 +25,7 @@ import ( m_CreateKeyStoreTable "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeyStoreTable" m_CreateKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeys" m_DDBKeystoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DDBKeystoreOperations" - m_DiscoveryMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DiscoveryMultiKeyring" + m_EcdhEdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EcdhEdkWrapping" m_EdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EdkWrapping" m_ErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/ErrorMessages" m_GetKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/GetKeys" @@ -39,10 +37,9 @@ import ( m_KmsArn "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KmsArn" m_MaterialWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MaterialWrapping" m_Materials "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Materials" - m_MrkAwareDiscoveryMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MrkAwareDiscoveryMultiKeyring" - m_MrkAwareStrictMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MrkAwareStrictMultiKeyring" - m_MultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MultiKeyring" - m_StrictMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StrictMultiKeyring" + m_RawAESKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawAESKeyring" + m_RawECDHKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawECDHKeyring" + m_RawRSAKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawRSAKeyring" m_Structure "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Structure" m_AtomicPrimitives "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AtomicPrimitives" m_AwsCryptographyPrimitivesOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesOperations" @@ -81,6 +78,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -101,6 +99,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -165,22 +164,19 @@ var _ m_KeyStore.Dummy__ var _ m_AlgorithmSuites.Dummy__ var _ m_Materials.Dummy__ var _ m_Keyring.Dummy__ -var _ m_MultiKeyring.Dummy__ -var _ m_AwsKmsMrkAreUnique.Dummy__ -var _ m_Constants.Dummy__ -var _ m_MaterialWrapping.Dummy__ var _ m_CanonicalEncryptionContext.Dummy__ +var _ m_MaterialWrapping.Dummy__ var _ m_IntermediateKeyWrapping.Dummy__ var _ m_EdkWrapping.Dummy__ var _ m_ErrorMessages.Dummy__ +var _ m_RawAESKeyring.Dummy__ +var _ m_Constants.Dummy__ +var _ m_EcdhEdkWrapping.Dummy__ +var _ m_RawECDHKeyring.Dummy__ +var _ m_RawRSAKeyring.Dummy__ var _ m_AwsKmsKeyring.Dummy__ -var _ m_StrictMultiKeyring.Dummy__ var _ m_AwsKmsDiscoveryKeyring.Dummy__ -var _ m_DiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkDiscoveryKeyring.Dummy__ -var _ m_MrkAwareDiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkKeyring.Dummy__ -var _ m_MrkAwareStrictMultiKeyring.Dummy__ +var _ m_AwsKmsEcdhKeyring.Dummy__ type Dummy__ struct{} @@ -582,8 +578,8 @@ func (_this *DoublyLinkedCacheEntryList) Remove(toRemove *CacheEntry) { type LocalCMC struct { Queue *DoublyLinkedCacheEntryList Cache *m_DafnyLibraries.MutableMap - _entryCapacity _dafny.Int - _entryPruningTailSize _dafny.Int + _entryCapacity uint64 + _entryPruningTailSize uint64 } func New_LocalCMC_() *LocalCMC { @@ -591,8 +587,8 @@ func New_LocalCMC_() *LocalCMC { _this.Queue = (*DoublyLinkedCacheEntryList)(nil) _this.Cache = (*m_DafnyLibraries.MutableMap)(nil) - _this._entryCapacity = _dafny.Zero - _this._entryPruningTailSize = _dafny.Zero + _this._entryCapacity = uint64(0) + _this._entryPruningTailSize = uint64(0) return &_this } @@ -659,7 +655,7 @@ func (_this *LocalCMC) UpdateUsageMetadata(input m_AwsCryptographyMaterialProvid _out1 = m_AwsCryptographyMaterialProvidersTypes.Companion_ICryptographicMaterialsCache_.UpdateUsageMetadata(_this, input) return _out1 } -func (_this *LocalCMC) Ctor__(entryCapacity_k _dafny.Int, entryPruningTailSize_k _dafny.Int) { +func (_this *LocalCMC) Ctor__(entryCapacity_k uint64, entryPruningTailSize_k uint64) { { (_this)._entryCapacity = entryCapacity_k (_this)._entryPruningTailSize = entryPruningTailSize_k @@ -739,7 +735,7 @@ func (_this *LocalCMC) PutCacheEntry_k(input m_AwsCryptographyMaterialProvidersT { var output m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.TupleOf()) _ = output - if ((_this).EntryCapacity()).Sign() == 0 { + if ((_this).EntryCapacity()) == (uint64(0)) { output = m_Wrappers.Companion_Result_.Create_Success_(_dafny.TupleOf()) return output } @@ -758,7 +754,7 @@ func (_this *LocalCMC) PutCacheEntry_k(input m_AwsCryptographyMaterialProvidersT _ = _1___v2 _1___v2 = (_0_valueOrError0).Extract().(_dafny.Tuple) } - if ((_this).EntryCapacity()).Cmp((_this.Cache).Size()) == 0 { + if ((_this).EntryCapacity()) == (((_this.Cache).Size()).Uint64()) { var _2_valueOrError1 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.TupleOf()) _ = _2_valueOrError1 var _out1 m_Wrappers.Result @@ -848,9 +844,9 @@ func (_this *LocalCMC) Pruning(now int64) m_Wrappers.Result { { var output m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.TupleOf()) _ = output - var _hi0 _dafny.Int = (_this).EntryPruningTailSize() + var _hi0 uint64 = (_this).EntryPruningTailSize() _ = _hi0 - for _0_i := _dafny.Zero; _0_i.Cmp(_hi0) < 0; _0_i = _0_i.Plus(_dafny.One) { + for _0_i := uint64(0); _0_i < _hi0; _0_i++ { if (_this.Queue.Tail).Is_Ptr() { if (((_this.Queue.Tail).Dtor_deref().(*CacheEntry)).ExpiryTime()) < (now) { var _1_valueOrError0 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.TupleOf()) @@ -880,12 +876,12 @@ func (_this *LocalCMC) Pruning(now int64) m_Wrappers.Result { return output } } -func (_this *LocalCMC) EntryCapacity() _dafny.Int { +func (_this *LocalCMC) EntryCapacity() uint64 { { return _this._entryCapacity } } -func (_this *LocalCMC) EntryPruningTailSize() _dafny.Int { +func (_this *LocalCMC) EntryPruningTailSize() uint64 { { return _this._entryPruningTailSize } diff --git a/releases/go/mpl/MaterialProviders/MaterialProviders.go b/releases/go/mpl/MaterialProviders/MaterialProviders.go index f51cad6dcf..e725cda602 100644 --- a/releases/go/mpl/MaterialProviders/MaterialProviders.go +++ b/releases/go/mpl/MaterialProviders/MaterialProviders.go @@ -100,6 +100,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -119,6 +120,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -183,34 +185,34 @@ var _ m_KeyStore.Dummy__ var _ m_AlgorithmSuites.Dummy__ var _ m_Materials.Dummy__ var _ m_Keyring.Dummy__ -var _ m_MultiKeyring.Dummy__ -var _ m_AwsKmsMrkAreUnique.Dummy__ -var _ m_Constants.Dummy__ -var _ m_MaterialWrapping.Dummy__ var _ m_CanonicalEncryptionContext.Dummy__ +var _ m_MaterialWrapping.Dummy__ var _ m_IntermediateKeyWrapping.Dummy__ var _ m_EdkWrapping.Dummy__ var _ m_ErrorMessages.Dummy__ +var _ m_RawAESKeyring.Dummy__ +var _ m_Constants.Dummy__ +var _ m_EcdhEdkWrapping.Dummy__ +var _ m_RawECDHKeyring.Dummy__ +var _ m_RawRSAKeyring.Dummy__ var _ m_AwsKmsKeyring.Dummy__ -var _ m_StrictMultiKeyring.Dummy__ var _ m_AwsKmsDiscoveryKeyring.Dummy__ -var _ m_DiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkDiscoveryKeyring.Dummy__ -var _ m_MrkAwareDiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkKeyring.Dummy__ -var _ m_MrkAwareStrictMultiKeyring.Dummy__ +var _ m_AwsKmsEcdhKeyring.Dummy__ var _ m_LocalCMC.Dummy__ var _ m_SynchronizedLocalCMC.Dummy__ var _ m_StormTracker.Dummy__ var _ m_StormTrackingCMC.Dummy__ var _ m_CacheConstants.Dummy__ var _ m_AwsKmsHierarchicalKeyring.Dummy__ +var _ m_AwsKmsMrkDiscoveryKeyring.Dummy__ +var _ m_AwsKmsMrkKeyring.Dummy__ var _ m_AwsKmsRsaKeyring.Dummy__ -var _ m_EcdhEdkWrapping.Dummy__ -var _ m_RawECDHKeyring.Dummy__ -var _ m_AwsKmsEcdhKeyring.Dummy__ -var _ m_RawAESKeyring.Dummy__ -var _ m_RawRSAKeyring.Dummy__ +var _ m_MultiKeyring.Dummy__ +var _ m_AwsKmsMrkAreUnique.Dummy__ +var _ m_StrictMultiKeyring.Dummy__ +var _ m_DiscoveryMultiKeyring.Dummy__ +var _ m_MrkAwareDiscoveryMultiKeyring.Dummy__ +var _ m_MrkAwareStrictMultiKeyring.Dummy__ var _ m_CMM.Dummy__ var _ m_Defaults.Dummy__ var _ m_Commitment.Dummy__ @@ -270,9 +272,9 @@ func (_static *CompanionStruct_Default___) MaterialProviders(config m_AwsCryptog _0_maybeCrypto = _out0 var _1_valueOrError0 m_Wrappers.Result = m_Wrappers.Result{} _ = _1_valueOrError0 - _1_valueOrError0 = (_0_maybeCrypto).MapFailure(func(coer138 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg139 interface{}) interface{} { - return coer138(arg139.(m_AwsCryptographyPrimitivesTypes.Error)) + _1_valueOrError0 = (_0_maybeCrypto).MapFailure(func(coer134 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg135 interface{}) interface{} { + return coer134(arg135.(m_AwsCryptographyPrimitivesTypes.Error)) } }(func(_2_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_2_e) diff --git a/releases/go/mpl/MaterialWrapping/MaterialWrapping.go b/releases/go/mpl/MaterialWrapping/MaterialWrapping.go index 6f5ebbc030..9d1149cd1f 100644 --- a/releases/go/mpl/MaterialWrapping/MaterialWrapping.go +++ b/releases/go/mpl/MaterialWrapping/MaterialWrapping.go @@ -15,10 +15,9 @@ import ( m_AwsCryptographyKeyStoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreOperations" m_AwsCryptographyKeyStoreTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreTypes" m_AwsCryptographyMaterialProvidersTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" - m_AwsKmsMrkAreUnique "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkAreUnique" m_AwsKmsMrkMatchForDecrypt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkMatchForDecrypt" m_AwsKmsUtils "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsUtils" - m_Constants "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Constants" + m_CanonicalEncryptionContext "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CanonicalEncryptionContext" m_CreateKeyStoreTable "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeyStoreTable" m_CreateKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeys" m_DDBKeystoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DDBKeystoreOperations" @@ -29,7 +28,6 @@ import ( m_Keyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Keyring" m_KmsArn "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KmsArn" m_Materials "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Materials" - m_MultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MultiKeyring" m_Structure "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Structure" m_AtomicPrimitives "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AtomicPrimitives" m_AwsCryptographyPrimitivesOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesOperations" @@ -67,6 +65,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -86,6 +85,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -150,9 +150,7 @@ var _ m_KeyStore.Dummy__ var _ m_AlgorithmSuites.Dummy__ var _ m_Materials.Dummy__ var _ m_Keyring.Dummy__ -var _ m_MultiKeyring.Dummy__ -var _ m_AwsKmsMrkAreUnique.Dummy__ -var _ m_Constants.Dummy__ +var _ m_CanonicalEncryptionContext.Dummy__ type Dummy__ struct{} @@ -177,12 +175,13 @@ var Companion_GenerateAndWrapInput_ = CompanionStruct_GenerateAndWrapInput_{} type GenerateAndWrapInput_GenerateAndWrapInput struct { AlgorithmSuite m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo EncryptionContext _dafny.Map + SerializedEC m_Wrappers.Result } func (GenerateAndWrapInput_GenerateAndWrapInput) isGenerateAndWrapInput() {} -func (CompanionStruct_GenerateAndWrapInput_) Create_GenerateAndWrapInput_(AlgorithmSuite m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo, EncryptionContext _dafny.Map) GenerateAndWrapInput { - return GenerateAndWrapInput{GenerateAndWrapInput_GenerateAndWrapInput{AlgorithmSuite, EncryptionContext}} +func (CompanionStruct_GenerateAndWrapInput_) Create_GenerateAndWrapInput_(AlgorithmSuite m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo, EncryptionContext _dafny.Map, SerializedEC m_Wrappers.Result) GenerateAndWrapInput { + return GenerateAndWrapInput{GenerateAndWrapInput_GenerateAndWrapInput{AlgorithmSuite, EncryptionContext, SerializedEC}} } func (_this GenerateAndWrapInput) Is_GenerateAndWrapInput() bool { @@ -191,7 +190,7 @@ func (_this GenerateAndWrapInput) Is_GenerateAndWrapInput() bool { } func (CompanionStruct_GenerateAndWrapInput_) Default() GenerateAndWrapInput { - return Companion_GenerateAndWrapInput_.Create_GenerateAndWrapInput_(m_AwsCryptographyMaterialProvidersTypes.Companion_AlgorithmSuiteInfo_.Default(), _dafny.EmptyMap) + return Companion_GenerateAndWrapInput_.Create_GenerateAndWrapInput_(m_AwsCryptographyMaterialProvidersTypes.Companion_AlgorithmSuiteInfo_.Default(), _dafny.EmptyMap, m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq)) } func (_this GenerateAndWrapInput) Dtor_algorithmSuite() m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo { @@ -202,13 +201,17 @@ func (_this GenerateAndWrapInput) Dtor_encryptionContext() _dafny.Map { return _this.Get_().(GenerateAndWrapInput_GenerateAndWrapInput).EncryptionContext } +func (_this GenerateAndWrapInput) Dtor_serializedEC() m_Wrappers.Result { + return _this.Get_().(GenerateAndWrapInput_GenerateAndWrapInput).SerializedEC +} + func (_this GenerateAndWrapInput) String() string { switch data := _this.Get_().(type) { case nil: return "null" case GenerateAndWrapInput_GenerateAndWrapInput: { - return "MaterialWrapping.GenerateAndWrapInput.GenerateAndWrapInput" + "(" + _dafny.String(data.AlgorithmSuite) + ", " + _dafny.String(data.EncryptionContext) + ")" + return "MaterialWrapping.GenerateAndWrapInput.GenerateAndWrapInput" + "(" + _dafny.String(data.AlgorithmSuite) + ", " + _dafny.String(data.EncryptionContext) + ", " + _dafny.String(data.SerializedEC) + ")" } default: { @@ -222,7 +225,7 @@ func (_this GenerateAndWrapInput) Equals(other GenerateAndWrapInput) bool { case GenerateAndWrapInput_GenerateAndWrapInput: { data2, ok := other.Get_().(GenerateAndWrapInput_GenerateAndWrapInput) - return ok && data1.AlgorithmSuite.Equals(data2.AlgorithmSuite) && data1.EncryptionContext.Equals(data2.EncryptionContext) + return ok && data1.AlgorithmSuite.Equals(data2.AlgorithmSuite) && data1.EncryptionContext.Equals(data2.EncryptionContext) && data1.SerializedEC.Equals(data2.SerializedEC) } default: { @@ -390,12 +393,13 @@ type WrapInput_WrapInput struct { PlaintextMaterial _dafny.Sequence AlgorithmSuite m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo EncryptionContext _dafny.Map + SerializedEC m_Wrappers.Result } func (WrapInput_WrapInput) isWrapInput() {} -func (CompanionStruct_WrapInput_) Create_WrapInput_(PlaintextMaterial _dafny.Sequence, AlgorithmSuite m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo, EncryptionContext _dafny.Map) WrapInput { - return WrapInput{WrapInput_WrapInput{PlaintextMaterial, AlgorithmSuite, EncryptionContext}} +func (CompanionStruct_WrapInput_) Create_WrapInput_(PlaintextMaterial _dafny.Sequence, AlgorithmSuite m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo, EncryptionContext _dafny.Map, SerializedEC m_Wrappers.Result) WrapInput { + return WrapInput{WrapInput_WrapInput{PlaintextMaterial, AlgorithmSuite, EncryptionContext, SerializedEC}} } func (_this WrapInput) Is_WrapInput() bool { @@ -404,7 +408,7 @@ func (_this WrapInput) Is_WrapInput() bool { } func (CompanionStruct_WrapInput_) Default() WrapInput { - return Companion_WrapInput_.Create_WrapInput_(_dafny.EmptySeq, m_AwsCryptographyMaterialProvidersTypes.Companion_AlgorithmSuiteInfo_.Default(), _dafny.EmptyMap) + return Companion_WrapInput_.Create_WrapInput_(_dafny.EmptySeq, m_AwsCryptographyMaterialProvidersTypes.Companion_AlgorithmSuiteInfo_.Default(), _dafny.EmptyMap, m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq)) } func (_this WrapInput) Dtor_plaintextMaterial() _dafny.Sequence { @@ -419,13 +423,17 @@ func (_this WrapInput) Dtor_encryptionContext() _dafny.Map { return _this.Get_().(WrapInput_WrapInput).EncryptionContext } +func (_this WrapInput) Dtor_serializedEC() m_Wrappers.Result { + return _this.Get_().(WrapInput_WrapInput).SerializedEC +} + func (_this WrapInput) String() string { switch data := _this.Get_().(type) { case nil: return "null" case WrapInput_WrapInput: { - return "MaterialWrapping.WrapInput.WrapInput" + "(" + _dafny.String(data.PlaintextMaterial) + ", " + _dafny.String(data.AlgorithmSuite) + ", " + _dafny.String(data.EncryptionContext) + ")" + return "MaterialWrapping.WrapInput.WrapInput" + "(" + _dafny.String(data.PlaintextMaterial) + ", " + _dafny.String(data.AlgorithmSuite) + ", " + _dafny.String(data.EncryptionContext) + ", " + _dafny.String(data.SerializedEC) + ")" } default: { @@ -439,7 +447,7 @@ func (_this WrapInput) Equals(other WrapInput) bool { case WrapInput_WrapInput: { data2, ok := other.Get_().(WrapInput_WrapInput) - return ok && data1.PlaintextMaterial.Equals(data2.PlaintextMaterial) && data1.AlgorithmSuite.Equals(data2.AlgorithmSuite) && data1.EncryptionContext.Equals(data2.EncryptionContext) + return ok && data1.PlaintextMaterial.Equals(data2.PlaintextMaterial) && data1.AlgorithmSuite.Equals(data2.AlgorithmSuite) && data1.EncryptionContext.Equals(data2.EncryptionContext) && data1.SerializedEC.Equals(data2.SerializedEC) } default: { @@ -602,12 +610,13 @@ type UnwrapInput_UnwrapInput struct { WrappedMaterial _dafny.Sequence AlgorithmSuite m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo EncryptionContext _dafny.Map + SerializedEC m_Wrappers.Result } func (UnwrapInput_UnwrapInput) isUnwrapInput() {} -func (CompanionStruct_UnwrapInput_) Create_UnwrapInput_(WrappedMaterial _dafny.Sequence, AlgorithmSuite m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo, EncryptionContext _dafny.Map) UnwrapInput { - return UnwrapInput{UnwrapInput_UnwrapInput{WrappedMaterial, AlgorithmSuite, EncryptionContext}} +func (CompanionStruct_UnwrapInput_) Create_UnwrapInput_(WrappedMaterial _dafny.Sequence, AlgorithmSuite m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo, EncryptionContext _dafny.Map, SerializedEC m_Wrappers.Result) UnwrapInput { + return UnwrapInput{UnwrapInput_UnwrapInput{WrappedMaterial, AlgorithmSuite, EncryptionContext, SerializedEC}} } func (_this UnwrapInput) Is_UnwrapInput() bool { @@ -616,7 +625,7 @@ func (_this UnwrapInput) Is_UnwrapInput() bool { } func (CompanionStruct_UnwrapInput_) Default() UnwrapInput { - return Companion_UnwrapInput_.Create_UnwrapInput_(_dafny.EmptySeq, m_AwsCryptographyMaterialProvidersTypes.Companion_AlgorithmSuiteInfo_.Default(), _dafny.EmptyMap) + return Companion_UnwrapInput_.Create_UnwrapInput_(_dafny.EmptySeq, m_AwsCryptographyMaterialProvidersTypes.Companion_AlgorithmSuiteInfo_.Default(), _dafny.EmptyMap, m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq)) } func (_this UnwrapInput) Dtor_wrappedMaterial() _dafny.Sequence { @@ -631,13 +640,17 @@ func (_this UnwrapInput) Dtor_encryptionContext() _dafny.Map { return _this.Get_().(UnwrapInput_UnwrapInput).EncryptionContext } +func (_this UnwrapInput) Dtor_serializedEC() m_Wrappers.Result { + return _this.Get_().(UnwrapInput_UnwrapInput).SerializedEC +} + func (_this UnwrapInput) String() string { switch data := _this.Get_().(type) { case nil: return "null" case UnwrapInput_UnwrapInput: { - return "MaterialWrapping.UnwrapInput.UnwrapInput" + "(" + _dafny.String(data.WrappedMaterial) + ", " + _dafny.String(data.AlgorithmSuite) + ", " + _dafny.String(data.EncryptionContext) + ")" + return "MaterialWrapping.UnwrapInput.UnwrapInput" + "(" + _dafny.String(data.WrappedMaterial) + ", " + _dafny.String(data.AlgorithmSuite) + ", " + _dafny.String(data.EncryptionContext) + ", " + _dafny.String(data.SerializedEC) + ")" } default: { @@ -651,7 +664,7 @@ func (_this UnwrapInput) Equals(other UnwrapInput) bool { case UnwrapInput_UnwrapInput: { data2, ok := other.Get_().(UnwrapInput_UnwrapInput) - return ok && data1.WrappedMaterial.Equals(data2.WrappedMaterial) && data1.AlgorithmSuite.Equals(data2.AlgorithmSuite) && data1.EncryptionContext.Equals(data2.EncryptionContext) + return ok && data1.WrappedMaterial.Equals(data2.WrappedMaterial) && data1.AlgorithmSuite.Equals(data2.AlgorithmSuite) && data1.EncryptionContext.Equals(data2.EncryptionContext) && data1.SerializedEC.Equals(data2.SerializedEC) } default: { diff --git a/releases/go/mpl/Materials/Materials.go b/releases/go/mpl/Materials/Materials.go index d59a4855f3..6338d9441d 100644 --- a/releases/go/mpl/Materials/Materials.go +++ b/releases/go/mpl/Materials/Materials.go @@ -62,6 +62,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -82,6 +83,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -269,7 +271,7 @@ func (_static *CompanionStruct_Default___) InitializeDecryptionMaterials(input m } else { return true } - }), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Reporoduced encryption context key did not exist in provided encryption context."))) + }), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Reproduced encryption context key did not exist in provided encryption context."))) _ = _0_valueOrError0 if (_0_valueOrError0).IsFailure() { return (_0_valueOrError0).PropagateFailure() @@ -337,7 +339,7 @@ func (_static *CompanionStruct_Default___) DecodeVerificationKey(encryptionConte } } func (_static *CompanionStruct_Default___) ValidEncryptionMaterialsTransition(oldMat m_AwsCryptographyMaterialProvidersTypes.EncryptionMaterials, newMat m_AwsCryptographyMaterialProvidersTypes.EncryptionMaterials) bool { - return ((((((((((((newMat).Dtor_algorithmSuite()).Equals((oldMat).Dtor_algorithmSuite())) && (((newMat).Dtor_encryptionContext()).Equals((oldMat).Dtor_encryptionContext()))) && (_dafny.Companion_Sequence_.Equal((newMat).Dtor_requiredEncryptionContextKeys(), (oldMat).Dtor_requiredEncryptionContextKeys()))) && (((newMat).Dtor_signingKey()).Equals((oldMat).Dtor_signingKey()))) && (((((oldMat).Dtor_plaintextDataKey()).Is_None()) && (((newMat).Dtor_plaintextDataKey()).Is_Some())) || (((oldMat).Dtor_plaintextDataKey()).Equals((newMat).Dtor_plaintextDataKey())))) && (((newMat).Dtor_plaintextDataKey()).Is_Some())) && ((_dafny.IntOfUint32(((oldMat).Dtor_encryptedDataKeys()).Cardinality())).Cmp(_dafny.IntOfUint32(((newMat).Dtor_encryptedDataKeys()).Cardinality())) <= 0)) && ((_dafny.MultiSetFromSeq((oldMat).Dtor_encryptedDataKeys())).IsSubsetOf(_dafny.MultiSetFromSeq((newMat).Dtor_encryptedDataKeys())))) && (!(!((((oldMat).Dtor_algorithmSuite()).Dtor_symmetricSignature()).Is_None())) || (((((newMat).Dtor_symmetricSigningKeys()).Is_Some()) && (((oldMat).Dtor_symmetricSigningKeys()).Is_Some())) && ((_dafny.MultiSetFromSeq(((oldMat).Dtor_symmetricSigningKeys()).Dtor_value().(_dafny.Sequence))).IsSubsetOf(_dafny.MultiSetFromSeq(((newMat).Dtor_symmetricSigningKeys()).Dtor_value().(_dafny.Sequence))))))) && (Companion_Default___.ValidEncryptionMaterials(oldMat))) && (Companion_Default___.ValidEncryptionMaterials(newMat)) + return ((((((((((((newMat).Dtor_algorithmSuite()).Equals((oldMat).Dtor_algorithmSuite())) && (((newMat).Dtor_encryptionContext()).Equals((oldMat).Dtor_encryptionContext()))) && (_dafny.Companion_Sequence_.Equal((newMat).Dtor_requiredEncryptionContextKeys(), (oldMat).Dtor_requiredEncryptionContextKeys()))) && (((newMat).Dtor_signingKey()).Equals((oldMat).Dtor_signingKey()))) && (((((oldMat).Dtor_plaintextDataKey()).Is_None()) && (((newMat).Dtor_plaintextDataKey()).Is_Some())) || (((oldMat).Dtor_plaintextDataKey()).Equals((newMat).Dtor_plaintextDataKey())))) && (((newMat).Dtor_plaintextDataKey()).Is_Some())) && ((uint64(((oldMat).Dtor_encryptedDataKeys()).Cardinality())) <= (uint64(((newMat).Dtor_encryptedDataKeys()).Cardinality())))) && ((_dafny.MultiSetFromSeq((oldMat).Dtor_encryptedDataKeys())).IsSubsetOf(_dafny.MultiSetFromSeq((newMat).Dtor_encryptedDataKeys())))) && (!(!((((oldMat).Dtor_algorithmSuite()).Dtor_symmetricSignature()).Is_None())) || (((((newMat).Dtor_symmetricSigningKeys()).Is_Some()) && ((((oldMat).Dtor_symmetricSigningKeys()).Is_Some()) || ((((oldMat).Dtor_symmetricSigningKeys()).Is_None()) && ((uint64(((oldMat).Dtor_encryptedDataKeys()).Cardinality())) == (uint64(0)))))) && ((_dafny.MultiSetFromSeq(((oldMat).Dtor_symmetricSigningKeys()).UnwrapOr(_dafny.SeqOf()).(_dafny.Sequence))).IsSubsetOf(_dafny.MultiSetFromSeq(((newMat).Dtor_symmetricSigningKeys()).Dtor_value().(_dafny.Sequence))))))) && (Companion_Default___.ValidEncryptionMaterials(oldMat))) && (Companion_Default___.ValidEncryptionMaterials(newMat)) } func (_static *CompanionStruct_Default___) ValidEncryptionMaterials(encryptionMaterials m_AwsCryptographyMaterialProvidersTypes.EncryptionMaterials) bool { var _pat_let_tv0 = encryptionMaterials @@ -372,13 +374,17 @@ func (_static *CompanionStruct_Default___) ValidEncryptionMaterials(encryptionMa _ = _pat_let_tv14 var _pat_let_tv15 = encryptionMaterials _ = _pat_let_tv15 + var _pat_let_tv16 = encryptionMaterials + _ = _pat_let_tv16 + var _pat_let_tv17 = encryptionMaterials + _ = _pat_let_tv17 return (m_AlgorithmSuites.Companion_Default___.AlgorithmSuite_q((encryptionMaterials).Dtor_algorithmSuite())) && (func(_pat_let2_0 m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo) bool { return func(_0_suite m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo) bool { - return ((((((((((((_0_suite).Dtor_signature()).Is_None()) == (((_pat_let_tv0).Dtor_signingKey()).Is_None())) && (!(((_pat_let_tv1).Dtor_plaintextDataKey()).Is_Some()) || ((_dafny.IntOfInt32(m_AlgorithmSuites.Companion_Default___.GetEncryptKeyLength(_0_suite))).Cmp(_dafny.IntOfUint32((((_pat_let_tv2).Dtor_plaintextDataKey()).Dtor_value().(_dafny.Sequence)).Cardinality())) == 0))) && (!(((_pat_let_tv3).Dtor_plaintextDataKey()).Is_None()) || ((_dafny.IntOfUint32(((_pat_let_tv4).Dtor_encryptedDataKeys()).Cardinality())).Sign() == 0))) && ((!(((_0_suite).Dtor_signature()).Is_None())) == (((_pat_let_tv5).Dtor_encryptionContext()).Contains(Companion_Default___.EC__PUBLIC__KEY__FIELD())))) && ((((_0_suite).Dtor_signature()).Is_ECDSA()) == (((_pat_let_tv6).Dtor_signingKey()).Is_Some()))) && ((!(((_0_suite).Dtor_signature()).Is_None())) == (((_pat_let_tv7).Dtor_encryptionContext()).Contains(Companion_Default___.EC__PUBLIC__KEY__FIELD())))) && (!((((_0_suite).Dtor_symmetricSignature()).Is_HMAC()) && (((_pat_let_tv8).Dtor_symmetricSigningKeys()).Is_Some())) || ((_dafny.IntOfUint32((((_pat_let_tv9).Dtor_symmetricSigningKeys()).Dtor_value().(_dafny.Sequence)).Cardinality())).Cmp(_dafny.IntOfUint32(((_pat_let_tv10).Dtor_encryptedDataKeys()).Cardinality())) == 0))) && (!(((_0_suite).Dtor_symmetricSignature()).Is_HMAC()) || (((_pat_let_tv11).Dtor_symmetricSigningKeys()).Is_Some()))) && (!(((_0_suite).Dtor_symmetricSignature()).Is_None()) || (((_pat_let_tv12).Dtor_symmetricSigningKeys()).Is_None()))) && (_dafny.Quantifier(((_pat_let_tv13).Dtor_requiredEncryptionContextKeys()).UniqueElements(), true, func(_forall_var_0 _dafny.Sequence) bool { + return ((((((((((((_0_suite).Dtor_signature()).Is_None()) == (((_pat_let_tv0).Dtor_signingKey()).Is_None())) && (!(((_pat_let_tv1).Dtor_plaintextDataKey()).Is_Some()) || ((uint64(m_AlgorithmSuites.Companion_Default___.GetEncryptKeyLength(_0_suite))) == (uint64((((_pat_let_tv2).Dtor_plaintextDataKey()).Dtor_value().(_dafny.Sequence)).Cardinality()))))) && (!(((_pat_let_tv3).Dtor_plaintextDataKey()).Is_None()) || ((uint64(((_pat_let_tv4).Dtor_encryptedDataKeys()).Cardinality())) == (uint64(0))))) && ((!(((_0_suite).Dtor_signature()).Is_None())) == (((_pat_let_tv5).Dtor_encryptionContext()).Contains(Companion_Default___.EC__PUBLIC__KEY__FIELD())))) && ((((_0_suite).Dtor_signature()).Is_ECDSA()) == (((_pat_let_tv6).Dtor_signingKey()).Is_Some()))) && ((!(((_0_suite).Dtor_signature()).Is_None())) == (((_pat_let_tv7).Dtor_encryptionContext()).Contains(Companion_Default___.EC__PUBLIC__KEY__FIELD())))) && (!((((_0_suite).Dtor_symmetricSignature()).Is_HMAC()) && (((_pat_let_tv8).Dtor_symmetricSigningKeys()).Is_Some())) || ((uint64((((_pat_let_tv9).Dtor_symmetricSigningKeys()).Dtor_value().(_dafny.Sequence)).Cardinality())) == (uint64(((_pat_let_tv10).Dtor_encryptedDataKeys()).Cardinality()))))) && (!(((_0_suite).Dtor_symmetricSignature()).Is_HMAC()) || ((((_pat_let_tv11).Dtor_symmetricSigningKeys()).Is_Some()) || (((uint64(((_pat_let_tv12).Dtor_encryptedDataKeys()).Cardinality())) == (uint64(0))) && (((_pat_let_tv13).Dtor_symmetricSigningKeys()).Is_None()))))) && (!(((_0_suite).Dtor_symmetricSignature()).Is_None()) || (((_pat_let_tv14).Dtor_symmetricSigningKeys()).Is_None()))) && (_dafny.Quantifier(((_pat_let_tv15).Dtor_requiredEncryptionContextKeys()).UniqueElements(), true, func(_forall_var_0 _dafny.Sequence) bool { var _1_key _dafny.Sequence _1_key = interface{}(_forall_var_0).(_dafny.Sequence) if m_UTF8.Companion_ValidUTF8Bytes_.Is_(_1_key) { - return !(_dafny.Companion_Sequence_.Contains((_pat_let_tv14).Dtor_requiredEncryptionContextKeys(), _1_key)) || (((_pat_let_tv15).Dtor_encryptionContext()).Contains(_1_key)) + return !(_dafny.Companion_Sequence_.Contains((_pat_let_tv16).Dtor_requiredEncryptionContextKeys(), _1_key)) || (((_pat_let_tv17).Dtor_encryptionContext()).Contains(_1_key)) } else { return true } @@ -387,7 +393,7 @@ func (_static *CompanionStruct_Default___) ValidEncryptionMaterials(encryptionMa }((encryptionMaterials).Dtor_algorithmSuite())) } func (_static *CompanionStruct_Default___) EncryptionMaterialsHasPlaintextDataKey(encryptionMaterials m_AwsCryptographyMaterialProvidersTypes.EncryptionMaterials) bool { - return ((((encryptionMaterials).Dtor_plaintextDataKey()).Is_Some()) && ((_dafny.IntOfUint32(((encryptionMaterials).Dtor_encryptedDataKeys()).Cardinality())).Sign() == 1)) && (Companion_Default___.ValidEncryptionMaterials(encryptionMaterials)) + return ((((encryptionMaterials).Dtor_plaintextDataKey()).Is_Some()) && ((uint64(((encryptionMaterials).Dtor_encryptedDataKeys()).Cardinality())) > (uint64(0)))) && (Companion_Default___.ValidEncryptionMaterials(encryptionMaterials)) } func (_static *CompanionStruct_Default___) EncryptionMaterialAddEncryptedDataKeys(encryptionMaterials m_AwsCryptographyMaterialProvidersTypes.EncryptionMaterials, encryptedDataKeysToAdd _dafny.Sequence, symmetricSigningKeysToAdd m_Wrappers.Option) m_Wrappers.Result { var _0_valueOrError0 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need(Companion_Default___.ValidEncryptionMaterials(encryptionMaterials), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_InvalidEncryptionMaterialsTransition_(_dafny.SeqOfString("Attempt to modify invalid encryption material."))) @@ -414,7 +420,7 @@ func (_static *CompanionStruct_Default___) EncryptionMaterialAddEncryptedDataKey if (symmetricSigningKeysToAdd).Is_None() { return (encryptionMaterials).Dtor_symmetricSigningKeys() } - return m_Wrappers.Companion_Option_.Create_Some_(_dafny.Companion_Sequence_.Concatenate(((encryptionMaterials).Dtor_symmetricSigningKeys()).Dtor_value().(_dafny.Sequence), (symmetricSigningKeysToAdd).Dtor_value().(_dafny.Sequence))) + return m_Wrappers.Companion_Option_.Create_Some_(_dafny.Companion_Sequence_.Concatenate(((encryptionMaterials).Dtor_symmetricSigningKeys()).UnwrapOr(_dafny.SeqOf()).(_dafny.Sequence), (symmetricSigningKeysToAdd).Dtor_value().(_dafny.Sequence))) })() _ = _4_symmetricSigningKeys return m_Wrappers.Companion_Result_.Create_Success_(m_AwsCryptographyMaterialProvidersTypes.Companion_EncryptionMaterials_.Create_EncryptionMaterials_((encryptionMaterials).Dtor_algorithmSuite(), (encryptionMaterials).Dtor_encryptionContext(), _dafny.Companion_Sequence_.Concatenate((encryptionMaterials).Dtor_encryptedDataKeys(), encryptedDataKeysToAdd), (encryptionMaterials).Dtor_requiredEncryptionContextKeys(), (encryptionMaterials).Dtor_plaintextDataKey(), (encryptionMaterials).Dtor_signingKey(), _4_symmetricSigningKeys)) @@ -436,7 +442,7 @@ func (_static *CompanionStruct_Default___) EncryptionMaterialAddDataKey(encrypti if (_2_valueOrError1).IsFailure() { return (_2_valueOrError1).PropagateFailure() } else { - var _3_valueOrError2 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need((_dafny.IntOfInt32(m_AlgorithmSuites.Companion_Default___.GetEncryptKeyLength(_0_suite))).Cmp(_dafny.IntOfUint32((plaintextDataKey).Cardinality())) == 0, m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_InvalidEncryptionMaterialsTransition_(_dafny.SeqOfString("plaintextDataKey does not match Algorithm Suite specification."))) + var _3_valueOrError2 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need((uint64(m_AlgorithmSuites.Companion_Default___.GetEncryptKeyLength(_0_suite))) == (uint64((plaintextDataKey).Cardinality())), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_InvalidEncryptionMaterialsTransition_(_dafny.SeqOfString("plaintextDataKey does not match Algorithm Suite specification."))) _ = _3_valueOrError2 if (_3_valueOrError2).IsFailure() { return (_3_valueOrError2).PropagateFailure() @@ -455,7 +461,7 @@ func (_static *CompanionStruct_Default___) EncryptionMaterialAddDataKey(encrypti if (symmetricSigningKeysToAdd).Is_None() { return (encryptionMaterials).Dtor_symmetricSigningKeys() } - return m_Wrappers.Companion_Option_.Create_Some_(_dafny.Companion_Sequence_.Concatenate(((encryptionMaterials).Dtor_symmetricSigningKeys()).Dtor_value().(_dafny.Sequence), (symmetricSigningKeysToAdd).Dtor_value().(_dafny.Sequence))) + return m_Wrappers.Companion_Option_.Create_Some_(_dafny.Companion_Sequence_.Concatenate(((encryptionMaterials).Dtor_symmetricSigningKeys()).UnwrapOr(_dafny.SeqOf()).(_dafny.Sequence), (symmetricSigningKeysToAdd).Dtor_value().(_dafny.Sequence))) })() _ = _6_symmetricSigningKeys return m_Wrappers.Companion_Result_.Create_Success_(m_AwsCryptographyMaterialProvidersTypes.Companion_EncryptionMaterials_.Create_EncryptionMaterials_((encryptionMaterials).Dtor_algorithmSuite(), (encryptionMaterials).Dtor_encryptionContext(), _dafny.Companion_Sequence_.Concatenate((encryptionMaterials).Dtor_encryptedDataKeys(), encryptedDataKeysToAdd), (encryptionMaterials).Dtor_requiredEncryptionContextKeys(), m_Wrappers.Companion_Option_.Create_Some_(plaintextDataKey), (encryptionMaterials).Dtor_signingKey(), _6_symmetricSigningKeys)) @@ -493,7 +499,7 @@ func (_static *CompanionStruct_Default___) ValidDecryptionMaterials(decryptionMa _ = _pat_let_tv10 return (m_AlgorithmSuites.Companion_Default___.AlgorithmSuite_q((decryptionMaterials).Dtor_algorithmSuite())) && (func(_pat_let3_0 m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo) bool { return func(_0_suite m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo) bool { - return ((((((!(((_pat_let_tv0).Dtor_plaintextDataKey()).Is_Some()) || ((_dafny.IntOfInt32(m_AlgorithmSuites.Companion_Default___.GetEncryptKeyLength(_0_suite))).Cmp(_dafny.IntOfUint32((((_pat_let_tv1).Dtor_plaintextDataKey()).Dtor_value().(_dafny.Sequence)).Cardinality())) == 0)) && ((!(((_0_suite).Dtor_signature()).Is_None())) == (((_pat_let_tv2).Dtor_encryptionContext()).Contains(Companion_Default___.EC__PUBLIC__KEY__FIELD())))) && ((((_0_suite).Dtor_signature()).Is_ECDSA()) == (((_pat_let_tv3).Dtor_verificationKey()).Is_Some()))) && ((!(((_0_suite).Dtor_signature()).Is_None())) == (((_pat_let_tv4).Dtor_encryptionContext()).Contains(Companion_Default___.EC__PUBLIC__KEY__FIELD())))) && (!(!(((_0_suite).Dtor_symmetricSignature()).Is_None())) || ((((_pat_let_tv5).Dtor_plaintextDataKey()).Is_Some()) == (((_pat_let_tv6).Dtor_symmetricSigningKey()).Is_Some())))) && (!(((_0_suite).Dtor_symmetricSignature()).Is_None()) || (((_pat_let_tv7).Dtor_symmetricSigningKey()).Is_None()))) && (_dafny.Quantifier(((_pat_let_tv8).Dtor_requiredEncryptionContextKeys()).UniqueElements(), true, func(_forall_var_0 _dafny.Sequence) bool { + return ((((((!(((_pat_let_tv0).Dtor_plaintextDataKey()).Is_Some()) || ((uint64(m_AlgorithmSuites.Companion_Default___.GetEncryptKeyLength(_0_suite))) == (uint64((((_pat_let_tv1).Dtor_plaintextDataKey()).Dtor_value().(_dafny.Sequence)).Cardinality())))) && ((!(((_0_suite).Dtor_signature()).Is_None())) == (((_pat_let_tv2).Dtor_encryptionContext()).Contains(Companion_Default___.EC__PUBLIC__KEY__FIELD())))) && ((((_0_suite).Dtor_signature()).Is_ECDSA()) == (((_pat_let_tv3).Dtor_verificationKey()).Is_Some()))) && ((!(((_0_suite).Dtor_signature()).Is_None())) == (((_pat_let_tv4).Dtor_encryptionContext()).Contains(Companion_Default___.EC__PUBLIC__KEY__FIELD())))) && (!(!(((_0_suite).Dtor_symmetricSignature()).Is_None())) || ((((_pat_let_tv5).Dtor_plaintextDataKey()).Is_Some()) == (((_pat_let_tv6).Dtor_symmetricSigningKey()).Is_Some())))) && (!(((_0_suite).Dtor_symmetricSignature()).Is_None()) || (((_pat_let_tv7).Dtor_symmetricSigningKey()).Is_None()))) && (_dafny.Quantifier(((_pat_let_tv8).Dtor_requiredEncryptionContextKeys()).UniqueElements(), true, func(_forall_var_0 _dafny.Sequence) bool { var _1_k _dafny.Sequence _1_k = interface{}(_forall_var_0).(_dafny.Sequence) if m_UTF8.Companion_ValidUTF8Bytes_.Is_(_1_k) { @@ -518,7 +524,7 @@ func (_static *CompanionStruct_Default___) DecryptionMaterialsAddDataKey(decrypt if (_2_valueOrError1).IsFailure() { return (_2_valueOrError1).PropagateFailure() } else { - var _3_valueOrError2 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need((_dafny.IntOfInt32(m_AlgorithmSuites.Companion_Default___.GetEncryptKeyLength(_0_suite))).Cmp(_dafny.IntOfUint32((plaintextDataKey).Cardinality())) == 0, m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_InvalidDecryptionMaterialsTransition_(_dafny.SeqOfString("plaintextDataKey does not match Algorithm Suite specification."))) + var _3_valueOrError2 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need((uint64(m_AlgorithmSuites.Companion_Default___.GetEncryptKeyLength(_0_suite))) == (uint64((plaintextDataKey).Cardinality())), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_InvalidDecryptionMaterialsTransition_(_dafny.SeqOfString("plaintextDataKey does not match Algorithm Suite specification."))) _ = _3_valueOrError2 if (_3_valueOrError2).IsFailure() { return (_3_valueOrError2).PropagateFailure() diff --git a/releases/go/mpl/MrkAwareDiscoveryMultiKeyring/MrkAwareDiscoveryMultiKeyring.go b/releases/go/mpl/MrkAwareDiscoveryMultiKeyring/MrkAwareDiscoveryMultiKeyring.go index 56f086c8ad..ddceea213d 100644 --- a/releases/go/mpl/MrkAwareDiscoveryMultiKeyring/MrkAwareDiscoveryMultiKeyring.go +++ b/releases/go/mpl/MrkAwareDiscoveryMultiKeyring/MrkAwareDiscoveryMultiKeyring.go @@ -16,17 +16,23 @@ import ( m_AwsCryptographyKeyStoreTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreTypes" m_AwsCryptographyMaterialProvidersTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" m_AwsKmsDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsDiscoveryKeyring" + m_AwsKmsEcdhKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsEcdhKeyring" + m_AwsKmsHierarchicalKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsHierarchicalKeyring" m_AwsKmsKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsKeyring" m_AwsKmsMrkAreUnique "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkAreUnique" m_AwsKmsMrkDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkDiscoveryKeyring" + m_AwsKmsMrkKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkKeyring" m_AwsKmsMrkMatchForDecrypt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkMatchForDecrypt" + m_AwsKmsRsaKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsRsaKeyring" m_AwsKmsUtils "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsUtils" + m_CacheConstants "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CacheConstants" m_CanonicalEncryptionContext "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CanonicalEncryptionContext" m_Constants "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Constants" m_CreateKeyStoreTable "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeyStoreTable" m_CreateKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeys" m_DDBKeystoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DDBKeystoreOperations" m_DiscoveryMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DiscoveryMultiKeyring" + m_EcdhEdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EcdhEdkWrapping" m_EdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EdkWrapping" m_ErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/ErrorMessages" m_GetKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/GetKeys" @@ -36,11 +42,18 @@ import ( m_KeyStoreErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KeyStoreErrorMessages" m_Keyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Keyring" m_KmsArn "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KmsArn" + m_LocalCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/LocalCMC" m_MaterialWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MaterialWrapping" m_Materials "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Materials" m_MultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MultiKeyring" + m_RawAESKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawAESKeyring" + m_RawECDHKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawECDHKeyring" + m_RawRSAKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawRSAKeyring" + m_StormTracker "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StormTracker" + m_StormTrackingCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StormTrackingCMC" m_StrictMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StrictMultiKeyring" m_Structure "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Structure" + m_SynchronizedLocalCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/SynchronizedLocalCMC" m_AtomicPrimitives "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AtomicPrimitives" m_AwsCryptographyPrimitivesOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesOperations" m_AwsCryptographyPrimitivesTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesTypes" @@ -77,6 +90,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -96,6 +110,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -160,19 +175,32 @@ var _ m_KeyStore.Dummy__ var _ m_AlgorithmSuites.Dummy__ var _ m_Materials.Dummy__ var _ m_Keyring.Dummy__ -var _ m_MultiKeyring.Dummy__ -var _ m_AwsKmsMrkAreUnique.Dummy__ -var _ m_Constants.Dummy__ -var _ m_MaterialWrapping.Dummy__ var _ m_CanonicalEncryptionContext.Dummy__ +var _ m_MaterialWrapping.Dummy__ var _ m_IntermediateKeyWrapping.Dummy__ var _ m_EdkWrapping.Dummy__ var _ m_ErrorMessages.Dummy__ +var _ m_RawAESKeyring.Dummy__ +var _ m_Constants.Dummy__ +var _ m_EcdhEdkWrapping.Dummy__ +var _ m_RawECDHKeyring.Dummy__ +var _ m_RawRSAKeyring.Dummy__ var _ m_AwsKmsKeyring.Dummy__ -var _ m_StrictMultiKeyring.Dummy__ var _ m_AwsKmsDiscoveryKeyring.Dummy__ -var _ m_DiscoveryMultiKeyring.Dummy__ +var _ m_AwsKmsEcdhKeyring.Dummy__ +var _ m_LocalCMC.Dummy__ +var _ m_SynchronizedLocalCMC.Dummy__ +var _ m_StormTracker.Dummy__ +var _ m_StormTrackingCMC.Dummy__ +var _ m_CacheConstants.Dummy__ +var _ m_AwsKmsHierarchicalKeyring.Dummy__ var _ m_AwsKmsMrkDiscoveryKeyring.Dummy__ +var _ m_AwsKmsMrkKeyring.Dummy__ +var _ m_AwsKmsRsaKeyring.Dummy__ +var _ m_MultiKeyring.Dummy__ +var _ m_AwsKmsMrkAreUnique.Dummy__ +var _ m_StrictMultiKeyring.Dummy__ +var _ m_DiscoveryMultiKeyring.Dummy__ type Dummy__ struct{} @@ -215,7 +243,7 @@ func (_static *CompanionStruct_Default___) MrkAwareDiscoveryMultiKeyring(regions _ = output var _0_valueOrError0 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _0_valueOrError0 - _0_valueOrError0 = m_Wrappers.Companion_Default___.Need((_dafny.IntOfUint32((regions).Cardinality())).Sign() == 1, m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("No regions passed."))) + _0_valueOrError0 = m_Wrappers.Companion_Default___.Need((uint64((regions).Cardinality())) > (uint64(0)), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("No regions passed."))) if (_0_valueOrError0).IsFailure() { output = (_0_valueOrError0).PropagateFailure() return output @@ -230,12 +258,12 @@ func (_static *CompanionStruct_Default___) MrkAwareDiscoveryMultiKeyring(regions var _2_children _dafny.Sequence _ = _2_children _2_children = _dafny.SeqOf() - var _hi0 _dafny.Int = _dafny.IntOfUint32((regions).Cardinality()) + var _hi0 uint64 = uint64((regions).Cardinality()) _ = _hi0 - for _3_i := _dafny.Zero; _3_i.Cmp(_hi0) < 0; _3_i = _3_i.Plus(_dafny.One) { + for _3_i := uint64(0); _3_i < _hi0; _3_i++ { var _4_region _dafny.Sequence _ = _4_region - _4_region = (regions).Select((_3_i).Uint32()).(_dafny.Sequence) + _4_region = (regions).Select(uint32(_3_i)).(_dafny.Sequence) var _5_valueOrError2 m_Wrappers.Result = m_Wrappers.Result{} _ = _5_valueOrError2 var _out0 m_Wrappers.Result diff --git a/releases/go/mpl/MrkAwareStrictMultiKeyring/MrkAwareStrictMultiKeyring.go b/releases/go/mpl/MrkAwareStrictMultiKeyring/MrkAwareStrictMultiKeyring.go index 30708f087c..cfe78fbe31 100644 --- a/releases/go/mpl/MrkAwareStrictMultiKeyring/MrkAwareStrictMultiKeyring.go +++ b/releases/go/mpl/MrkAwareStrictMultiKeyring/MrkAwareStrictMultiKeyring.go @@ -16,18 +16,23 @@ import ( m_AwsCryptographyKeyStoreTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreTypes" m_AwsCryptographyMaterialProvidersTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" m_AwsKmsDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsDiscoveryKeyring" + m_AwsKmsEcdhKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsEcdhKeyring" + m_AwsKmsHierarchicalKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsHierarchicalKeyring" m_AwsKmsKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsKeyring" m_AwsKmsMrkAreUnique "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkAreUnique" m_AwsKmsMrkDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkDiscoveryKeyring" m_AwsKmsMrkKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkKeyring" m_AwsKmsMrkMatchForDecrypt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkMatchForDecrypt" + m_AwsKmsRsaKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsRsaKeyring" m_AwsKmsUtils "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsUtils" + m_CacheConstants "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CacheConstants" m_CanonicalEncryptionContext "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CanonicalEncryptionContext" m_Constants "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Constants" m_CreateKeyStoreTable "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeyStoreTable" m_CreateKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeys" m_DDBKeystoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DDBKeystoreOperations" m_DiscoveryMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DiscoveryMultiKeyring" + m_EcdhEdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EcdhEdkWrapping" m_EdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EdkWrapping" m_ErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/ErrorMessages" m_GetKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/GetKeys" @@ -37,12 +42,19 @@ import ( m_KeyStoreErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KeyStoreErrorMessages" m_Keyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Keyring" m_KmsArn "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KmsArn" + m_LocalCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/LocalCMC" m_MaterialWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MaterialWrapping" m_Materials "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Materials" m_MrkAwareDiscoveryMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MrkAwareDiscoveryMultiKeyring" m_MultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MultiKeyring" + m_RawAESKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawAESKeyring" + m_RawECDHKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawECDHKeyring" + m_RawRSAKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawRSAKeyring" + m_StormTracker "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StormTracker" + m_StormTrackingCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StormTrackingCMC" m_StrictMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StrictMultiKeyring" m_Structure "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Structure" + m_SynchronizedLocalCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/SynchronizedLocalCMC" m_AtomicPrimitives "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AtomicPrimitives" m_AwsCryptographyPrimitivesOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesOperations" m_AwsCryptographyPrimitivesTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesTypes" @@ -79,6 +91,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -98,6 +111,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -162,21 +176,33 @@ var _ m_KeyStore.Dummy__ var _ m_AlgorithmSuites.Dummy__ var _ m_Materials.Dummy__ var _ m_Keyring.Dummy__ -var _ m_MultiKeyring.Dummy__ -var _ m_AwsKmsMrkAreUnique.Dummy__ -var _ m_Constants.Dummy__ -var _ m_MaterialWrapping.Dummy__ var _ m_CanonicalEncryptionContext.Dummy__ +var _ m_MaterialWrapping.Dummy__ var _ m_IntermediateKeyWrapping.Dummy__ var _ m_EdkWrapping.Dummy__ var _ m_ErrorMessages.Dummy__ +var _ m_RawAESKeyring.Dummy__ +var _ m_Constants.Dummy__ +var _ m_EcdhEdkWrapping.Dummy__ +var _ m_RawECDHKeyring.Dummy__ +var _ m_RawRSAKeyring.Dummy__ var _ m_AwsKmsKeyring.Dummy__ -var _ m_StrictMultiKeyring.Dummy__ var _ m_AwsKmsDiscoveryKeyring.Dummy__ -var _ m_DiscoveryMultiKeyring.Dummy__ +var _ m_AwsKmsEcdhKeyring.Dummy__ +var _ m_LocalCMC.Dummy__ +var _ m_SynchronizedLocalCMC.Dummy__ +var _ m_StormTracker.Dummy__ +var _ m_StormTrackingCMC.Dummy__ +var _ m_CacheConstants.Dummy__ +var _ m_AwsKmsHierarchicalKeyring.Dummy__ var _ m_AwsKmsMrkDiscoveryKeyring.Dummy__ -var _ m_MrkAwareDiscoveryMultiKeyring.Dummy__ var _ m_AwsKmsMrkKeyring.Dummy__ +var _ m_AwsKmsRsaKeyring.Dummy__ +var _ m_MultiKeyring.Dummy__ +var _ m_AwsKmsMrkAreUnique.Dummy__ +var _ m_StrictMultiKeyring.Dummy__ +var _ m_DiscoveryMultiKeyring.Dummy__ +var _ m_MrkAwareDiscoveryMultiKeyring.Dummy__ type Dummy__ struct{} @@ -238,13 +264,13 @@ func (_static *CompanionStruct_Default___) MrkAwareStrictMultiKeyring(generator Lmatch0: var _2_valueOrError0 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) _ = _2_valueOrError0 - _2_valueOrError0 = (m_Seq.Companion_Default___.MapWithResult(func(coer71 func(_dafny.Sequence) m_Wrappers.Result) func(interface{}) m_Wrappers.Result { - return func(arg72 interface{}) m_Wrappers.Result { - return coer71(arg72.(_dafny.Sequence)) + _2_valueOrError0 = (m_Seq.Companion_Default___.MapWithResult(func(coer121 func(_dafny.Sequence) m_Wrappers.Result) func(interface{}) m_Wrappers.Result { + return func(arg122 interface{}) m_Wrappers.Result { + return coer121(arg122.(_dafny.Sequence)) } - }(m_AwsArnParsing.Companion_Default___.IsAwsKmsIdentifierString), _0_allStrings)).MapFailure(func(coer72 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg73 interface{}) interface{} { - return coer72(arg73.(_dafny.Sequence)) + }(m_AwsArnParsing.Companion_Default___.IsAwsKmsIdentifierString), _0_allStrings)).MapFailure(func(coer122 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg123 interface{}) interface{} { + return coer122(arg123.(_dafny.Sequence)) } }(m_AwsKmsUtils.Companion_Default___.WrapStringToError)) if (_2_valueOrError0).IsFailure() { @@ -272,9 +298,9 @@ Lmatch0: _ = _6_generatorIdentifier var _7_valueOrError2 m_Wrappers.Result = m_Wrappers.Result{} _ = _7_valueOrError2 - _7_valueOrError2 = (m_AwsArnParsing.Companion_Default___.IsAwsKmsIdentifierString(_6_generatorIdentifier)).MapFailure(func(coer73 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg74 interface{}) interface{} { - return coer73(arg74.(_dafny.Sequence)) + _7_valueOrError2 = (m_AwsArnParsing.Companion_Default___.IsAwsKmsIdentifierString(_6_generatorIdentifier)).MapFailure(func(coer123 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg124 interface{}) interface{} { + return coer123(arg124.(_dafny.Sequence)) } }(m_AwsKmsUtils.Companion_Default___.WrapStringToError)) if (_7_valueOrError2).IsFailure() { @@ -326,17 +352,17 @@ Lmatch1: if _source2.Is_Some() { var _14_childIdentifiers _dafny.Sequence = _source2.Get_().(m_Wrappers.Option_Some).Value.(_dafny.Sequence) _ = _14_childIdentifiers - var _hi0 _dafny.Int = _dafny.IntOfUint32((_14_childIdentifiers).Cardinality()) + var _hi0 uint64 = uint64((_14_childIdentifiers).Cardinality()) _ = _hi0 - for _15_index := _dafny.Zero; _15_index.Cmp(_hi0) < 0; _15_index = _15_index.Plus(_dafny.One) { + for _15_index := uint64(0); _15_index < _hi0; _15_index++ { var _16_childIdentifier _dafny.Sequence _ = _16_childIdentifier - _16_childIdentifier = (_14_childIdentifiers).Select((_15_index).Uint32()).(_dafny.Sequence) + _16_childIdentifier = (_14_childIdentifiers).Select(uint32(_15_index)).(_dafny.Sequence) var _17_valueOrError4 m_Wrappers.Result = m_Wrappers.Result{} _ = _17_valueOrError4 - _17_valueOrError4 = (m_AwsArnParsing.Companion_Default___.IsAwsKmsIdentifierString(_16_childIdentifier)).MapFailure(func(coer74 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg75 interface{}) interface{} { - return coer74(arg75.(_dafny.Sequence)) + _17_valueOrError4 = (m_AwsArnParsing.Companion_Default___.IsAwsKmsIdentifierString(_16_childIdentifier)).MapFailure(func(coer124 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg125 interface{}) interface{} { + return coer124(arg125.(_dafny.Sequence)) } }(m_AwsKmsUtils.Companion_Default___.WrapStringToError)) if (_17_valueOrError4).IsFailure() { @@ -381,7 +407,7 @@ Lmatch1: Lmatch2: var _23_valueOrError6 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _23_valueOrError6 - _23_valueOrError6 = m_Wrappers.Companion_Default___.Need(((_5_generatorKeyring).Is_Some()) || ((_dafny.IntOfUint32((_13_children).Cardinality())).Sign() == 1), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("generatorKeyring or child Keyrings needed to create a multi keyring"))) + _23_valueOrError6 = m_Wrappers.Companion_Default___.Need(((_5_generatorKeyring).Is_Some()) || ((uint64((_13_children).Cardinality())) > (uint64(0))), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("generatorKeyring or child Keyrings needed to create a multi keyring"))) if (_23_valueOrError6).IsFailure() { output = (_23_valueOrError6).PropagateFailure() return output diff --git a/releases/go/mpl/MultiKeyring/MultiKeyring.go b/releases/go/mpl/MultiKeyring/MultiKeyring.go index 5268dc6760..941d38f611 100644 --- a/releases/go/mpl/MultiKeyring/MultiKeyring.go +++ b/releases/go/mpl/MultiKeyring/MultiKeyring.go @@ -15,19 +15,41 @@ import ( m_AwsCryptographyKeyStoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreOperations" m_AwsCryptographyKeyStoreTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreTypes" m_AwsCryptographyMaterialProvidersTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" + m_AwsKmsDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsDiscoveryKeyring" + m_AwsKmsEcdhKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsEcdhKeyring" + m_AwsKmsHierarchicalKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsHierarchicalKeyring" + m_AwsKmsKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsKeyring" + m_AwsKmsMrkDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkDiscoveryKeyring" + m_AwsKmsMrkKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkKeyring" m_AwsKmsMrkMatchForDecrypt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkMatchForDecrypt" + m_AwsKmsRsaKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsRsaKeyring" m_AwsKmsUtils "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsUtils" + m_CacheConstants "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CacheConstants" + m_CanonicalEncryptionContext "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CanonicalEncryptionContext" + m_Constants "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Constants" m_CreateKeyStoreTable "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeyStoreTable" m_CreateKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeys" m_DDBKeystoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DDBKeystoreOperations" + m_EcdhEdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EcdhEdkWrapping" + m_EdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EdkWrapping" + m_ErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/ErrorMessages" m_GetKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/GetKeys" + m_IntermediateKeyWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/IntermediateKeyWrapping" m_KMSKeystoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KMSKeystoreOperations" m_KeyStore "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KeyStore" m_KeyStoreErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KeyStoreErrorMessages" m_Keyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Keyring" m_KmsArn "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KmsArn" + m_LocalCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/LocalCMC" + m_MaterialWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MaterialWrapping" m_Materials "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Materials" + m_RawAESKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawAESKeyring" + m_RawECDHKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawECDHKeyring" + m_RawRSAKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawRSAKeyring" + m_StormTracker "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StormTracker" + m_StormTrackingCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StormTrackingCMC" m_Structure "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Structure" + m_SynchronizedLocalCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/SynchronizedLocalCMC" m_AtomicPrimitives "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AtomicPrimitives" m_AwsCryptographyPrimitivesOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesOperations" m_AwsCryptographyPrimitivesTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesTypes" @@ -64,6 +86,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -83,6 +106,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -147,6 +171,28 @@ var _ m_KeyStore.Dummy__ var _ m_AlgorithmSuites.Dummy__ var _ m_Materials.Dummy__ var _ m_Keyring.Dummy__ +var _ m_CanonicalEncryptionContext.Dummy__ +var _ m_MaterialWrapping.Dummy__ +var _ m_IntermediateKeyWrapping.Dummy__ +var _ m_EdkWrapping.Dummy__ +var _ m_ErrorMessages.Dummy__ +var _ m_RawAESKeyring.Dummy__ +var _ m_Constants.Dummy__ +var _ m_EcdhEdkWrapping.Dummy__ +var _ m_RawECDHKeyring.Dummy__ +var _ m_RawRSAKeyring.Dummy__ +var _ m_AwsKmsKeyring.Dummy__ +var _ m_AwsKmsDiscoveryKeyring.Dummy__ +var _ m_AwsKmsEcdhKeyring.Dummy__ +var _ m_LocalCMC.Dummy__ +var _ m_SynchronizedLocalCMC.Dummy__ +var _ m_StormTracker.Dummy__ +var _ m_StormTrackingCMC.Dummy__ +var _ m_CacheConstants.Dummy__ +var _ m_AwsKmsHierarchicalKeyring.Dummy__ +var _ m_AwsKmsMrkDiscoveryKeyring.Dummy__ +var _ m_AwsKmsMrkKeyring.Dummy__ +var _ m_AwsKmsRsaKeyring.Dummy__ type Dummy__ struct{} @@ -184,6 +230,29 @@ func (_this *Default__) ParentTraits_() []*_dafny.TraitID { var _ _dafny.TraitOffspring = &Default__{} +func (_static *CompanionStruct_Default___) Verified_q(keyring m_AwsCryptographyMaterialProvidersTypes.IKeyring) bool { + return (((((((((func(_is_8 m_AwsCryptographyMaterialProvidersTypes.IKeyring) bool { + return _dafny.InstanceOf(_is_8, (*m_RawAESKeyring.RawAESKeyring)(nil)) + }(keyring)) || (func(_is_9 m_AwsCryptographyMaterialProvidersTypes.IKeyring) bool { + return _dafny.InstanceOf(_is_9, (*m_RawECDHKeyring.RawEcdhKeyring)(nil)) + }(keyring))) || (func(_is_10 m_AwsCryptographyMaterialProvidersTypes.IKeyring) bool { + return _dafny.InstanceOf(_is_10, (*m_RawRSAKeyring.RawRSAKeyring)(nil)) + }(keyring))) || (func(_is_11 m_AwsCryptographyMaterialProvidersTypes.IKeyring) bool { + return _dafny.InstanceOf(_is_11, (*m_AwsKmsDiscoveryKeyring.AwsKmsDiscoveryKeyring)(nil)) + }(keyring))) || (func(_is_12 m_AwsCryptographyMaterialProvidersTypes.IKeyring) bool { + return _dafny.InstanceOf(_is_12, (*m_AwsKmsEcdhKeyring.AwsKmsEcdhKeyring)(nil)) + }(keyring))) || (func(_is_13 m_AwsCryptographyMaterialProvidersTypes.IKeyring) bool { + return _dafny.InstanceOf(_is_13, (*m_AwsKmsHierarchicalKeyring.AwsKmsHierarchicalKeyring)(nil)) + }(keyring))) || (func(_is_14 m_AwsCryptographyMaterialProvidersTypes.IKeyring) bool { + return _dafny.InstanceOf(_is_14, (*m_AwsKmsKeyring.AwsKmsKeyring)(nil)) + }(keyring))) || (func(_is_15 m_AwsCryptographyMaterialProvidersTypes.IKeyring) bool { + return _dafny.InstanceOf(_is_15, (*m_AwsKmsMrkDiscoveryKeyring.AwsKmsMrkDiscoveryKeyring)(nil)) + }(keyring))) || (func(_is_16 m_AwsCryptographyMaterialProvidersTypes.IKeyring) bool { + return _dafny.InstanceOf(_is_16, (*m_AwsKmsMrkKeyring.AwsKmsMrkKeyring)(nil)) + }(keyring))) || (func(_is_17 m_AwsCryptographyMaterialProvidersTypes.IKeyring) bool { + return _dafny.InstanceOf(_is_17, (*m_AwsKmsRsaKeyring.AwsKmsRsaKeyring)(nil)) + }(keyring)) +} func (_static *CompanionStruct_Default___) AttemptDecryptDataKey(keyring m_AwsCryptographyMaterialProvidersTypes.IKeyring, input m_AwsCryptographyMaterialProvidersTypes.OnDecryptInput) m_Wrappers.Result { var res m_Wrappers.Result = m_Wrappers.Result{} _ = res @@ -200,12 +269,16 @@ func (_static *CompanionStruct_Default___) AttemptDecryptDataKey(keyring m_AwsCr var _1_output m_AwsCryptographyMaterialProvidersTypes.OnDecryptOutput _ = _1_output _1_output = (_0_valueOrError0).Extract().(m_AwsCryptographyMaterialProvidersTypes.OnDecryptOutput) - var _2_valueOrError1 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() - _ = _2_valueOrError1 - _2_valueOrError1 = m_Wrappers.Companion_Default___.Need(m_Materials.Companion_Default___.DecryptionMaterialsTransitionIsValid((input).Dtor_materials(), (_1_output).Dtor_materials()), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Keyring performed invalid material transition"))) - if (_2_valueOrError1).IsFailure() { - res = (_2_valueOrError1).PropagateFailure() - return res + if !((Companion_Default___.Verified_q(keyring)) || (func(_is_18 m_AwsCryptographyMaterialProvidersTypes.IKeyring) bool { + return _dafny.InstanceOf(_is_18, (*MultiKeyring)(nil)) + }(keyring))) { + var _2_valueOrError1 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() + _ = _2_valueOrError1 + _2_valueOrError1 = m_Wrappers.Companion_Default___.Need(m_Materials.Companion_Default___.DecryptionMaterialsTransitionIsValid((input).Dtor_materials(), (_1_output).Dtor_materials()), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Keyring performed invalid material transition"))) + if (_2_valueOrError1).IsFailure() { + res = (_2_valueOrError1).PropagateFailure() + return res + } } res = m_Wrappers.Companion_Result_.Create_Success_(_1_output) return res @@ -269,16 +342,16 @@ var _ m_AwsCryptographyMaterialProvidersTypes.IKeyring = &MultiKeyring{} var _ _dafny.TraitOffspring = &MultiKeyring{} func (_this *MultiKeyring) OnDecrypt(input m_AwsCryptographyMaterialProvidersTypes.OnDecryptInput) m_Wrappers.Result { - var _out1 m_Wrappers.Result - _ = _out1 - _out1 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnDecrypt(_this, input) - return _out1 + var _out11 m_Wrappers.Result + _ = _out11 + _out11 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnDecrypt(_this, input) + return _out11 } func (_this *MultiKeyring) OnEncrypt(input m_AwsCryptographyMaterialProvidersTypes.OnEncryptInput) m_Wrappers.Result { - var _out1 m_Wrappers.Result - _ = _out1 - _out1 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnEncrypt(_this, input) - return _out1 + var _out11 m_Wrappers.Result + _ = _out11 + _out11 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnEncrypt(_this, input) + return _out11 } func (_this *MultiKeyring) Ctor__(generatorKeyring m_Wrappers.Option, childKeyrings _dafny.Sequence) { { @@ -326,49 +399,67 @@ func (_this *MultiKeyring) OnEncrypt_k(input m_AwsCryptographyMaterialProvidersT res = (_4_valueOrError1).PropagateFailure() return res } - var _5_valueOrError2 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() - _ = _5_valueOrError2 - _5_valueOrError2 = m_Wrappers.Companion_Default___.Need(m_Materials.Companion_Default___.ValidEncryptionMaterialsTransition((input).Dtor_materials(), ((_3_onEncryptOutput).Dtor_value().(m_AwsCryptographyMaterialProvidersTypes.OnEncryptOutput)).Dtor_materials()), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Generator keyring returned invalid encryption materials"))) - if (_5_valueOrError2).IsFailure() { - res = (_5_valueOrError2).PropagateFailure() - return res + if !((Companion_Default___.Verified_q(m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.CastTo_(((_this).GeneratorKeyring()).Dtor_value()))) || (func(_is_19 m_AwsCryptographyMaterialProvidersTypes.IKeyring) bool { + return _dafny.InstanceOf(_is_19, (*MultiKeyring)(nil)) + }(m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.CastTo_(((_this).GeneratorKeyring()).Dtor_value())))) { + var _5_valueOrError2 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() + _ = _5_valueOrError2 + _5_valueOrError2 = m_Wrappers.Companion_Default___.Need(m_Materials.Companion_Default___.EncryptionMaterialsHasPlaintextDataKey(((_3_onEncryptOutput).Dtor_value().(m_AwsCryptographyMaterialProvidersTypes.OnEncryptOutput)).Dtor_materials()), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Could not retrieve materials required for encryption"))) + if (_5_valueOrError2).IsFailure() { + res = (_5_valueOrError2).PropagateFailure() + return res + } + var _6_valueOrError3 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() + _ = _6_valueOrError3 + _6_valueOrError3 = m_Wrappers.Companion_Default___.Need(m_Materials.Companion_Default___.ValidEncryptionMaterialsTransition((input).Dtor_materials(), ((_3_onEncryptOutput).Dtor_value().(m_AwsCryptographyMaterialProvidersTypes.OnEncryptOutput)).Dtor_materials()), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Generator keyring returned invalid encryption materials"))) + if (_6_valueOrError3).IsFailure() { + res = (_6_valueOrError3).PropagateFailure() + return res + } } _1_returnMaterials = ((_3_onEncryptOutput).Dtor_value().(m_AwsCryptographyMaterialProvidersTypes.OnEncryptOutput)).Dtor_materials() } - var _hi0 _dafny.Int = _dafny.IntOfUint32(((_this).ChildKeyrings()).Cardinality()) + var _hi0 uint64 = uint64(((_this).ChildKeyrings()).Cardinality()) _ = _hi0 - for _6_i := _dafny.Zero; _6_i.Cmp(_hi0) < 0; _6_i = _6_i.Plus(_dafny.One) { - var _7_onEncryptInput m_AwsCryptographyMaterialProvidersTypes.OnEncryptInput - _ = _7_onEncryptInput - _7_onEncryptInput = m_AwsCryptographyMaterialProvidersTypes.Companion_OnEncryptInput_.Create_OnEncryptInput_(_1_returnMaterials) - var _8_onEncryptOutput m_Wrappers.Result - _ = _8_onEncryptOutput + for _7_i := uint64(0); _7_i < _hi0; _7_i++ { + var _8_onEncryptInput m_AwsCryptographyMaterialProvidersTypes.OnEncryptInput + _ = _8_onEncryptInput + _8_onEncryptInput = m_AwsCryptographyMaterialProvidersTypes.Companion_OnEncryptInput_.Create_OnEncryptInput_(_1_returnMaterials) + var _9_child m_AwsCryptographyMaterialProvidersTypes.IKeyring + _ = _9_child + _9_child = ((_this).ChildKeyrings()).Select(uint32(_7_i)).(m_AwsCryptographyMaterialProvidersTypes.IKeyring) + var _10_onEncryptOutput m_Wrappers.Result + _ = _10_onEncryptOutput var _out1 m_Wrappers.Result _ = _out1 - _out1 = (((_this).ChildKeyrings()).Select((_6_i).Uint32()).(m_AwsCryptographyMaterialProvidersTypes.IKeyring)).OnEncrypt(_7_onEncryptInput) - _8_onEncryptOutput = _out1 - var _9_valueOrError3 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() - _ = _9_valueOrError3 - _9_valueOrError3 = m_Wrappers.Companion_Default___.Need((_8_onEncryptOutput).Is_Success(), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Child keyring failed to encrypt plaintext data key"))) - if (_9_valueOrError3).IsFailure() { - res = (_9_valueOrError3).PropagateFailure() + _out1 = (_9_child).OnEncrypt(_8_onEncryptInput) + _10_onEncryptOutput = _out1 + var _11_valueOrError4 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() + _ = _11_valueOrError4 + _11_valueOrError4 = m_Wrappers.Companion_Default___.Need((_10_onEncryptOutput).Is_Success(), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Child keyring failed to encrypt plaintext data key"))) + if (_11_valueOrError4).IsFailure() { + res = (_11_valueOrError4).PropagateFailure() return res } - var _10_valueOrError4 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() - _ = _10_valueOrError4 - _10_valueOrError4 = m_Wrappers.Companion_Default___.Need(m_Materials.Companion_Default___.ValidEncryptionMaterialsTransition(_1_returnMaterials, ((_8_onEncryptOutput).Dtor_value().(m_AwsCryptographyMaterialProvidersTypes.OnEncryptOutput)).Dtor_materials()), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Child keyring performed invalid transition on encryption materials"))) - if (_10_valueOrError4).IsFailure() { - res = (_10_valueOrError4).PropagateFailure() - return res + if !((Companion_Default___.Verified_q(_9_child)) || (func(_is_20 m_AwsCryptographyMaterialProvidersTypes.IKeyring) bool { + return _dafny.InstanceOf(_is_20, (*MultiKeyring)(nil)) + }(_9_child))) { + var _12_valueOrError5 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() + _ = _12_valueOrError5 + _12_valueOrError5 = m_Wrappers.Companion_Default___.Need(m_Materials.Companion_Default___.EncryptionMaterialsHasPlaintextDataKey(((_10_onEncryptOutput).Dtor_value().(m_AwsCryptographyMaterialProvidersTypes.OnEncryptOutput)).Dtor_materials()), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Could not retrieve materials required for encryption"))) + if (_12_valueOrError5).IsFailure() { + res = (_12_valueOrError5).PropagateFailure() + return res + } + var _13_valueOrError6 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() + _ = _13_valueOrError6 + _13_valueOrError6 = m_Wrappers.Companion_Default___.Need(m_Materials.Companion_Default___.ValidEncryptionMaterialsTransition(_1_returnMaterials, ((_10_onEncryptOutput).Dtor_value().(m_AwsCryptographyMaterialProvidersTypes.OnEncryptOutput)).Dtor_materials()), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Child keyring performed invalid transition on encryption materials"))) + if (_13_valueOrError6).IsFailure() { + res = (_13_valueOrError6).PropagateFailure() + return res + } } - _1_returnMaterials = ((_8_onEncryptOutput).Dtor_value().(m_AwsCryptographyMaterialProvidersTypes.OnEncryptOutput)).Dtor_materials() - } - var _11_valueOrError5 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() - _ = _11_valueOrError5 - _11_valueOrError5 = m_Wrappers.Companion_Default___.Need(m_Materials.Companion_Default___.ValidEncryptionMaterialsTransition((input).Dtor_materials(), _1_returnMaterials), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("A child or generator keyring modified the encryption materials in illegal ways."))) - if (_11_valueOrError5).IsFailure() { - res = (_11_valueOrError5).PropagateFailure() - return res + _1_returnMaterials = ((_10_onEncryptOutput).Dtor_value().(m_AwsCryptographyMaterialProvidersTypes.OnEncryptOutput)).Dtor_materials() } res = m_Wrappers.Companion_Result_.Create_Success_(m_AwsCryptographyMaterialProvidersTypes.Companion_OnEncryptOutput_.Create_OnEncryptOutput_(_1_returnMaterials)) return res @@ -408,14 +499,14 @@ func (_this *MultiKeyring) OnDecrypt_k(input m_AwsCryptographyMaterialProvidersT _2_failures = _dafny.Companion_Sequence_.Concatenate(_2_failures, _dafny.SeqOf((_3_result).Dtor_error().(m_AwsCryptographyMaterialProvidersTypes.Error))) } } - var _hi0 _dafny.Int = _dafny.IntOfUint32(((_this).ChildKeyrings()).Cardinality()) + var _hi0 uint64 = uint64(((_this).ChildKeyrings()).Cardinality()) _ = _hi0 - for _4_j := _dafny.Zero; _4_j.Cmp(_hi0) < 0; _4_j = _4_j.Plus(_dafny.One) { + for _4_j := uint64(0); _4_j < _hi0; _4_j++ { var _5_result m_Wrappers.Result _ = _5_result var _out1 m_Wrappers.Result _ = _out1 - _out1 = Companion_Default___.AttemptDecryptDataKey(((_this).ChildKeyrings()).Select((_4_j).Uint32()).(m_AwsCryptographyMaterialProvidersTypes.IKeyring), input) + _out1 = Companion_Default___.AttemptDecryptDataKey(((_this).ChildKeyrings()).Select(uint32(_4_j)).(m_AwsCryptographyMaterialProvidersTypes.IKeyring), input) _5_result = _out1 if (_5_result).Is_Success() { res = m_Wrappers.Companion_Result_.Create_Success_((_5_result).Dtor_value().(m_AwsCryptographyMaterialProvidersTypes.OnDecryptOutput)) diff --git a/releases/go/mpl/README.md b/releases/go/mpl/README.md index e71bcf5d00..ed02653049 100644 --- a/releases/go/mpl/README.md +++ b/releases/go/mpl/README.md @@ -28,7 +28,7 @@ different runtimes. Dafny code is transpiled into Go code with the help of inter ### Installation -`go get github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl@v0.2.0` +`go get github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl@latest` ### Optional Prerequisites diff --git a/releases/go/mpl/RawAESKeyring/RawAESKeyring.go b/releases/go/mpl/RawAESKeyring/RawAESKeyring.go index 17806441d3..8f8eb093f0 100644 --- a/releases/go/mpl/RawAESKeyring/RawAESKeyring.go +++ b/releases/go/mpl/RawAESKeyring/RawAESKeyring.go @@ -15,24 +15,12 @@ import ( m_AwsCryptographyKeyStoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreOperations" m_AwsCryptographyKeyStoreTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreTypes" m_AwsCryptographyMaterialProvidersTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" - m_AwsKmsDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsDiscoveryKeyring" - m_AwsKmsEcdhKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsEcdhKeyring" - m_AwsKmsHierarchicalKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsHierarchicalKeyring" - m_AwsKmsKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsKeyring" - m_AwsKmsMrkAreUnique "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkAreUnique" - m_AwsKmsMrkDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkDiscoveryKeyring" - m_AwsKmsMrkKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkKeyring" m_AwsKmsMrkMatchForDecrypt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkMatchForDecrypt" - m_AwsKmsRsaKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsRsaKeyring" m_AwsKmsUtils "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsUtils" - m_CacheConstants "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CacheConstants" m_CanonicalEncryptionContext "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CanonicalEncryptionContext" - m_Constants "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Constants" m_CreateKeyStoreTable "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeyStoreTable" m_CreateKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeys" m_DDBKeystoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DDBKeystoreOperations" - m_DiscoveryMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DiscoveryMultiKeyring" - m_EcdhEdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EcdhEdkWrapping" m_EdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EdkWrapping" m_ErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/ErrorMessages" m_GetKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/GetKeys" @@ -42,18 +30,9 @@ import ( m_KeyStoreErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KeyStoreErrorMessages" m_Keyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Keyring" m_KmsArn "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KmsArn" - m_LocalCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/LocalCMC" m_MaterialWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MaterialWrapping" m_Materials "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Materials" - m_MrkAwareDiscoveryMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MrkAwareDiscoveryMultiKeyring" - m_MrkAwareStrictMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MrkAwareStrictMultiKeyring" - m_MultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MultiKeyring" - m_RawECDHKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawECDHKeyring" - m_StormTracker "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StormTracker" - m_StormTrackingCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StormTrackingCMC" - m_StrictMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StrictMultiKeyring" m_Structure "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Structure" - m_SynchronizedLocalCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/SynchronizedLocalCMC" m_AtomicPrimitives "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AtomicPrimitives" m_AwsCryptographyPrimitivesOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesOperations" m_AwsCryptographyPrimitivesTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesTypes" @@ -90,6 +69,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -110,6 +90,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -174,32 +155,11 @@ var _ m_KeyStore.Dummy__ var _ m_AlgorithmSuites.Dummy__ var _ m_Materials.Dummy__ var _ m_Keyring.Dummy__ -var _ m_MultiKeyring.Dummy__ -var _ m_AwsKmsMrkAreUnique.Dummy__ -var _ m_Constants.Dummy__ -var _ m_MaterialWrapping.Dummy__ var _ m_CanonicalEncryptionContext.Dummy__ +var _ m_MaterialWrapping.Dummy__ var _ m_IntermediateKeyWrapping.Dummy__ var _ m_EdkWrapping.Dummy__ var _ m_ErrorMessages.Dummy__ -var _ m_AwsKmsKeyring.Dummy__ -var _ m_StrictMultiKeyring.Dummy__ -var _ m_AwsKmsDiscoveryKeyring.Dummy__ -var _ m_DiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkDiscoveryKeyring.Dummy__ -var _ m_MrkAwareDiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkKeyring.Dummy__ -var _ m_MrkAwareStrictMultiKeyring.Dummy__ -var _ m_LocalCMC.Dummy__ -var _ m_SynchronizedLocalCMC.Dummy__ -var _ m_StormTracker.Dummy__ -var _ m_StormTrackingCMC.Dummy__ -var _ m_CacheConstants.Dummy__ -var _ m_AwsKmsHierarchicalKeyring.Dummy__ -var _ m_AwsKmsRsaKeyring.Dummy__ -var _ m_EcdhEdkWrapping.Dummy__ -var _ m_RawECDHKeyring.Dummy__ -var _ m_AwsKmsEcdhKeyring.Dummy__ type Dummy__ struct{} @@ -237,27 +197,27 @@ func (_this *Default__) ParentTraits_() []*_dafny.TraitID { var _ _dafny.TraitOffspring = &Default__{} -func (_static *CompanionStruct_Default___) DeserializeEDKCiphertext(ciphertext _dafny.Sequence, tagLen _dafny.Int) m_AwsCryptographyPrimitivesTypes.AESEncryptOutput { - var _0_encryptedKeyLength _dafny.Int = (_dafny.IntOfUint32((ciphertext).Cardinality())).Minus(tagLen) +func (_static *CompanionStruct_Default___) DeserializeEDKCiphertext(ciphertext _dafny.Sequence, tagLen uint64) m_AwsCryptographyPrimitivesTypes.AESEncryptOutput { + var _0_encryptedKeyLength uint64 = (uint64((ciphertext).Cardinality())) - (func() uint64 { return (tagLen) })() _ = _0_encryptedKeyLength - return m_AwsCryptographyPrimitivesTypes.Companion_AESEncryptOutput_.Create_AESEncryptOutput_((ciphertext).Take((_0_encryptedKeyLength).Uint32()), (ciphertext).Drop((_0_encryptedKeyLength).Uint32())) + return m_AwsCryptographyPrimitivesTypes.Companion_AESEncryptOutput_.Create_AESEncryptOutput_((ciphertext).Take(uint32(_0_encryptedKeyLength)), (ciphertext).Drop(uint32(_0_encryptedKeyLength))) } func (_static *CompanionStruct_Default___) SerializeEDKCiphertext(encOutput m_AwsCryptographyPrimitivesTypes.AESEncryptOutput) _dafny.Sequence { return _dafny.Companion_Sequence_.Concatenate((encOutput).Dtor_cipherText(), (encOutput).Dtor_authTag()) } -func (_static *CompanionStruct_Default___) AUTH__TAG__LEN__LEN() _dafny.Int { - return _dafny.IntOfInt64(4) +func (_static *CompanionStruct_Default___) AUTH__TAG__LEN__LEN() uint64 { + return uint64(4) } -func (_static *CompanionStruct_Default___) IV__LEN__LEN() _dafny.Int { - return _dafny.IntOfInt64(4) +func (_static *CompanionStruct_Default___) IV__LEN__LEN() uint64 { + return uint64(4) } // End of class Default__ // Definition of class RawAESKeyring type RawAESKeyring struct { - _cryptoPrimitives *m_AtomicPrimitives.AtomicPrimitivesClient _wrappingKey _dafny.Sequence + _cryptoPrimitives *m_AtomicPrimitives.AtomicPrimitivesClient _wrappingAlgorithm m_AwsCryptographyPrimitivesTypes.AES__GCM _keyNamespace _dafny.Sequence _keyName _dafny.Sequence @@ -266,8 +226,8 @@ type RawAESKeyring struct { func New_RawAESKeyring_() *RawAESKeyring { _this := RawAESKeyring{} - _this._cryptoPrimitives = (*m_AtomicPrimitives.AtomicPrimitivesClient)(nil) _this._wrappingKey = _dafny.EmptySeq + _this._cryptoPrimitives = (*m_AtomicPrimitives.AtomicPrimitivesClient)(nil) _this._wrappingAlgorithm = m_AwsCryptographyPrimitivesTypes.AES__GCM{} _this._keyNamespace = m_UTF8.Companion_ValidUTF8Bytes_.Witness() _this._keyName = m_UTF8.Companion_ValidUTF8Bytes_.Witness() @@ -315,16 +275,16 @@ var _ m_AwsCryptographyMaterialProvidersTypes.IKeyring = &RawAESKeyring{} var _ _dafny.TraitOffspring = &RawAESKeyring{} func (_this *RawAESKeyring) OnDecrypt(input m_AwsCryptographyMaterialProvidersTypes.OnDecryptInput) m_Wrappers.Result { - var _out10 m_Wrappers.Result - _ = _out10 - _out10 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnDecrypt(_this, input) - return _out10 + var _out1 m_Wrappers.Result + _ = _out1 + _out1 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnDecrypt(_this, input) + return _out1 } func (_this *RawAESKeyring) OnEncrypt(input m_AwsCryptographyMaterialProvidersTypes.OnEncryptInput) m_Wrappers.Result { - var _out10 m_Wrappers.Result - _ = _out10 - _out10 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnEncrypt(_this, input) - return _out10 + var _out1 m_Wrappers.Result + _ = _out1 + _out1 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnEncrypt(_this, input) + return _out1 } func (_this *RawAESKeyring) Ctor__(namespace _dafny.Sequence, name _dafny.Sequence, key _dafny.Sequence, wrappingAlgorithm m_AwsCryptographyPrimitivesTypes.AES__GCM, cryptoPrimitives *m_AtomicPrimitives.AtomicPrimitivesClient) { { @@ -436,7 +396,7 @@ func (_this *RawAESKeyring) OnDecrypt_k(input m_AwsCryptographyMaterialProviders _3_aad = (_2_valueOrError1).Extract().(_dafny.Sequence) var _4_valueOrError2 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _4_valueOrError2 - _4_valueOrError2 = m_Wrappers.Companion_Default___.Need((_dafny.IntOfUint32(((_this).WrappingKey()).Cardinality())).Cmp(_dafny.IntOfInt32(((_this).WrappingAlgorithm()).Dtor_keyLength())) == 0, m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("The wrapping key does not match the wrapping algorithm"))) + _4_valueOrError2 = m_Wrappers.Companion_Default___.Need((uint64(((_this).WrappingKey()).Cardinality())) == (uint64(((_this).WrappingAlgorithm()).Dtor_keyLength())), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("The wrapping key does not match the wrapping algorithm"))) if (_4_valueOrError2).IsFailure() { output = (_4_valueOrError2).PropagateFailure() return output @@ -444,13 +404,13 @@ func (_this *RawAESKeyring) OnDecrypt_k(input m_AwsCryptographyMaterialProviders var _5_errors _dafny.Sequence _ = _5_errors _5_errors = _dafny.SeqOf() - var _hi0 _dafny.Int = _dafny.IntOfUint32(((input).Dtor_encryptedDataKeys()).Cardinality()) + var _hi0 uint64 = uint64(((input).Dtor_encryptedDataKeys()).Cardinality()) _ = _hi0 - for _6_i := _dafny.Zero; _6_i.Cmp(_hi0) < 0; _6_i = _6_i.Plus(_dafny.One) { - if (_this).ShouldDecryptEDK(((input).Dtor_encryptedDataKeys()).Select((_6_i).Uint32()).(m_AwsCryptographyMaterialProvidersTypes.EncryptedDataKey)) { + for _6_i := uint64(0); _6_i < _hi0; _6_i++ { + if (_this).ShouldDecryptEDK(((input).Dtor_encryptedDataKeys()).Select(uint32(_6_i)).(m_AwsCryptographyMaterialProvidersTypes.EncryptedDataKey)) { var _7_edk m_AwsCryptographyMaterialProvidersTypes.EncryptedDataKey _ = _7_edk - _7_edk = ((input).Dtor_encryptedDataKeys()).Select((_6_i).Uint32()).(m_AwsCryptographyMaterialProvidersTypes.EncryptedDataKey) + _7_edk = ((input).Dtor_encryptedDataKeys()).Select(uint32(_6_i)).(m_AwsCryptographyMaterialProvidersTypes.EncryptedDataKey) var _8_iv _dafny.Sequence _ = _8_iv _8_iv = (_this).GetIvFromProvInfo((_7_edk).Dtor_keyProviderInfo()) @@ -488,9 +448,9 @@ func (_this *RawAESKeyring) OnDecrypt_k(input m_AwsCryptographyMaterialProviders } else { var _14_valueOrError4 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq.SetString()) _ = _14_valueOrError4 - _14_valueOrError4 = (m_UTF8.Decode((((input).Dtor_encryptedDataKeys()).Select((_6_i).Uint32()).(m_AwsCryptographyMaterialProvidersTypes.EncryptedDataKey)).Dtor_keyProviderId())).MapFailure(func(coer120 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg121 interface{}) interface{} { - return coer120(arg121.(_dafny.Sequence)) + _14_valueOrError4 = (m_UTF8.Decode((((input).Dtor_encryptedDataKeys()).Select(uint32(_6_i)).(m_AwsCryptographyMaterialProvidersTypes.EncryptedDataKey)).Dtor_keyProviderId())).MapFailure(func(coer47 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg48 interface{}) interface{} { + return coer47(arg48.(_dafny.Sequence)) } }(func(_15_e _dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_15_e) @@ -502,7 +462,7 @@ func (_this *RawAESKeyring) OnDecrypt_k(input m_AwsCryptographyMaterialProviders var _16_extractedKeyProviderId _dafny.Sequence _ = _16_extractedKeyProviderId _16_extractedKeyProviderId = (_14_valueOrError4).Extract().(_dafny.Sequence) - _5_errors = _dafny.Companion_Sequence_.Concatenate(_5_errors, _dafny.SeqOf(m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(m_ErrorMessages.Companion_Default___.IncorrectRawDataKeys(m_StandardLibrary_String.Companion_Default___.Base10Int2String(_6_i), _dafny.SeqOfString("AESKeyring"), _16_extractedKeyProviderId)))) + _5_errors = _dafny.Companion_Sequence_.Concatenate(_5_errors, _dafny.SeqOf(m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(m_ErrorMessages.Companion_Default___.IncorrectRawDataKeys(m_StandardLibrary_String.Companion_Default___.Base10Int2String(_dafny.IntOfUint64(_6_i)), _dafny.SeqOfString("AESKeyring"), _16_extractedKeyProviderId)))) } } output = m_Wrappers.Companion_Result_.Create_Failure_(m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_CollectionOfErrors_(_5_errors, _dafny.SeqOfString("Raw AES Keyring was unable to decrypt any encrypted data key. The list of encountered Exceptions is avaible via `list`."))) @@ -522,22 +482,24 @@ func (_this *RawAESKeyring) ShouldDecryptEDK(edk m_AwsCryptographyMaterialProvid } func (_this *RawAESKeyring) ValidProviderInfo(info _dafny.Sequence) bool { { - return ((((((_dafny.IntOfUint32((info).Cardinality())).Cmp((((_dafny.IntOfUint32(((_this).KeyName()).Cardinality())).Plus(Companion_Default___.AUTH__TAG__LEN__LEN())).Plus(Companion_Default___.IV__LEN__LEN())).Plus(_dafny.IntOfInt32(((_this).WrappingAlgorithm()).Dtor_ivLength()))) == 0) && (_dafny.Companion_Sequence_.Equal((info).Subsequence(0, (_dafny.IntOfUint32(((_this).KeyName()).Cardinality())).Uint32()), (_this).KeyName()))) && ((m_StandardLibrary_UInt.Companion_Default___.SeqToUInt32((info).Subsequence((_dafny.IntOfUint32(((_this).KeyName()).Cardinality())).Uint32(), ((_dafny.IntOfUint32(((_this).KeyName()).Cardinality())).Plus(Companion_Default___.AUTH__TAG__LEN__LEN())).Uint32()))) == (uint32(128)))) && ((m_StandardLibrary_UInt.Companion_Default___.SeqToUInt32((info).Subsequence((_dafny.IntOfUint32(((_this).KeyName()).Cardinality())).Uint32(), ((_dafny.IntOfUint32(((_this).KeyName()).Cardinality())).Plus(Companion_Default___.AUTH__TAG__LEN__LEN())).Uint32()))) == ((uint32(((_this).WrappingAlgorithm()).Dtor_tagLength())) * (uint32(8))))) && ((m_StandardLibrary_UInt.Companion_Default___.SeqToUInt32((info).Subsequence(((_dafny.IntOfUint32(((_this).KeyName()).Cardinality())).Plus(Companion_Default___.AUTH__TAG__LEN__LEN())).Uint32(), (((_dafny.IntOfUint32(((_this).KeyName()).Cardinality())).Plus(Companion_Default___.AUTH__TAG__LEN__LEN())).Plus(Companion_Default___.IV__LEN__LEN())).Uint32()))) == (uint32(((_this).WrappingAlgorithm()).Dtor_ivLength())))) && ((m_StandardLibrary_UInt.Companion_Default___.SeqToUInt32((info).Subsequence(((_dafny.IntOfUint32(((_this).KeyName()).Cardinality())).Plus(Companion_Default___.AUTH__TAG__LEN__LEN())).Uint32(), (((_dafny.IntOfUint32(((_this).KeyName()).Cardinality())).Plus(Companion_Default___.AUTH__TAG__LEN__LEN())).Plus(Companion_Default___.IV__LEN__LEN())).Uint32()))) == (uint32(12))) + var _0_keyname__size uint64 = uint64(((_this).KeyName()).Cardinality()) + _ = _0_keyname__size + return ((((((uint64((info).Cardinality())) == (m_StandardLibrary_MemoryMath.Companion_Default___.Add4(_0_keyname__size, Companion_Default___.AUTH__TAG__LEN__LEN(), Companion_Default___.IV__LEN__LEN(), uint64(((_this).WrappingAlgorithm()).Dtor_ivLength())))) && (_dafny.Companion_Sequence_.Equal((info).Take(uint32(_0_keyname__size)), (_this).KeyName()))) && ((m_StandardLibrary_UInt.Companion_Default___.SeqToUInt32((info).Subsequence(uint32(_0_keyname__size), uint32((_0_keyname__size)+(Companion_Default___.AUTH__TAG__LEN__LEN()))))) == (uint32(128)))) && ((uint32(128)) == ((uint32(((_this).WrappingAlgorithm()).Dtor_tagLength())) * (uint32(8))))) && ((m_StandardLibrary_UInt.Companion_Default___.SeqToUInt32((info).Subsequence(uint32((_0_keyname__size)+(Companion_Default___.AUTH__TAG__LEN__LEN())), uint32(((_0_keyname__size)+(Companion_Default___.AUTH__TAG__LEN__LEN()))+(Companion_Default___.IV__LEN__LEN()))))) == (uint32(((_this).WrappingAlgorithm()).Dtor_ivLength())))) && ((m_StandardLibrary_UInt.Companion_Default___.SeqToUInt32((info).Subsequence(uint32((_0_keyname__size)+(Companion_Default___.AUTH__TAG__LEN__LEN())), uint32(((_0_keyname__size)+(Companion_Default___.AUTH__TAG__LEN__LEN()))+(Companion_Default___.IV__LEN__LEN()))))) == (uint32(12))) } } func (_this *RawAESKeyring) GetIvFromProvInfo(info _dafny.Sequence) _dafny.Sequence { { - return (info).Drop((((_dafny.IntOfUint32(((_this).KeyName()).Cardinality())).Plus(Companion_Default___.AUTH__TAG__LEN__LEN())).Plus(Companion_Default___.IV__LEN__LEN())).Uint32()) + return (info).Drop(uint32(((uint64(((_this).KeyName()).Cardinality())) + (Companion_Default___.AUTH__TAG__LEN__LEN())) + (Companion_Default___.IV__LEN__LEN()))) } } -func (_this *RawAESKeyring) CryptoPrimitives() *m_AtomicPrimitives.AtomicPrimitivesClient { +func (_this *RawAESKeyring) WrappingKey() _dafny.Sequence { { - return _this._cryptoPrimitives + return _this._wrappingKey } } -func (_this *RawAESKeyring) WrappingKey() _dafny.Sequence { +func (_this *RawAESKeyring) CryptoPrimitives() *m_AtomicPrimitives.AtomicPrimitivesClient { { - return _this._wrappingKey + return _this._cryptoPrimitives } } func (_this *RawAESKeyring) WrappingAlgorithm() m_AwsCryptographyPrimitivesTypes.AES__GCM { @@ -832,9 +794,9 @@ func (_this *AesGenerateAndWrapKeyMaterial) Invoke(input interface{}) interface{ _0_generateBytesResult = _out0 var _1_valueOrError0 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) _ = _1_valueOrError0 - _1_valueOrError0 = (_0_generateBytesResult).MapFailure(func(coer121 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg122 interface{}) interface{} { - return coer121(arg122.(m_AwsCryptographyPrimitivesTypes.Error)) + _1_valueOrError0 = (_0_generateBytesResult).MapFailure(func(coer48 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg49 interface{}) interface{} { + return coer48(arg49.(m_AwsCryptographyPrimitivesTypes.Error)) } }(func(_2_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_2_e) @@ -850,7 +812,7 @@ func (_this *AesGenerateAndWrapKeyMaterial) Invoke(input interface{}) interface{ _ = _4_valueOrError1 var _out1 interface{} _ = _out1 - _out1 = ((_this).Wrap()).Invoke(m_MaterialWrapping.Companion_WrapInput_.Create_WrapInput_(_3_plaintextMaterial, (input).Dtor_algorithmSuite(), (input).Dtor_encryptionContext())) + _out1 = ((_this).Wrap()).Invoke(m_MaterialWrapping.Companion_WrapInput_.Create_WrapInput_(_3_plaintextMaterial, (input).Dtor_algorithmSuite(), (input).Dtor_encryptionContext(), (input).Dtor_serializedEC())) _4_valueOrError1 = _out1.(m_Wrappers.Result) if (_4_valueOrError1).IsFailure() { res = (_4_valueOrError1).PropagateFailure() @@ -959,9 +921,9 @@ func (_this *AesWrapKeyMaterial) Invoke(input interface{}) interface{} { _2_randomIvResult = _out0 var _3_valueOrError1 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) _ = _3_valueOrError1 - _3_valueOrError1 = (_2_randomIvResult).MapFailure(func(coer122 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg123 interface{}) interface{} { - return coer122(arg123.(m_AwsCryptographyPrimitivesTypes.Error)) + _3_valueOrError1 = (_2_randomIvResult).MapFailure(func(coer49 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg50 interface{}) interface{} { + return coer49(arg50.(m_AwsCryptographyPrimitivesTypes.Error)) } }(func(_4_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_4_e) @@ -981,9 +943,9 @@ func (_this *AesWrapKeyMaterial) Invoke(input interface{}) interface{} { _6_aesEncryptResult = _out1 var _7_valueOrError2 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_AwsCryptographyPrimitivesTypes.Companion_AESEncryptOutput_.Default()) _ = _7_valueOrError2 - _7_valueOrError2 = (_6_aesEncryptResult).MapFailure(func(coer123 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg124 interface{}) interface{} { - return coer123(arg124.(m_AwsCryptographyPrimitivesTypes.Error)) + _7_valueOrError2 = (_6_aesEncryptResult).MapFailure(func(coer50 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg51 interface{}) interface{} { + return coer50(arg51.(m_AwsCryptographyPrimitivesTypes.Error)) } }(func(_8_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_8_e) @@ -1106,14 +1068,14 @@ func (_this *AesUnwrapKeyMaterial) Invoke(input interface{}) interface{} { _1_aad = (_0_valueOrError0).Extract().(_dafny.Sequence) var _2_valueOrError1 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _2_valueOrError1 - _2_valueOrError1 = m_Wrappers.Companion_Default___.Need((_dafny.IntOfInt32(((_this).WrappingAlgorithm()).Dtor_tagLength())).Cmp(_dafny.IntOfUint32(((input).Dtor_wrappedMaterial()).Cardinality())) <= 0, m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Insufficient data to decrypt."))) + _2_valueOrError1 = m_Wrappers.Companion_Default___.Need((uint64(((_this).WrappingAlgorithm()).Dtor_tagLength())) <= (uint64(((input).Dtor_wrappedMaterial()).Cardinality())), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Insufficient data to decrypt."))) if (_2_valueOrError1).IsFailure() { res = (_2_valueOrError1).PropagateFailure() return res } var _3_encryptionOutput m_AwsCryptographyPrimitivesTypes.AESEncryptOutput _ = _3_encryptionOutput - _3_encryptionOutput = Companion_Default___.DeserializeEDKCiphertext((input).Dtor_wrappedMaterial(), _dafny.IntOfInt32(((_this).WrappingAlgorithm()).Dtor_tagLength())) + _3_encryptionOutput = Companion_Default___.DeserializeEDKCiphertext((input).Dtor_wrappedMaterial(), uint64(((_this).WrappingAlgorithm()).Dtor_tagLength())) var _4_maybePtKey m_Wrappers.Result _ = _4_maybePtKey var _out0 m_Wrappers.Result @@ -1122,9 +1084,9 @@ func (_this *AesUnwrapKeyMaterial) Invoke(input interface{}) interface{} { _4_maybePtKey = _out0 var _5_valueOrError2 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) _ = _5_valueOrError2 - _5_valueOrError2 = (_4_maybePtKey).MapFailure(func(coer124 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg125 interface{}) interface{} { - return coer124(arg125.(m_AwsCryptographyPrimitivesTypes.Error)) + _5_valueOrError2 = (_4_maybePtKey).MapFailure(func(coer51 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg52 interface{}) interface{} { + return coer51(arg52.(m_AwsCryptographyPrimitivesTypes.Error)) } }(func(_6_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_6_e) @@ -1138,7 +1100,7 @@ func (_this *AesUnwrapKeyMaterial) Invoke(input interface{}) interface{} { _7_ptKey = (_5_valueOrError2).Extract().(_dafny.Sequence) var _8_valueOrError3 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _8_valueOrError3 - _8_valueOrError3 = m_Wrappers.Companion_Default___.Need((_dafny.IntOfInt32(m_AlgorithmSuites.Companion_Default___.GetEncryptKeyLength((input).Dtor_algorithmSuite()))).Cmp(_dafny.IntOfUint32((_7_ptKey).Cardinality())) == 0, m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Plaintext Data Key is not the expected length"))) + _8_valueOrError3 = m_Wrappers.Companion_Default___.Need((uint64(m_AlgorithmSuites.Companion_Default___.GetEncryptKeyLength((input).Dtor_algorithmSuite()))) == (uint64((_7_ptKey).Cardinality())), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Plaintext Data Key is not the expected length"))) if (_8_valueOrError3).IsFailure() { res = (_8_valueOrError3).PropagateFailure() return res diff --git a/releases/go/mpl/RawECDHKeyring/RawECDHKeyring.go b/releases/go/mpl/RawECDHKeyring/RawECDHKeyring.go index aec9bfc0a3..4292aff133 100644 --- a/releases/go/mpl/RawECDHKeyring/RawECDHKeyring.go +++ b/releases/go/mpl/RawECDHKeyring/RawECDHKeyring.go @@ -15,22 +15,13 @@ import ( m_AwsCryptographyKeyStoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreOperations" m_AwsCryptographyKeyStoreTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreTypes" m_AwsCryptographyMaterialProvidersTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" - m_AwsKmsDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsDiscoveryKeyring" - m_AwsKmsHierarchicalKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsHierarchicalKeyring" - m_AwsKmsKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsKeyring" - m_AwsKmsMrkAreUnique "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkAreUnique" - m_AwsKmsMrkDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkDiscoveryKeyring" - m_AwsKmsMrkKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkKeyring" m_AwsKmsMrkMatchForDecrypt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkMatchForDecrypt" - m_AwsKmsRsaKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsRsaKeyring" m_AwsKmsUtils "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsUtils" - m_CacheConstants "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CacheConstants" m_CanonicalEncryptionContext "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CanonicalEncryptionContext" m_Constants "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Constants" m_CreateKeyStoreTable "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeyStoreTable" m_CreateKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeys" m_DDBKeystoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DDBKeystoreOperations" - m_DiscoveryMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DiscoveryMultiKeyring" m_EcdhEdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EcdhEdkWrapping" m_EdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EdkWrapping" m_ErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/ErrorMessages" @@ -41,17 +32,10 @@ import ( m_KeyStoreErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KeyStoreErrorMessages" m_Keyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Keyring" m_KmsArn "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KmsArn" - m_LocalCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/LocalCMC" m_MaterialWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MaterialWrapping" m_Materials "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Materials" - m_MrkAwareDiscoveryMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MrkAwareDiscoveryMultiKeyring" - m_MrkAwareStrictMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MrkAwareStrictMultiKeyring" - m_MultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MultiKeyring" - m_StormTracker "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StormTracker" - m_StormTrackingCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StormTrackingCMC" - m_StrictMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StrictMultiKeyring" + m_RawAESKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawAESKeyring" m_Structure "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Structure" - m_SynchronizedLocalCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/SynchronizedLocalCMC" m_AtomicPrimitives "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AtomicPrimitives" m_AwsCryptographyPrimitivesOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesOperations" m_AwsCryptographyPrimitivesTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesTypes" @@ -88,6 +72,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -108,6 +93,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -172,29 +158,13 @@ var _ m_KeyStore.Dummy__ var _ m_AlgorithmSuites.Dummy__ var _ m_Materials.Dummy__ var _ m_Keyring.Dummy__ -var _ m_MultiKeyring.Dummy__ -var _ m_AwsKmsMrkAreUnique.Dummy__ -var _ m_Constants.Dummy__ -var _ m_MaterialWrapping.Dummy__ var _ m_CanonicalEncryptionContext.Dummy__ +var _ m_MaterialWrapping.Dummy__ var _ m_IntermediateKeyWrapping.Dummy__ var _ m_EdkWrapping.Dummy__ var _ m_ErrorMessages.Dummy__ -var _ m_AwsKmsKeyring.Dummy__ -var _ m_StrictMultiKeyring.Dummy__ -var _ m_AwsKmsDiscoveryKeyring.Dummy__ -var _ m_DiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkDiscoveryKeyring.Dummy__ -var _ m_MrkAwareDiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkKeyring.Dummy__ -var _ m_MrkAwareStrictMultiKeyring.Dummy__ -var _ m_LocalCMC.Dummy__ -var _ m_SynchronizedLocalCMC.Dummy__ -var _ m_StormTracker.Dummy__ -var _ m_StormTrackingCMC.Dummy__ -var _ m_CacheConstants.Dummy__ -var _ m_AwsKmsHierarchicalKeyring.Dummy__ -var _ m_AwsKmsRsaKeyring.Dummy__ +var _ m_RawAESKeyring.Dummy__ +var _ m_Constants.Dummy__ var _ m_EcdhEdkWrapping.Dummy__ type Dummy__ struct{} @@ -234,13 +204,19 @@ func (_this *Default__) ParentTraits_() []*_dafny.TraitID { var _ _dafny.TraitOffspring = &Default__{} func (_static *CompanionStruct_Default___) ValidPublicKeyLength(p _dafny.Sequence) bool { - return (true) && ((((_dafny.IntOfUint32((p).Cardinality())).Cmp(m_Constants.Companion_Default___.ECDH__PUBLIC__KEY__LEN__ECC__NIST__256()) == 0) || ((_dafny.IntOfUint32((p).Cardinality())).Cmp(m_Constants.Companion_Default___.ECDH__PUBLIC__KEY__LEN__ECC__NIST__384()) == 0)) || ((_dafny.IntOfUint32((p).Cardinality())).Cmp(m_Constants.Companion_Default___.ECDH__PUBLIC__KEY__LEN__ECC__NIST__521()) == 0)) + var _0_len uint64 = uint64((p).Cardinality()) + _ = _0_len + return (true) && ((((_0_len) == (m_Constants.Companion_Default___.ECDH__PUBLIC__KEY__LEN__ECC__NIST__256())) || ((_0_len) == (m_Constants.Companion_Default___.ECDH__PUBLIC__KEY__LEN__ECC__NIST__384()))) || ((_0_len) == (m_Constants.Companion_Default___.ECDH__PUBLIC__KEY__LEN__ECC__NIST__521()))) } func (_static *CompanionStruct_Default___) ValidCompressedPublicKeyLength(p _dafny.Sequence) bool { - return (true) && ((((_dafny.IntOfUint32((p).Cardinality())).Cmp(m_Constants.Companion_Default___.ECDH__PUBLIC__KEY__COMPRESSED__LEN__ECC__NIST__256()) == 0) || ((_dafny.IntOfUint32((p).Cardinality())).Cmp(m_Constants.Companion_Default___.ECDH__PUBLIC__KEY__COMPRESSED__LEN__ECC__NIST__384()) == 0)) || ((_dafny.IntOfUint32((p).Cardinality())).Cmp(m_Constants.Companion_Default___.ECDH__PUBLIC__KEY__COMPRESSED__LEN__ECC__NIST__521()) == 0)) + var _0_len uint64 = uint64((p).Cardinality()) + _ = _0_len + return (true) && ((((_0_len) == (m_Constants.Companion_Default___.ECDH__PUBLIC__KEY__COMPRESSED__LEN__ECC__NIST__256())) || ((_0_len) == (m_Constants.Companion_Default___.ECDH__PUBLIC__KEY__COMPRESSED__LEN__ECC__NIST__384()))) || ((_0_len) == (m_Constants.Companion_Default___.ECDH__PUBLIC__KEY__COMPRESSED__LEN__ECC__NIST__521()))) } func (_static *CompanionStruct_Default___) ValidProviderInfoLength(p _dafny.Sequence) bool { - return (((_dafny.IntOfUint32((p).Cardinality())).Cmp(_dafny.IntOfUint32(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__256__LEN())) == 0) || ((_dafny.IntOfUint32((p).Cardinality())).Cmp(_dafny.IntOfUint32(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__384__LEN())) == 0)) || ((_dafny.IntOfUint32((p).Cardinality())).Cmp(_dafny.IntOfUint32(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__521__LEN())) == 0) + var _0_len uint64 = uint64((p).Cardinality()) + _ = _0_len + return (((_0_len) == (uint64(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__256__LEN()))) || ((_0_len) == (uint64(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__384__LEN())))) || ((_0_len) == (uint64(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__521__LEN()))) } func (_static *CompanionStruct_Default___) LocalDeriveSharedSecret(senderPrivateKey m_AwsCryptographyPrimitivesTypes.ECCPrivateKey, recipientPublicKey m_AwsCryptographyPrimitivesTypes.ECCPublicKey, curveSpec m_AwsCryptographyPrimitivesTypes.ECDHCurveSpec, crypto *m_AtomicPrimitives.AtomicPrimitivesClient) m_Wrappers.Result { var res m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) @@ -253,9 +229,9 @@ func (_static *CompanionStruct_Default___) LocalDeriveSharedSecret(senderPrivate _0_maybeSharedSecret = _out0 var _1_valueOrError0 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_AwsCryptographyPrimitivesTypes.Companion_DeriveSharedSecretOutput_.Default()) _ = _1_valueOrError0 - _1_valueOrError0 = (_0_maybeSharedSecret).MapFailure(func(coer110 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg111 interface{}) interface{} { - return coer110(arg111.(m_AwsCryptographyPrimitivesTypes.Error)) + _1_valueOrError0 = (_0_maybeSharedSecret).MapFailure(func(coer60 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg61 interface{}) interface{} { + return coer60(arg61.(m_AwsCryptographyPrimitivesTypes.Error)) } }(func(_2_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_2_e) @@ -282,9 +258,9 @@ func (_static *CompanionStruct_Default___) CompressPublicKey(publicKey m_AwsCryp _0_maybeCompressedPublicKey = _out0 var _1_valueOrError0 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_AwsCryptographyPrimitivesTypes.Companion_CompressPublicKeyOutput_.Default()) _ = _1_valueOrError0 - _1_valueOrError0 = (_0_maybeCompressedPublicKey).MapFailure(func(coer111 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg112 interface{}) interface{} { - return coer111(arg112.(m_AwsCryptographyPrimitivesTypes.Error)) + _1_valueOrError0 = (_0_maybeCompressedPublicKey).MapFailure(func(coer61 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg62 interface{}) interface{} { + return coer61(arg62.(m_AwsCryptographyPrimitivesTypes.Error)) } }(func(_2_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_2_e) @@ -293,10 +269,10 @@ func (_static *CompanionStruct_Default___) CompressPublicKey(publicKey m_AwsCryp res = (_1_valueOrError0).PropagateFailure() return res } - var _3_compresedPublicKey m_AwsCryptographyPrimitivesTypes.CompressPublicKeyOutput - _ = _3_compresedPublicKey - _3_compresedPublicKey = (_1_valueOrError0).Extract().(m_AwsCryptographyPrimitivesTypes.CompressPublicKeyOutput) - res = m_Wrappers.Companion_Result_.Create_Success_((_3_compresedPublicKey).Dtor_compressedPublicKey()) + var _3_compressedPublicKey m_AwsCryptographyPrimitivesTypes.CompressPublicKeyOutput + _ = _3_compressedPublicKey + _3_compressedPublicKey = (_1_valueOrError0).Extract().(m_AwsCryptographyPrimitivesTypes.CompressPublicKeyOutput) + res = m_Wrappers.Companion_Result_.Create_Success_((_3_compressedPublicKey).Dtor_compressedPublicKey()) return res return res } @@ -311,9 +287,9 @@ func (_static *CompanionStruct_Default___) DecompressPublicKey(publicKey _dafny. _0_maybePublicKey = _out0 var _1_valueOrError0 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_AwsCryptographyPrimitivesTypes.Companion_DecompressPublicKeyOutput_.Default()) _ = _1_valueOrError0 - _1_valueOrError0 = (_0_maybePublicKey).MapFailure(func(coer112 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg113 interface{}) interface{} { - return coer112(arg113.(m_AwsCryptographyPrimitivesTypes.Error)) + _1_valueOrError0 = (_0_maybePublicKey).MapFailure(func(coer62 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg63 interface{}) interface{} { + return coer62(arg63.(m_AwsCryptographyPrimitivesTypes.Error)) } }(func(_2_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_2_e) @@ -343,9 +319,9 @@ func (_static *CompanionStruct_Default___) GenerateEphemeralEccKeyPair(curveSpec _0_maybeKeyPair = _out0 var _1_valueOrError0 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_AwsCryptographyPrimitivesTypes.Companion_GenerateECCKeyPairOutput_.Default()) _ = _1_valueOrError0 - _1_valueOrError0 = (_0_maybeKeyPair).MapFailure(func(coer113 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg114 interface{}) interface{} { - return coer113(arg114.(m_AwsCryptographyPrimitivesTypes.Error)) + _1_valueOrError0 = (_0_maybeKeyPair).MapFailure(func(coer63 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg64 interface{}) interface{} { + return coer63(arg64.(m_AwsCryptographyPrimitivesTypes.Error)) } }(func(_2_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_2_e) @@ -371,9 +347,9 @@ func (_static *CompanionStruct_Default___) ValidatePublicKey(crypto *m_AtomicPri _0_maybeValidate = _out0 var _1_valueOrError0 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_AwsCryptographyPrimitivesTypes.Companion_ValidatePublicKeyOutput_.Default()) _ = _1_valueOrError0 - _1_valueOrError0 = (_0_maybeValidate).MapFailure(func(coer114 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg115 interface{}) interface{} { - return coer114(arg115.(m_AwsCryptographyPrimitivesTypes.Error)) + _1_valueOrError0 = (_0_maybeValidate).MapFailure(func(coer64 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg65 interface{}) interface{} { + return coer64(arg65.(m_AwsCryptographyPrimitivesTypes.Error)) } }(func(_2_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_2_e) @@ -486,16 +462,16 @@ var _ m_AwsCryptographyMaterialProvidersTypes.IKeyring = &RawEcdhKeyring{} var _ _dafny.TraitOffspring = &RawEcdhKeyring{} func (_this *RawEcdhKeyring) OnDecrypt(input m_AwsCryptographyMaterialProvidersTypes.OnDecryptInput) m_Wrappers.Result { - var _out8 m_Wrappers.Result - _ = _out8 - _out8 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnDecrypt(_this, input) - return _out8 + var _out2 m_Wrappers.Result + _ = _out2 + _out2 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnDecrypt(_this, input) + return _out2 } func (_this *RawEcdhKeyring) OnEncrypt(input m_AwsCryptographyMaterialProvidersTypes.OnEncryptInput) m_Wrappers.Result { - var _out8 m_Wrappers.Result - _ = _out8 - _out8 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnEncrypt(_this, input) - return _out8 + var _out2 m_Wrappers.Result + _ = _out2 + _out2 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnEncrypt(_this, input) + return _out2 } func (_this *RawEcdhKeyring) Ctor__(keyAgreementScheme m_AwsCryptographyMaterialProvidersTypes.RawEcdhStaticConfigurations, curveSpec m_AwsCryptographyPrimitivesTypes.ECDHCurveSpec, senderPrivateKey m_Wrappers.Option, senderPublicKey m_Wrappers.Option, recipientPublicKey _dafny.Sequence, compressedSenderPublicKey m_Wrappers.Option, compressedRecipientPublicKey _dafny.Sequence, cryptoPrimitives *m_AtomicPrimitives.AtomicPrimitivesClient) { { @@ -585,9 +561,9 @@ func (_this *RawEcdhKeyring) OnEncrypt_k(input m_AwsCryptographyMaterialProvider _10_sharedSecret = (_9_valueOrError2).Extract().(_dafny.Sequence) var _11_valueOrError3 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_UTF8.Companion_ValidUTF8Bytes_.Witness()) _ = _11_valueOrError3 - _11_valueOrError3 = (m_UTF8.Encode(Companion_Default___.CurveSpecTypeToString((_this).CurveSpec()))).MapFailure(func(coer115 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg116 interface{}) interface{} { - return coer115(arg116.(_dafny.Sequence)) + _11_valueOrError3 = (m_UTF8.Encode(Companion_Default___.CurveSpecTypeToString((_this).CurveSpec()))).MapFailure(func(coer65 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg66 interface{}) interface{} { + return coer65(arg66.(_dafny.Sequence)) } }(Companion_Default___.E)) if (_11_valueOrError3).IsFailure() { @@ -729,7 +705,7 @@ func (_this *RawEcdhKeyring) OnDecrypt_k(input m_AwsCryptographyMaterialProvider var _6_edksToAttempt _dafny.Sequence _ = _6_edksToAttempt _6_edksToAttempt = (_5_valueOrError1).Extract().(_dafny.Sequence) - if (_dafny.IntOfUint32((_6_edksToAttempt).Cardinality())).Sign() == 0 { + if (uint64(0)) == (uint64((_6_edksToAttempt).Cardinality())) { var _7_valueOrError2 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq.SetString()) _ = _7_valueOrError2 _7_valueOrError2 = m_ErrorMessages.Companion_Default___.IncorrectDataKeys((input).Dtor_encryptedDataKeys(), ((input).Dtor_materials()).Dtor_algorithmSuite(), _dafny.SeqOfString("")) @@ -757,9 +733,9 @@ func (_this *RawEcdhKeyring) OnDecrypt_k(input m_AwsCryptographyMaterialProvider _10_outcome = _out1 var _11_valueOrError3 m_Wrappers.Result = m_Wrappers.Result{} _ = _11_valueOrError3 - _11_valueOrError3 = (_10_outcome).MapFailure(func(coer116 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg117 interface{}) interface{} { - return coer116(arg117.(_dafny.Sequence)) + _11_valueOrError3 = (_10_outcome).MapFailure(func(coer66 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg67 interface{}) interface{} { + return coer66(arg67.(_dafny.Sequence)) } }(func(_12_errors _dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_CollectionOfErrors_(_12_errors, _dafny.SeqOfString("No Configured Key was able to decrypt the Data Key. The list of encountered Exceptions is available via `list`.")) @@ -904,14 +880,14 @@ func (_this *OnDecryptEcdhDataKeyFilter) Invoke(edk interface{}) interface{} { } var _2_valueOrError0 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _2_valueOrError0 - _2_valueOrError0 = m_Wrappers.Companion_Default___.Need(((_dafny.IntOfUint32((_0_providerInfo).Cardinality())).Cmp(_dafny.IntOfUint32(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__521__LEN())) <= 0) && (Companion_Default___.ValidProviderInfoLength(_0_providerInfo)), Companion_Default___.E(_dafny.SeqOfString("EDK ProviderInfo longer than expected"))) + _2_valueOrError0 = m_Wrappers.Companion_Default___.Need(((uint64((_0_providerInfo).Cardinality())) <= (uint64(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__521__LEN()))) && (Companion_Default___.ValidProviderInfoLength(_0_providerInfo)), Companion_Default___.E(_dafny.SeqOfString("EDK ProviderInfo longer than expected"))) if (_2_valueOrError0).IsFailure() { res = (_2_valueOrError0).PropagateFailure() return res } var _3_keyringVersion uint8 _ = _3_keyringVersion - _3_keyringVersion = (_0_providerInfo).Select(0).(uint8) + _3_keyringVersion = (_0_providerInfo).Select(uint32(uint32(0))).(uint8) var _4_valueOrError1 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _4_valueOrError1 _4_valueOrError1 = m_Wrappers.Companion_Default___.Need(_dafny.Companion_Sequence_.Equal(_dafny.SeqOf(_3_keyringVersion), Companion_Default___.RAW__ECDH__KEYRING__VERSION()), Companion_Default___.E(_dafny.SeqOfString("Incorrect Keyring version found in provider info."))) @@ -919,28 +895,28 @@ func (_this *OnDecryptEcdhDataKeyFilter) Invoke(edk interface{}) interface{} { res = (_4_valueOrError1).PropagateFailure() return res } - var _5_recipientPublicKeyLength _dafny.Int + var _5_recipientPublicKeyLength uint32 _ = _5_recipientPublicKeyLength - _5_recipientPublicKeyLength = _dafny.IntOfUint32(m_StandardLibrary_UInt.Companion_Default___.SeqToUInt32((_0_providerInfo).Subsequence(uint32(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__RPL__INDEX()), uint32(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__RPK__INDEX())))) - var _6_recipientPublicKeyLengthIndex _dafny.Int + _5_recipientPublicKeyLength = m_StandardLibrary_UInt.Companion_Default___.SeqToUInt32((_0_providerInfo).Subsequence(uint32(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__RPL__INDEX()), uint32(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__RPK__INDEX()))) + var _6_recipientPublicKeyLengthIndex uint64 _ = _6_recipientPublicKeyLengthIndex - _6_recipientPublicKeyLengthIndex = (_dafny.IntOfUint32(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__RPK__INDEX())).Plus(_5_recipientPublicKeyLength) - var _7_senderPublicKeyIndex _dafny.Int + _6_recipientPublicKeyLengthIndex = (uint64(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__RPK__INDEX())) + (uint64(_5_recipientPublicKeyLength)) + var _7_senderPublicKeyIndex uint64 _ = _7_senderPublicKeyIndex - _7_senderPublicKeyIndex = (_6_recipientPublicKeyLengthIndex).Plus(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__PUBLIC__KEY__LEN()) + _7_senderPublicKeyIndex = (_6_recipientPublicKeyLengthIndex) + (m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__PUBLIC__KEY__LEN()) var _8_valueOrError2 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _8_valueOrError2 - _8_valueOrError2 = m_Wrappers.Companion_Default___.Need(((_6_recipientPublicKeyLengthIndex).Plus(_dafny.IntOfInt64(4))).Cmp(_dafny.IntOfUint32((_0_providerInfo).Cardinality())) < 0, Companion_Default___.E(_dafny.SeqOfString("Key Provider Info Serialization Error. Serialized length less than expected."))) + _8_valueOrError2 = m_Wrappers.Companion_Default___.Need(((_6_recipientPublicKeyLengthIndex)+(uint64(4))) < (uint64((_0_providerInfo).Cardinality())), Companion_Default___.E(_dafny.SeqOfString("Key Provider Info Serialization Error. Serialized length less than expected."))) if (_8_valueOrError2).IsFailure() { res = (_8_valueOrError2).PropagateFailure() return res } var _9_providerInfoRecipientPublicKey _dafny.Sequence _ = _9_providerInfoRecipientPublicKey - _9_providerInfoRecipientPublicKey = (_0_providerInfo).Subsequence(uint32(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__RPK__INDEX()), (_6_recipientPublicKeyLengthIndex).Uint32()) + _9_providerInfoRecipientPublicKey = (_0_providerInfo).Subsequence(uint32(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__RPK__INDEX()), uint32(_6_recipientPublicKeyLengthIndex)) var _10_providerInfoSenderPublicKey _dafny.Sequence _ = _10_providerInfoSenderPublicKey - _10_providerInfoSenderPublicKey = (_0_providerInfo).Drop((_7_senderPublicKeyIndex).Uint32()) + _10_providerInfoSenderPublicKey = (_0_providerInfo).Drop(uint32(_7_senderPublicKeyIndex)) if ((_this).KeyAgreementScheme()).Is_PublicKeyDiscovery() { res = m_Wrappers.Companion_Result_.Create_Success_(_dafny.Companion_Sequence_.Equal((_this).CompressedRecipientPublicKey(), _9_providerInfoRecipientPublicKey)) return res @@ -1047,154 +1023,147 @@ func (_this *DecryptSingleEncryptedDataKey) Invoke(edk interface{}) interface{} _ = edk var res m_Wrappers.Result = m_Wrappers.Result{} _ = res - var _0_valueOrError0 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() - _ = _0_valueOrError0 - _0_valueOrError0 = m_Wrappers.Companion_Default___.Need(m_UTF8.Companion_Default___.ValidUTF8Seq((edk).Dtor_keyProviderId()), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Received invalid EDK provider id for AWS KMS ECDH Keyring"))) - if (_0_valueOrError0).IsFailure() { - res = (_0_valueOrError0).PropagateFailure() + var _0_suite m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo + _ = _0_suite + _0_suite = ((_this).Materials()).Dtor_algorithmSuite() + var _1_keyProviderId _dafny.Sequence + _ = _1_keyProviderId + _1_keyProviderId = (edk).Dtor_keyProviderId() + var _2_providerInfo _dafny.Sequence + _ = _2_providerInfo + _2_providerInfo = (edk).Dtor_keyProviderInfo() + var _3_ciphertext _dafny.Sequence + _ = _3_ciphertext + _3_ciphertext = (edk).Dtor_ciphertext() + var _4_valueOrError0 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) + _ = _4_valueOrError0 + _4_valueOrError0 = m_EdkWrapping.Companion_Default___.GetProviderWrappedMaterial(_3_ciphertext, _0_suite) + if (_4_valueOrError0).IsFailure() { + res = (_4_valueOrError0).PropagateFailure() return res } - var _1_suite m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo - _ = _1_suite - _1_suite = ((_this).Materials()).Dtor_algorithmSuite() - var _2_keyProviderId _dafny.Sequence - _ = _2_keyProviderId - _2_keyProviderId = (edk).Dtor_keyProviderId() - var _3_providerInfo _dafny.Sequence - _ = _3_providerInfo - _3_providerInfo = (edk).Dtor_keyProviderInfo() - var _4_ciphertext _dafny.Sequence - _ = _4_ciphertext - _4_ciphertext = (edk).Dtor_ciphertext() - var _5_valueOrError1 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) - _ = _5_valueOrError1 - _5_valueOrError1 = m_EdkWrapping.Companion_Default___.GetProviderWrappedMaterial(_4_ciphertext, _1_suite) - if (_5_valueOrError1).IsFailure() { - res = (_5_valueOrError1).PropagateFailure() + var _5_providerWrappedMaterial _dafny.Sequence + _ = _5_providerWrappedMaterial + _5_providerWrappedMaterial = (_4_valueOrError0).Extract().(_dafny.Sequence) + var _6_valueOrError1 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() + _ = _6_valueOrError1 + _6_valueOrError1 = m_Wrappers.Companion_Default___.Need(((uint64((_2_providerInfo).Cardinality())) <= (uint64(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__521__LEN()))) && (Companion_Default___.ValidProviderInfoLength(_2_providerInfo)), Companion_Default___.E(_dafny.SeqOfString("EDK ProviderInfo longer than expected"))) + if (_6_valueOrError1).IsFailure() { + res = (_6_valueOrError1).PropagateFailure() return res } - var _6_providerWrappedMaterial _dafny.Sequence - _ = _6_providerWrappedMaterial - _6_providerWrappedMaterial = (_5_valueOrError1).Extract().(_dafny.Sequence) - var _7_valueOrError2 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() - _ = _7_valueOrError2 - _7_valueOrError2 = m_Wrappers.Companion_Default___.Need(((_dafny.IntOfUint32((_3_providerInfo).Cardinality())).Cmp(_dafny.IntOfUint32(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__521__LEN())) <= 0) && (Companion_Default___.ValidProviderInfoLength(_3_providerInfo)), Companion_Default___.E(_dafny.SeqOfString("EDK ProviderInfo longer than expected"))) - if (_7_valueOrError2).IsFailure() { - res = (_7_valueOrError2).PropagateFailure() - return res - } - var _8_keyringVersion uint8 - _ = _8_keyringVersion - _8_keyringVersion = (_3_providerInfo).Select(0).(uint8) - var _9_valueOrError3 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() - _ = _9_valueOrError3 - _9_valueOrError3 = m_Wrappers.Companion_Default___.Need(_dafny.Companion_Sequence_.Equal(_dafny.SeqOf(_8_keyringVersion), Companion_Default___.RAW__ECDH__KEYRING__VERSION()), Companion_Default___.E(_dafny.SeqOfString("Incorrect Keyring version found in provider info."))) - if (_9_valueOrError3).IsFailure() { - res = (_9_valueOrError3).PropagateFailure() + var _7_keyringVersion uint8 + _ = _7_keyringVersion + _7_keyringVersion = (_2_providerInfo).Select(uint32(uint32(0))).(uint8) + var _8_valueOrError2 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() + _ = _8_valueOrError2 + _8_valueOrError2 = m_Wrappers.Companion_Default___.Need(_dafny.Companion_Sequence_.Equal(_dafny.SeqOf(_7_keyringVersion), Companion_Default___.RAW__ECDH__KEYRING__VERSION()), Companion_Default___.E(_dafny.SeqOfString("Incorrect Keyring version found in provider info."))) + if (_8_valueOrError2).IsFailure() { + res = (_8_valueOrError2).PropagateFailure() return res } - var _10_recipientPublicKeyLength _dafny.Int - _ = _10_recipientPublicKeyLength - _10_recipientPublicKeyLength = _dafny.IntOfUint32(m_StandardLibrary_UInt.Companion_Default___.SeqToUInt32((_3_providerInfo).Subsequence(uint32(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__RPL__INDEX()), uint32(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__RPK__INDEX())))) - var _11_recipientPublicKeyLengthIndex _dafny.Int - _ = _11_recipientPublicKeyLengthIndex - _11_recipientPublicKeyLengthIndex = (_dafny.IntOfUint32(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__RPK__INDEX())).Plus(_10_recipientPublicKeyLength) - var _12_senderPublicKeyIndex _dafny.Int - _ = _12_senderPublicKeyIndex - _12_senderPublicKeyIndex = (_11_recipientPublicKeyLengthIndex).Plus(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__PUBLIC__KEY__LEN()) - var _13_valueOrError4 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() - _ = _13_valueOrError4 - _13_valueOrError4 = m_Wrappers.Companion_Default___.Need(((_11_recipientPublicKeyLengthIndex).Plus(_dafny.IntOfInt64(4))).Cmp(_dafny.IntOfUint32((_3_providerInfo).Cardinality())) < 0, Companion_Default___.E(_dafny.SeqOfString("Key Provider Info Serialization Error. Serialized length less than expected."))) - if (_13_valueOrError4).IsFailure() { - res = (_13_valueOrError4).PropagateFailure() + var _9_recipientPublicKeyLength uint32 + _ = _9_recipientPublicKeyLength + _9_recipientPublicKeyLength = m_StandardLibrary_UInt.Companion_Default___.SeqToUInt32((_2_providerInfo).Subsequence(uint32(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__RPL__INDEX()), uint32(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__RPK__INDEX()))) + var _10_recipientPublicKeyLengthIndex uint64 + _ = _10_recipientPublicKeyLengthIndex + _10_recipientPublicKeyLengthIndex = (uint64(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__RPK__INDEX())) + (uint64(_9_recipientPublicKeyLength)) + var _11_senderPublicKeyIndex uint64 + _ = _11_senderPublicKeyIndex + _11_senderPublicKeyIndex = (_10_recipientPublicKeyLengthIndex) + (m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__PUBLIC__KEY__LEN()) + var _12_valueOrError3 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() + _ = _12_valueOrError3 + _12_valueOrError3 = m_Wrappers.Companion_Default___.Need(((_10_recipientPublicKeyLengthIndex)+(uint64(4))) < (uint64((_2_providerInfo).Cardinality())), Companion_Default___.E(_dafny.SeqOfString("Key Provider Info Serialization Error. Serialized length less than expected."))) + if (_12_valueOrError3).IsFailure() { + res = (_12_valueOrError3).PropagateFailure() return res } - var _14_providerInfoRecipientPublicKey _dafny.Sequence - _ = _14_providerInfoRecipientPublicKey - _14_providerInfoRecipientPublicKey = (_3_providerInfo).Subsequence(uint32(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__RPK__INDEX()), (_11_recipientPublicKeyLengthIndex).Uint32()) - var _15_providerInfoSenderPublicKey _dafny.Sequence - _ = _15_providerInfoSenderPublicKey - _15_providerInfoSenderPublicKey = (_3_providerInfo).Drop((_12_senderPublicKeyIndex).Uint32()) - var _16_valueOrError5 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) - _ = _16_valueOrError5 + var _13_providerInfoRecipientPublicKey _dafny.Sequence + _ = _13_providerInfoRecipientPublicKey + _13_providerInfoRecipientPublicKey = (_2_providerInfo).Subsequence(uint32(m_Constants.Companion_Default___.ECDH__PROVIDER__INFO__RPK__INDEX()), uint32(_10_recipientPublicKeyLengthIndex)) + var _14_providerInfoSenderPublicKey _dafny.Sequence + _ = _14_providerInfoSenderPublicKey + _14_providerInfoSenderPublicKey = (_2_providerInfo).Drop(uint32(_11_senderPublicKeyIndex)) + var _15_valueOrError4 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) + _ = _15_valueOrError4 var _out0 m_Wrappers.Result _ = _out0 - _out0 = Companion_Default___.DecompressPublicKey(_15_providerInfoSenderPublicKey, (_this).CurveSpec(), (_this).CryptoPrimitives()) - _16_valueOrError5 = _out0 - if (_16_valueOrError5).IsFailure() { - res = (_16_valueOrError5).PropagateFailure() + _out0 = Companion_Default___.DecompressPublicKey(_14_providerInfoSenderPublicKey, (_this).CurveSpec(), (_this).CryptoPrimitives()) + _15_valueOrError4 = _out0 + if (_15_valueOrError4).IsFailure() { + res = (_15_valueOrError4).PropagateFailure() return res } - var _17_senderPublicKey _dafny.Sequence - _ = _17_senderPublicKey - _17_senderPublicKey = (_16_valueOrError5).Extract().(_dafny.Sequence) - var _18_valueOrError6 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) - _ = _18_valueOrError6 + var _16_senderPublicKey _dafny.Sequence + _ = _16_senderPublicKey + _16_senderPublicKey = (_15_valueOrError4).Extract().(_dafny.Sequence) + var _17_valueOrError5 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) + _ = _17_valueOrError5 var _out1 m_Wrappers.Result _ = _out1 - _out1 = Companion_Default___.DecompressPublicKey(_14_providerInfoRecipientPublicKey, (_this).CurveSpec(), (_this).CryptoPrimitives()) - _18_valueOrError6 = _out1 - if (_18_valueOrError6).IsFailure() { - res = (_18_valueOrError6).PropagateFailure() + _out1 = Companion_Default___.DecompressPublicKey(_13_providerInfoRecipientPublicKey, (_this).CurveSpec(), (_this).CryptoPrimitives()) + _17_valueOrError5 = _out1 + if (_17_valueOrError5).IsFailure() { + res = (_17_valueOrError5).PropagateFailure() return res } - var _19_recipientPublicKey _dafny.Sequence - _ = _19_recipientPublicKey - _19_recipientPublicKey = (_18_valueOrError6).Extract().(_dafny.Sequence) - var _20_valueOrError7 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(false) - _ = _20_valueOrError7 + var _18_recipientPublicKey _dafny.Sequence + _ = _18_recipientPublicKey + _18_recipientPublicKey = (_17_valueOrError5).Extract().(_dafny.Sequence) + var _19_valueOrError6 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(false) + _ = _19_valueOrError6 var _out2 m_Wrappers.Result _ = _out2 - _out2 = Companion_Default___.ValidatePublicKey((_this).CryptoPrimitives(), (_this).CurveSpec(), _17_senderPublicKey) - _20_valueOrError7 = _out2 - if (_20_valueOrError7).IsFailure() { - res = (_20_valueOrError7).PropagateFailure() + _out2 = Companion_Default___.ValidatePublicKey((_this).CryptoPrimitives(), (_this).CurveSpec(), _16_senderPublicKey) + _19_valueOrError6 = _out2 + if (_19_valueOrError6).IsFailure() { + res = (_19_valueOrError6).PropagateFailure() return res } - var _21___v0 bool - _ = _21___v0 - _21___v0 = (_20_valueOrError7).Extract().(bool) - var _22_valueOrError8 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(false) - _ = _22_valueOrError8 + var _20___v0 bool + _ = _20___v0 + _20___v0 = (_19_valueOrError6).Extract().(bool) + var _21_valueOrError7 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(false) + _ = _21_valueOrError7 var _out3 m_Wrappers.Result _ = _out3 - _out3 = Companion_Default___.ValidatePublicKey((_this).CryptoPrimitives(), (_this).CurveSpec(), _19_recipientPublicKey) - _22_valueOrError8 = _out3 - if (_22_valueOrError8).IsFailure() { - res = (_22_valueOrError8).PropagateFailure() + _out3 = Companion_Default___.ValidatePublicKey((_this).CryptoPrimitives(), (_this).CurveSpec(), _18_recipientPublicKey) + _21_valueOrError7 = _out3 + if (_21_valueOrError7).IsFailure() { + res = (_21_valueOrError7).PropagateFailure() return res } - var _23___v1 bool - _ = _23___v1 - _23___v1 = (_22_valueOrError8).Extract().(bool) - var _24_sharedSecretPublicKey _dafny.Sequence = _dafny.EmptySeq - _ = _24_sharedSecretPublicKey - var _25_sharedSecretPrivateKey _dafny.Sequence = _dafny.EmptySeq - _ = _25_sharedSecretPrivateKey + var _22___v1 bool + _ = _22___v1 + _22___v1 = (_21_valueOrError7).Extract().(bool) + var _23_sharedSecretPublicKey _dafny.Sequence = _dafny.EmptySeq + _ = _23_sharedSecretPublicKey + var _24_sharedSecretPrivateKey _dafny.Sequence = _dafny.EmptySeq + _ = _24_sharedSecretPrivateKey var _source0 m_AwsCryptographyMaterialProvidersTypes.RawEcdhStaticConfigurations = (_this).KeyAgreementScheme() _ = _source0 { { if _source0.Is_PublicKeyDiscovery() { - var _26_publicKeyDiscovery m_AwsCryptographyMaterialProvidersTypes.PublicKeyDiscoveryInput = _source0.Get_().(m_AwsCryptographyMaterialProvidersTypes.RawEcdhStaticConfigurations_PublicKeyDiscovery).PublicKeyDiscovery - _ = _26_publicKeyDiscovery + var _25_publicKeyDiscovery m_AwsCryptographyMaterialProvidersTypes.PublicKeyDiscoveryInput = _source0.Get_().(m_AwsCryptographyMaterialProvidersTypes.RawEcdhStaticConfigurations_PublicKeyDiscovery).PublicKeyDiscovery + _ = _25_publicKeyDiscovery { - _24_sharedSecretPublicKey = _17_senderPublicKey - _25_sharedSecretPrivateKey = (_26_publicKeyDiscovery).Dtor_recipientStaticPrivateKey() + _23_sharedSecretPublicKey = _16_senderPublicKey + _24_sharedSecretPrivateKey = (_25_publicKeyDiscovery).Dtor_recipientStaticPrivateKey() } goto Lmatch0 } } { if _source0.Is_RawPrivateKeyToStaticPublicKey() { - var _27_rawPrivateKeyToStaticPublicKey m_AwsCryptographyMaterialProvidersTypes.RawPrivateKeyToStaticPublicKeyInput = _source0.Get_().(m_AwsCryptographyMaterialProvidersTypes.RawEcdhStaticConfigurations_RawPrivateKeyToStaticPublicKey).RawPrivateKeyToStaticPublicKey - _ = _27_rawPrivateKeyToStaticPublicKey + var _26_rawPrivateKeyToStaticPublicKey m_AwsCryptographyMaterialProvidersTypes.RawPrivateKeyToStaticPublicKeyInput = _source0.Get_().(m_AwsCryptographyMaterialProvidersTypes.RawEcdhStaticConfigurations_RawPrivateKeyToStaticPublicKey).RawPrivateKeyToStaticPublicKey + _ = _26_rawPrivateKeyToStaticPublicKey { - _25_sharedSecretPrivateKey = (_27_rawPrivateKeyToStaticPublicKey).Dtor_senderStaticPrivateKey() - if _dafny.Companion_Sequence_.Equal((_27_rawPrivateKeyToStaticPublicKey).Dtor_recipientPublicKey(), _19_recipientPublicKey) { - _24_sharedSecretPublicKey = _19_recipientPublicKey + _24_sharedSecretPrivateKey = (_26_rawPrivateKeyToStaticPublicKey).Dtor_senderStaticPrivateKey() + if _dafny.Companion_Sequence_.Equal((_26_rawPrivateKeyToStaticPublicKey).Dtor_recipientPublicKey(), _18_recipientPublicKey) { + _23_sharedSecretPublicKey = _18_recipientPublicKey } else { - _24_sharedSecretPublicKey = _17_senderPublicKey + _23_sharedSecretPublicKey = _16_senderPublicKey } } goto Lmatch0 @@ -1209,65 +1178,65 @@ func (_this *DecryptSingleEncryptedDataKey) Invoke(edk interface{}) interface{} goto Lmatch0 } Lmatch0: - var _28_valueOrError9 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(false) - _ = _28_valueOrError9 + var _27_valueOrError8 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(false) + _ = _27_valueOrError8 var _out4 m_Wrappers.Result _ = _out4 - _out4 = Companion_Default___.ValidatePublicKey((_this).CryptoPrimitives(), (_this).CurveSpec(), _24_sharedSecretPublicKey) - _28_valueOrError9 = _out4 - if (_28_valueOrError9).IsFailure() { - res = (_28_valueOrError9).PropagateFailure() + _out4 = Companion_Default___.ValidatePublicKey((_this).CryptoPrimitives(), (_this).CurveSpec(), _23_sharedSecretPublicKey) + _27_valueOrError8 = _out4 + if (_27_valueOrError8).IsFailure() { + res = (_27_valueOrError8).PropagateFailure() return res } - var _29___v3 bool - _ = _29___v3 - _29___v3 = (_28_valueOrError9).Extract().(bool) - var _30_valueOrError10 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) - _ = _30_valueOrError10 + var _28___v3 bool + _ = _28___v3 + _28___v3 = (_27_valueOrError8).Extract().(bool) + var _29_valueOrError9 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) + _ = _29_valueOrError9 var _out5 m_Wrappers.Result _ = _out5 - _out5 = Companion_Default___.LocalDeriveSharedSecret(m_AwsCryptographyPrimitivesTypes.Companion_ECCPrivateKey_.Create_ECCPrivateKey_(_25_sharedSecretPrivateKey), m_AwsCryptographyPrimitivesTypes.Companion_ECCPublicKey_.Create_ECCPublicKey_(_24_sharedSecretPublicKey), (_this).CurveSpec(), (_this).CryptoPrimitives()) - _30_valueOrError10 = _out5 - if (_30_valueOrError10).IsFailure() { - res = (_30_valueOrError10).PropagateFailure() + _out5 = Companion_Default___.LocalDeriveSharedSecret(m_AwsCryptographyPrimitivesTypes.Companion_ECCPrivateKey_.Create_ECCPrivateKey_(_24_sharedSecretPrivateKey), m_AwsCryptographyPrimitivesTypes.Companion_ECCPublicKey_.Create_ECCPublicKey_(_23_sharedSecretPublicKey), (_this).CurveSpec(), (_this).CryptoPrimitives()) + _29_valueOrError9 = _out5 + if (_29_valueOrError9).IsFailure() { + res = (_29_valueOrError9).PropagateFailure() return res } - var _31_sharedSecret _dafny.Sequence - _ = _31_sharedSecret - _31_sharedSecret = (_30_valueOrError10).Extract().(_dafny.Sequence) - var _32_ecdhUnwrap *m_EcdhEdkWrapping.EcdhUnwrap - _ = _32_ecdhUnwrap + var _30_sharedSecret _dafny.Sequence + _ = _30_sharedSecret + _30_sharedSecret = (_29_valueOrError9).Extract().(_dafny.Sequence) + var _31_ecdhUnwrap *m_EcdhEdkWrapping.EcdhUnwrap + _ = _31_ecdhUnwrap var _nw0 *m_EcdhEdkWrapping.EcdhUnwrap = m_EcdhEdkWrapping.New_EcdhUnwrap_() _ = _nw0 - _nw0.Ctor__(_15_providerInfoSenderPublicKey, _14_providerInfoRecipientPublicKey, _31_sharedSecret, Companion_Default___.RAW__ECDH__KEYRING__VERSION(), (_this).CurveSpec(), (_this).CryptoPrimitives()) - _32_ecdhUnwrap = _nw0 - var _33_unwrapOutputRes m_Wrappers.Result - _ = _33_unwrapOutputRes + _nw0.Ctor__(_14_providerInfoSenderPublicKey, _13_providerInfoRecipientPublicKey, _30_sharedSecret, Companion_Default___.RAW__ECDH__KEYRING__VERSION(), (_this).CurveSpec(), (_this).CryptoPrimitives()) + _31_ecdhUnwrap = _nw0 + var _32_unwrapOutputRes m_Wrappers.Result + _ = _32_unwrapOutputRes var _out6 m_Wrappers.Result _ = _out6 - _out6 = m_EdkWrapping.Companion_Default___.UnwrapEdkMaterial((edk).Dtor_ciphertext(), (_this).Materials(), _32_ecdhUnwrap) - _33_unwrapOutputRes = _out6 - var _34_valueOrError11 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_EdkWrapping.Companion_UnwrapEdkMaterialOutput_.Default(m_EcdhEdkWrapping.Companion_EcdhUnwrapInfo_.Default())) - _ = _34_valueOrError11 - _34_valueOrError11 = _33_unwrapOutputRes - if (_34_valueOrError11).IsFailure() { - res = (_34_valueOrError11).PropagateFailure() + _out6 = m_EdkWrapping.Companion_Default___.UnwrapEdkMaterial((edk).Dtor_ciphertext(), (_this).Materials(), _31_ecdhUnwrap) + _32_unwrapOutputRes = _out6 + var _33_valueOrError10 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_EdkWrapping.Companion_UnwrapEdkMaterialOutput_.Default(m_EcdhEdkWrapping.Companion_EcdhUnwrapInfo_.Default())) + _ = _33_valueOrError10 + _33_valueOrError10 = _32_unwrapOutputRes + if (_33_valueOrError10).IsFailure() { + res = (_33_valueOrError10).PropagateFailure() return res } - var _35_unwrapOutput m_EdkWrapping.UnwrapEdkMaterialOutput - _ = _35_unwrapOutput - _35_unwrapOutput = (_34_valueOrError11).Extract().(m_EdkWrapping.UnwrapEdkMaterialOutput) - var _36_valueOrError12 m_Wrappers.Result = m_Wrappers.Result{} - _ = _36_valueOrError12 - _36_valueOrError12 = m_Materials.Companion_Default___.DecryptionMaterialsAddDataKey((_this).Materials(), (_35_unwrapOutput).Dtor_plaintextDataKey(), (_35_unwrapOutput).Dtor_symmetricSigningKey()) - if (_36_valueOrError12).IsFailure() { - res = (_36_valueOrError12).PropagateFailure() + var _34_unwrapOutput m_EdkWrapping.UnwrapEdkMaterialOutput + _ = _34_unwrapOutput + _34_unwrapOutput = (_33_valueOrError10).Extract().(m_EdkWrapping.UnwrapEdkMaterialOutput) + var _35_valueOrError11 m_Wrappers.Result = m_Wrappers.Result{} + _ = _35_valueOrError11 + _35_valueOrError11 = m_Materials.Companion_Default___.DecryptionMaterialsAddDataKey((_this).Materials(), (_34_unwrapOutput).Dtor_plaintextDataKey(), (_34_unwrapOutput).Dtor_symmetricSigningKey()) + if (_35_valueOrError11).IsFailure() { + res = (_35_valueOrError11).PropagateFailure() return res } - var _37_result m_AwsCryptographyMaterialProvidersTypes.DecryptionMaterials - _ = _37_result - _37_result = (_36_valueOrError12).Extract().(m_AwsCryptographyMaterialProvidersTypes.DecryptionMaterials) - res = m_Wrappers.Companion_Result_.Create_Success_(_37_result) + var _36_result m_AwsCryptographyMaterialProvidersTypes.DecryptionMaterials + _ = _36_result + _36_result = (_35_valueOrError11).Extract().(m_AwsCryptographyMaterialProvidersTypes.DecryptionMaterials) + res = m_Wrappers.Companion_Result_.Create_Success_(_36_result) return res return res } diff --git a/releases/go/mpl/RawRSAKeyring/RawRSAKeyring.go b/releases/go/mpl/RawRSAKeyring/RawRSAKeyring.go index 9643a4f7c8..a85d70f36f 100644 --- a/releases/go/mpl/RawRSAKeyring/RawRSAKeyring.go +++ b/releases/go/mpl/RawRSAKeyring/RawRSAKeyring.go @@ -15,23 +15,13 @@ import ( m_AwsCryptographyKeyStoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreOperations" m_AwsCryptographyKeyStoreTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreTypes" m_AwsCryptographyMaterialProvidersTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" - m_AwsKmsDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsDiscoveryKeyring" - m_AwsKmsEcdhKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsEcdhKeyring" - m_AwsKmsHierarchicalKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsHierarchicalKeyring" - m_AwsKmsKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsKeyring" - m_AwsKmsMrkAreUnique "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkAreUnique" - m_AwsKmsMrkDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkDiscoveryKeyring" - m_AwsKmsMrkKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkKeyring" m_AwsKmsMrkMatchForDecrypt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkMatchForDecrypt" - m_AwsKmsRsaKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsRsaKeyring" m_AwsKmsUtils "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsUtils" - m_CacheConstants "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CacheConstants" m_CanonicalEncryptionContext "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CanonicalEncryptionContext" m_Constants "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Constants" m_CreateKeyStoreTable "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeyStoreTable" m_CreateKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeys" m_DDBKeystoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DDBKeystoreOperations" - m_DiscoveryMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DiscoveryMultiKeyring" m_EcdhEdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EcdhEdkWrapping" m_EdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EdkWrapping" m_ErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/ErrorMessages" @@ -42,19 +32,11 @@ import ( m_KeyStoreErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KeyStoreErrorMessages" m_Keyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Keyring" m_KmsArn "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KmsArn" - m_LocalCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/LocalCMC" m_MaterialWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MaterialWrapping" m_Materials "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Materials" - m_MrkAwareDiscoveryMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MrkAwareDiscoveryMultiKeyring" - m_MrkAwareStrictMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MrkAwareStrictMultiKeyring" - m_MultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MultiKeyring" m_RawAESKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawAESKeyring" m_RawECDHKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawECDHKeyring" - m_StormTracker "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StormTracker" - m_StormTrackingCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StormTrackingCMC" - m_StrictMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StrictMultiKeyring" m_Structure "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Structure" - m_SynchronizedLocalCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/SynchronizedLocalCMC" m_AtomicPrimitives "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AtomicPrimitives" m_AwsCryptographyPrimitivesOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesOperations" m_AwsCryptographyPrimitivesTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesTypes" @@ -91,6 +73,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -111,6 +94,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -175,55 +159,41 @@ var _ m_KeyStore.Dummy__ var _ m_AlgorithmSuites.Dummy__ var _ m_Materials.Dummy__ var _ m_Keyring.Dummy__ -var _ m_MultiKeyring.Dummy__ -var _ m_AwsKmsMrkAreUnique.Dummy__ -var _ m_Constants.Dummy__ -var _ m_MaterialWrapping.Dummy__ var _ m_CanonicalEncryptionContext.Dummy__ +var _ m_MaterialWrapping.Dummy__ var _ m_IntermediateKeyWrapping.Dummy__ var _ m_EdkWrapping.Dummy__ var _ m_ErrorMessages.Dummy__ -var _ m_AwsKmsKeyring.Dummy__ -var _ m_StrictMultiKeyring.Dummy__ -var _ m_AwsKmsDiscoveryKeyring.Dummy__ -var _ m_DiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkDiscoveryKeyring.Dummy__ -var _ m_MrkAwareDiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkKeyring.Dummy__ -var _ m_MrkAwareStrictMultiKeyring.Dummy__ -var _ m_LocalCMC.Dummy__ -var _ m_SynchronizedLocalCMC.Dummy__ -var _ m_StormTracker.Dummy__ -var _ m_StormTrackingCMC.Dummy__ -var _ m_CacheConstants.Dummy__ -var _ m_AwsKmsHierarchicalKeyring.Dummy__ -var _ m_AwsKmsRsaKeyring.Dummy__ +var _ m_RawAESKeyring.Dummy__ +var _ m_Constants.Dummy__ var _ m_EcdhEdkWrapping.Dummy__ var _ m_RawECDHKeyring.Dummy__ -var _ m_AwsKmsEcdhKeyring.Dummy__ -var _ m_RawAESKeyring.Dummy__ type Dummy__ struct{} // Definition of class RawRSAKeyring type RawRSAKeyring struct { - _cryptoPrimitives *m_AtomicPrimitives.AtomicPrimitivesClient - _keyNamespace _dafny.Sequence - _keyName _dafny.Sequence - _paddingScheme m_AwsCryptographyPrimitivesTypes.RSAPaddingMode - _publicKey m_Wrappers.Option - _privateKey m_Wrappers.Option + _cryptoPrimitives *m_AtomicPrimitives.AtomicPrimitivesClient + _privateKeyMaterial m_Wrappers.Option + _publicKeyMaterial m_Wrappers.Option + _publicKey m_Wrappers.Option + _privateKey m_Wrappers.Option + _keyNamespace _dafny.Sequence + _keyName _dafny.Sequence + _paddingScheme m_AwsCryptographyPrimitivesTypes.RSAPaddingMode } func New_RawRSAKeyring_() *RawRSAKeyring { _this := RawRSAKeyring{} _this._cryptoPrimitives = (*m_AtomicPrimitives.AtomicPrimitivesClient)(nil) + _this._privateKeyMaterial = m_Wrappers.Companion_Option_.Default() + _this._publicKeyMaterial = m_Wrappers.Companion_Option_.Default() + _this._publicKey = m_Wrappers.Companion_Option_.Default() + _this._privateKey = m_Wrappers.Companion_Option_.Default() _this._keyNamespace = m_UTF8.Companion_ValidUTF8Bytes_.Witness() _this._keyName = m_UTF8.Companion_ValidUTF8Bytes_.Witness() _this._paddingScheme = m_AwsCryptographyPrimitivesTypes.Companion_RSAPaddingMode_.Default() - _this._publicKey = m_Wrappers.Companion_Option_.Default() - _this._privateKey = m_Wrappers.Companion_Option_.Default() return &_this } @@ -268,16 +238,16 @@ var _ m_AwsCryptographyMaterialProvidersTypes.IKeyring = &RawRSAKeyring{} var _ _dafny.TraitOffspring = &RawRSAKeyring{} func (_this *RawRSAKeyring) OnDecrypt(input m_AwsCryptographyMaterialProvidersTypes.OnDecryptInput) m_Wrappers.Result { - var _out11 m_Wrappers.Result - _ = _out11 - _out11 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnDecrypt(_this, input) - return _out11 + var _out3 m_Wrappers.Result + _ = _out3 + _out3 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnDecrypt(_this, input) + return _out3 } func (_this *RawRSAKeyring) OnEncrypt(input m_AwsCryptographyMaterialProvidersTypes.OnEncryptInput) m_Wrappers.Result { - var _out11 m_Wrappers.Result - _ = _out11 - _out11 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnEncrypt(_this, input) - return _out11 + var _out3 m_Wrappers.Result + _ = _out3 + _out3 = m_AwsCryptographyMaterialProvidersTypes.Companion_IKeyring_.OnEncrypt(_this, input) + return _out3 } func (_this *RawRSAKeyring) Ctor__(namespace _dafny.Sequence, name _dafny.Sequence, publicKey m_Wrappers.Option, privateKey m_Wrappers.Option, paddingScheme m_AwsCryptographyPrimitivesTypes.RSAPaddingMode, cryptoPrimitives *m_AtomicPrimitives.AtomicPrimitivesClient) { { @@ -287,6 +257,42 @@ func (_this *RawRSAKeyring) Ctor__(namespace _dafny.Sequence, name _dafny.Sequen (_this)._publicKey = publicKey (_this)._privateKey = privateKey (_this)._cryptoPrimitives = cryptoPrimitives + var _0_localPrivateKeyMaterial m_Wrappers.Option + _ = _0_localPrivateKeyMaterial + _0_localPrivateKeyMaterial = m_Wrappers.Companion_Option_.Create_None_() + if (privateKey).Is_Some() { + var _1_extract _dafny.Sequence + _ = _1_extract + _1_extract = (privateKey).Extract().(_dafny.Sequence) + if (uint64((_1_extract).Cardinality())) > (uint64(0)) { + var _2_unwrap *RsaUnwrapKeyMaterial + _ = _2_unwrap + var _nw0 *RsaUnwrapKeyMaterial = New_RsaUnwrapKeyMaterial_() + _ = _nw0 + _nw0.Ctor__(_1_extract, paddingScheme, cryptoPrimitives) + _2_unwrap = _nw0 + _0_localPrivateKeyMaterial = m_Wrappers.Companion_Option_.Create_Some_(_2_unwrap) + } + } + var _3_localPublicKeyMaterial m_Wrappers.Option + _ = _3_localPublicKeyMaterial + _3_localPublicKeyMaterial = m_Wrappers.Companion_Option_.Create_None_() + if (publicKey).Is_Some() { + var _4_extract _dafny.Sequence + _ = _4_extract + _4_extract = (publicKey).Extract().(_dafny.Sequence) + if (uint64((_4_extract).Cardinality())) > (uint64(0)) { + var _5_wrap *RsaWrapKeyMaterial + _ = _5_wrap + var _nw1 *RsaWrapKeyMaterial = New_RsaWrapKeyMaterial_() + _ = _nw1 + _nw1.Ctor__(_4_extract, paddingScheme, cryptoPrimitives) + _5_wrap = _nw1 + _3_localPublicKeyMaterial = m_Wrappers.Companion_Option_.Create_Some_(_5_wrap) + } + } + (_this)._publicKeyMaterial = _3_localPublicKeyMaterial + (_this)._privateKeyMaterial = _0_localPrivateKeyMaterial } } func (_this *RawRSAKeyring) OnEncrypt_k(input m_AwsCryptographyMaterialProvidersTypes.OnEncryptInput) m_Wrappers.Result { @@ -295,7 +301,7 @@ func (_this *RawRSAKeyring) OnEncrypt_k(input m_AwsCryptographyMaterialProviders _ = output var _0_valueOrError0 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _0_valueOrError0 - _0_valueOrError0 = m_Wrappers.Companion_Default___.Need((((_this).PublicKey()).Is_Some()) && ((_dafny.IntOfUint32((((_this).PublicKey()).Extract().(_dafny.Sequence)).Cardinality())).Sign() == 1), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("A RawRSAKeyring without a public key cannot provide OnEncrypt"))) + _0_valueOrError0 = m_Wrappers.Companion_Default___.Need(((_this).PublicKeyMaterial()).Is_Some(), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("A RawRSAKeyring without a public key cannot provide OnEncrypt"))) if (_0_valueOrError0).IsFailure() { output = (_0_valueOrError0).PropagateFailure() return output @@ -306,66 +312,60 @@ func (_this *RawRSAKeyring) OnEncrypt_k(input m_AwsCryptographyMaterialProviders var _2_suite m_AwsCryptographyMaterialProvidersTypes.AlgorithmSuiteInfo _ = _2_suite _2_suite = (_1_materials).Dtor_algorithmSuite() - var _3_wrap *RsaWrapKeyMaterial - _ = _3_wrap - var _nw0 *RsaWrapKeyMaterial = New_RsaWrapKeyMaterial_() + var _3_generateAndWrap *RsaGenerateAndWrapKeyMaterial + _ = _3_generateAndWrap + var _nw0 *RsaGenerateAndWrapKeyMaterial = New_RsaGenerateAndWrapKeyMaterial_() _ = _nw0 _nw0.Ctor__(((_this).PublicKey()).Dtor_value().(_dafny.Sequence), (_this).PaddingScheme(), (_this).CryptoPrimitives()) - _3_wrap = _nw0 - var _4_generateAndWrap *RsaGenerateAndWrapKeyMaterial - _ = _4_generateAndWrap - var _nw1 *RsaGenerateAndWrapKeyMaterial = New_RsaGenerateAndWrapKeyMaterial_() - _ = _nw1 - _nw1.Ctor__(((_this).PublicKey()).Dtor_value().(_dafny.Sequence), (_this).PaddingScheme(), (_this).CryptoPrimitives()) - _4_generateAndWrap = _nw1 - var _5_valueOrError1 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_EdkWrapping.Companion_WrapEdkMaterialOutput_.Default(Companion_RsaWrapInfo_.Default())) - _ = _5_valueOrError1 + _3_generateAndWrap = _nw0 + var _4_valueOrError1 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_EdkWrapping.Companion_WrapEdkMaterialOutput_.Default(Companion_RsaWrapInfo_.Default())) + _ = _4_valueOrError1 var _out0 m_Wrappers.Result _ = _out0 - _out0 = m_EdkWrapping.Companion_Default___.WrapEdkMaterial(_1_materials, _3_wrap, _4_generateAndWrap) - _5_valueOrError1 = _out0 - if (_5_valueOrError1).IsFailure() { - output = (_5_valueOrError1).PropagateFailure() + _out0 = m_EdkWrapping.Companion_Default___.WrapEdkMaterial(_1_materials, ((_this).PublicKeyMaterial()).Dtor_value().(*RsaWrapKeyMaterial), _3_generateAndWrap) + _4_valueOrError1 = _out0 + if (_4_valueOrError1).IsFailure() { + output = (_4_valueOrError1).PropagateFailure() return output } - var _6_wrapOutput m_EdkWrapping.WrapEdkMaterialOutput - _ = _6_wrapOutput - _6_wrapOutput = (_5_valueOrError1).Extract().(m_EdkWrapping.WrapEdkMaterialOutput) - var _7_symmetricSigningKeyList m_Wrappers.Option - _ = _7_symmetricSigningKeyList - if ((_6_wrapOutput).Dtor_symmetricSigningKey()).Is_Some() { - _7_symmetricSigningKeyList = m_Wrappers.Companion_Option_.Create_Some_(_dafny.SeqOf(((_6_wrapOutput).Dtor_symmetricSigningKey()).Dtor_value().(_dafny.Sequence))) + var _5_wrapOutput m_EdkWrapping.WrapEdkMaterialOutput + _ = _5_wrapOutput + _5_wrapOutput = (_4_valueOrError1).Extract().(m_EdkWrapping.WrapEdkMaterialOutput) + var _6_symmetricSigningKeyList m_Wrappers.Option + _ = _6_symmetricSigningKeyList + if ((_5_wrapOutput).Dtor_symmetricSigningKey()).Is_Some() { + _6_symmetricSigningKeyList = m_Wrappers.Companion_Option_.Create_Some_(_dafny.SeqOf(((_5_wrapOutput).Dtor_symmetricSigningKey()).Dtor_value().(_dafny.Sequence))) } else { - _7_symmetricSigningKeyList = m_Wrappers.Companion_Option_.Create_None_() + _6_symmetricSigningKeyList = m_Wrappers.Companion_Option_.Create_None_() } - var _8_edk m_AwsCryptographyMaterialProvidersTypes.EncryptedDataKey - _ = _8_edk - _8_edk = m_AwsCryptographyMaterialProvidersTypes.Companion_EncryptedDataKey_.Create_EncryptedDataKey_((_this).KeyNamespace(), (_this).KeyName(), (_6_wrapOutput).Dtor_wrappedMaterial()) - if (_6_wrapOutput).Is_GenerateAndWrapEdkMaterialOutput() { - var _9_valueOrError2 m_Wrappers.Result = m_Wrappers.Result{} - _ = _9_valueOrError2 - _9_valueOrError2 = m_Materials.Companion_Default___.EncryptionMaterialAddDataKey(_1_materials, (_6_wrapOutput).Dtor_plaintextDataKey(), _dafny.SeqOf(_8_edk), _7_symmetricSigningKeyList) - if (_9_valueOrError2).IsFailure() { - output = (_9_valueOrError2).PropagateFailure() + var _7_edk m_AwsCryptographyMaterialProvidersTypes.EncryptedDataKey + _ = _7_edk + _7_edk = m_AwsCryptographyMaterialProvidersTypes.Companion_EncryptedDataKey_.Create_EncryptedDataKey_((_this).KeyNamespace(), (_this).KeyName(), (_5_wrapOutput).Dtor_wrappedMaterial()) + if (_5_wrapOutput).Is_GenerateAndWrapEdkMaterialOutput() { + var _8_valueOrError2 m_Wrappers.Result = m_Wrappers.Result{} + _ = _8_valueOrError2 + _8_valueOrError2 = m_Materials.Companion_Default___.EncryptionMaterialAddDataKey(_1_materials, (_5_wrapOutput).Dtor_plaintextDataKey(), _dafny.SeqOf(_7_edk), _6_symmetricSigningKeyList) + if (_8_valueOrError2).IsFailure() { + output = (_8_valueOrError2).PropagateFailure() return output } - var _10_result m_AwsCryptographyMaterialProvidersTypes.EncryptionMaterials - _ = _10_result - _10_result = (_9_valueOrError2).Extract().(m_AwsCryptographyMaterialProvidersTypes.EncryptionMaterials) - output = m_Wrappers.Companion_Result_.Create_Success_(m_AwsCryptographyMaterialProvidersTypes.Companion_OnEncryptOutput_.Create_OnEncryptOutput_(_10_result)) + var _9_result m_AwsCryptographyMaterialProvidersTypes.EncryptionMaterials + _ = _9_result + _9_result = (_8_valueOrError2).Extract().(m_AwsCryptographyMaterialProvidersTypes.EncryptionMaterials) + output = m_Wrappers.Companion_Result_.Create_Success_(m_AwsCryptographyMaterialProvidersTypes.Companion_OnEncryptOutput_.Create_OnEncryptOutput_(_9_result)) return output - } else if (_6_wrapOutput).Is_WrapOnlyEdkMaterialOutput() { - var _11_valueOrError3 m_Wrappers.Result = m_Wrappers.Result{} - _ = _11_valueOrError3 - _11_valueOrError3 = m_Materials.Companion_Default___.EncryptionMaterialAddEncryptedDataKeys(_1_materials, _dafny.SeqOf(_8_edk), _7_symmetricSigningKeyList) - if (_11_valueOrError3).IsFailure() { - output = (_11_valueOrError3).PropagateFailure() + } else if (_5_wrapOutput).Is_WrapOnlyEdkMaterialOutput() { + var _10_valueOrError3 m_Wrappers.Result = m_Wrappers.Result{} + _ = _10_valueOrError3 + _10_valueOrError3 = m_Materials.Companion_Default___.EncryptionMaterialAddEncryptedDataKeys(_1_materials, _dafny.SeqOf(_7_edk), _6_symmetricSigningKeyList) + if (_10_valueOrError3).IsFailure() { + output = (_10_valueOrError3).PropagateFailure() return output } - var _12_result m_AwsCryptographyMaterialProvidersTypes.EncryptionMaterials - _ = _12_result - _12_result = (_11_valueOrError3).Extract().(m_AwsCryptographyMaterialProvidersTypes.EncryptionMaterials) - output = m_Wrappers.Companion_Result_.Create_Success_(m_AwsCryptographyMaterialProvidersTypes.Companion_OnEncryptOutput_.Create_OnEncryptOutput_(_12_result)) + var _11_result m_AwsCryptographyMaterialProvidersTypes.EncryptionMaterials + _ = _11_result + _11_result = (_10_valueOrError3).Extract().(m_AwsCryptographyMaterialProvidersTypes.EncryptionMaterials) + output = m_Wrappers.Companion_Result_.Create_Success_(m_AwsCryptographyMaterialProvidersTypes.Companion_OnEncryptOutput_.Create_OnEncryptOutput_(_11_result)) return output } return output @@ -377,7 +377,7 @@ func (_this *RawRSAKeyring) OnDecrypt_k(input m_AwsCryptographyMaterialProviders _ = output var _0_valueOrError0 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _0_valueOrError0 - _0_valueOrError0 = m_Wrappers.Companion_Default___.Need((((_this).PrivateKey()).Is_Some()) && ((_dafny.IntOfUint32((((_this).PrivateKey()).Extract().(_dafny.Sequence)).Cardinality())).Sign() == 1), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("A RawRSAKeyring without a private key cannot provide OnEncrypt"))) + _0_valueOrError0 = m_Wrappers.Companion_Default___.Need(((_this).PrivateKeyMaterial()).Is_Some(), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("A RawRSAKeyring without a private key cannot provide OnEncrypt"))) if (_0_valueOrError0).IsFailure() { output = (_0_valueOrError0).PropagateFailure() return output @@ -395,69 +395,63 @@ func (_this *RawRSAKeyring) OnDecrypt_k(input m_AwsCryptographyMaterialProviders var _3_errors _dafny.Sequence _ = _3_errors _3_errors = _dafny.SeqOf() - var _hi0 _dafny.Int = _dafny.IntOfUint32(((input).Dtor_encryptedDataKeys()).Cardinality()) + var _hi0 uint64 = uint64(((input).Dtor_encryptedDataKeys()).Cardinality()) _ = _hi0 - for _4_i := _dafny.Zero; _4_i.Cmp(_hi0) < 0; _4_i = _4_i.Plus(_dafny.One) { - if (_this).ShouldDecryptEDK(((input).Dtor_encryptedDataKeys()).Select((_4_i).Uint32()).(m_AwsCryptographyMaterialProvidersTypes.EncryptedDataKey)) { + for _4_i := uint64(0); _4_i < _hi0; _4_i++ { + if (_this).ShouldDecryptEDK(((input).Dtor_encryptedDataKeys()).Select(uint32(_4_i)).(m_AwsCryptographyMaterialProvidersTypes.EncryptedDataKey)) { var _5_edk m_AwsCryptographyMaterialProvidersTypes.EncryptedDataKey _ = _5_edk - _5_edk = ((input).Dtor_encryptedDataKeys()).Select((_4_i).Uint32()).(m_AwsCryptographyMaterialProvidersTypes.EncryptedDataKey) - var _6_unwrap *RsaUnwrapKeyMaterial - _ = _6_unwrap - var _nw0 *RsaUnwrapKeyMaterial = New_RsaUnwrapKeyMaterial_() - _ = _nw0 - _nw0.Ctor__(((_this).PrivateKey()).Extract().(_dafny.Sequence), (_this).PaddingScheme(), (_this).CryptoPrimitives()) - _6_unwrap = _nw0 - var _7_unwrapOutput m_Wrappers.Result - _ = _7_unwrapOutput + _5_edk = ((input).Dtor_encryptedDataKeys()).Select(uint32(_4_i)).(m_AwsCryptographyMaterialProvidersTypes.EncryptedDataKey) + var _6_unwrapOutput m_Wrappers.Result + _ = _6_unwrapOutput var _out0 m_Wrappers.Result _ = _out0 - _out0 = m_EdkWrapping.Companion_Default___.UnwrapEdkMaterial((_5_edk).Dtor_ciphertext(), _1_materials, _6_unwrap) - _7_unwrapOutput = _out0 - if (_7_unwrapOutput).Is_Success() { - var _8_valueOrError2 m_Wrappers.Result = m_Wrappers.Result{} - _ = _8_valueOrError2 - _8_valueOrError2 = m_Materials.Companion_Default___.DecryptionMaterialsAddDataKey(_1_materials, ((_7_unwrapOutput).Dtor_value().(m_EdkWrapping.UnwrapEdkMaterialOutput)).Dtor_plaintextDataKey(), ((_7_unwrapOutput).Dtor_value().(m_EdkWrapping.UnwrapEdkMaterialOutput)).Dtor_symmetricSigningKey()) - if (_8_valueOrError2).IsFailure() { - output = (_8_valueOrError2).PropagateFailure() + _out0 = m_EdkWrapping.Companion_Default___.UnwrapEdkMaterial((_5_edk).Dtor_ciphertext(), _1_materials, ((_this).PrivateKeyMaterial()).Dtor_value().(*RsaUnwrapKeyMaterial)) + _6_unwrapOutput = _out0 + if (_6_unwrapOutput).Is_Success() { + var _7_valueOrError2 m_Wrappers.Result = m_Wrappers.Result{} + _ = _7_valueOrError2 + _7_valueOrError2 = m_Materials.Companion_Default___.DecryptionMaterialsAddDataKey(_1_materials, ((_6_unwrapOutput).Dtor_value().(m_EdkWrapping.UnwrapEdkMaterialOutput)).Dtor_plaintextDataKey(), ((_6_unwrapOutput).Dtor_value().(m_EdkWrapping.UnwrapEdkMaterialOutput)).Dtor_symmetricSigningKey()) + if (_7_valueOrError2).IsFailure() { + output = (_7_valueOrError2).PropagateFailure() return output } - var _9_returnMaterials m_AwsCryptographyMaterialProvidersTypes.DecryptionMaterials - _ = _9_returnMaterials - _9_returnMaterials = (_8_valueOrError2).Extract().(m_AwsCryptographyMaterialProvidersTypes.DecryptionMaterials) - output = m_Wrappers.Companion_Result_.Create_Success_(m_AwsCryptographyMaterialProvidersTypes.Companion_OnDecryptOutput_.Create_OnDecryptOutput_(_9_returnMaterials)) + var _8_returnMaterials m_AwsCryptographyMaterialProvidersTypes.DecryptionMaterials + _ = _8_returnMaterials + _8_returnMaterials = (_7_valueOrError2).Extract().(m_AwsCryptographyMaterialProvidersTypes.DecryptionMaterials) + output = m_Wrappers.Companion_Result_.Create_Success_(m_AwsCryptographyMaterialProvidersTypes.Companion_OnDecryptOutput_.Create_OnDecryptOutput_(_8_returnMaterials)) return output } else { - _3_errors = _dafny.Companion_Sequence_.Concatenate(_3_errors, _dafny.SeqOf((_7_unwrapOutput).Dtor_error().(m_AwsCryptographyMaterialProvidersTypes.Error))) + _3_errors = _dafny.Companion_Sequence_.Concatenate(_3_errors, _dafny.SeqOf((_6_unwrapOutput).Dtor_error().(m_AwsCryptographyMaterialProvidersTypes.Error))) } } else { - var _10_valueOrError3 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq.SetString()) - _ = _10_valueOrError3 - _10_valueOrError3 = (m_UTF8.Decode((((input).Dtor_encryptedDataKeys()).Select((_4_i).Uint32()).(m_AwsCryptographyMaterialProvidersTypes.EncryptedDataKey)).Dtor_keyProviderId())).MapFailure(func(coer125 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg126 interface{}) interface{} { - return coer125(arg126.(_dafny.Sequence)) + var _9_valueOrError3 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq.SetString()) + _ = _9_valueOrError3 + _9_valueOrError3 = (m_UTF8.Decode((((input).Dtor_encryptedDataKeys()).Select(uint32(_4_i)).(m_AwsCryptographyMaterialProvidersTypes.EncryptedDataKey)).Dtor_keyProviderId())).MapFailure(func(coer67 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg68 interface{}) interface{} { + return coer67(arg68.(_dafny.Sequence)) } - }(func(_11_e _dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error { - return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_11_e) + }(func(_10_e _dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error { + return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_10_e) })) - if (_10_valueOrError3).IsFailure() { - output = (_10_valueOrError3).PropagateFailure() + if (_9_valueOrError3).IsFailure() { + output = (_9_valueOrError3).PropagateFailure() return output } - var _12_extractedKeyProviderId _dafny.Sequence - _ = _12_extractedKeyProviderId - _12_extractedKeyProviderId = (_10_valueOrError3).Extract().(_dafny.Sequence) - _3_errors = _dafny.Companion_Sequence_.Concatenate(_3_errors, _dafny.SeqOf(m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(m_ErrorMessages.Companion_Default___.IncorrectRawDataKeys(m_StandardLibrary_String.Companion_Default___.Base10Int2String(_4_i), _dafny.SeqOfString("RSAKeyring"), _12_extractedKeyProviderId)))) + var _11_extractedKeyProviderId _dafny.Sequence + _ = _11_extractedKeyProviderId + _11_extractedKeyProviderId = (_9_valueOrError3).Extract().(_dafny.Sequence) + _3_errors = _dafny.Companion_Sequence_.Concatenate(_3_errors, _dafny.SeqOf(m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(m_ErrorMessages.Companion_Default___.IncorrectRawDataKeys(m_StandardLibrary_String.Companion_Default___.Base10Int2String(_dafny.IntOfUint64(_4_i)), _dafny.SeqOfString("RSAKeyring"), _11_extractedKeyProviderId)))) } } - output = m_Wrappers.Companion_Result_.Create_Failure_(m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_CollectionOfErrors_(_3_errors, _dafny.SeqOfString("Raw RSA Key was unable to decrypt any encrypted data key. The list of encountered Exceptions is avaible via `list`."))) + output = m_Wrappers.Companion_Result_.Create_Failure_(m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_CollectionOfErrors_(_3_errors, _dafny.SeqOfString("Raw RSA Key was unable to decrypt any encrypted data key. The list of encountered Exceptions is available via `list`."))) return output return output } } func (_this *RawRSAKeyring) ShouldDecryptEDK(edk m_AwsCryptographyMaterialProvidersTypes.EncryptedDataKey) bool { { - return (((m_UTF8.Companion_Default___.ValidUTF8Seq((edk).Dtor_keyProviderInfo())) && (_dafny.Companion_Sequence_.Equal((edk).Dtor_keyProviderInfo(), (_this).KeyName()))) && (_dafny.Companion_Sequence_.Equal((edk).Dtor_keyProviderId(), (_this).KeyNamespace()))) && ((_dafny.IntOfUint32(((edk).Dtor_ciphertext()).Cardinality())).Sign() == 1) + return (((m_UTF8.Companion_Default___.ValidUTF8Seq((edk).Dtor_keyProviderInfo())) && (_dafny.Companion_Sequence_.Equal((edk).Dtor_keyProviderInfo(), (_this).KeyName()))) && (_dafny.Companion_Sequence_.Equal((edk).Dtor_keyProviderId(), (_this).KeyNamespace()))) && ((uint64(((edk).Dtor_ciphertext()).Cardinality())) > (uint64(0))) } } func (_this *RawRSAKeyring) CryptoPrimitives() *m_AtomicPrimitives.AtomicPrimitivesClient { @@ -465,19 +459,14 @@ func (_this *RawRSAKeyring) CryptoPrimitives() *m_AtomicPrimitives.AtomicPrimiti return _this._cryptoPrimitives } } -func (_this *RawRSAKeyring) KeyNamespace() _dafny.Sequence { +func (_this *RawRSAKeyring) PrivateKeyMaterial() m_Wrappers.Option { { - return _this._keyNamespace + return _this._privateKeyMaterial } } -func (_this *RawRSAKeyring) KeyName() _dafny.Sequence { +func (_this *RawRSAKeyring) PublicKeyMaterial() m_Wrappers.Option { { - return _this._keyName - } -} -func (_this *RawRSAKeyring) PaddingScheme() m_AwsCryptographyPrimitivesTypes.RSAPaddingMode { - { - return _this._paddingScheme + return _this._publicKeyMaterial } } func (_this *RawRSAKeyring) PublicKey() m_Wrappers.Option { @@ -490,6 +479,21 @@ func (_this *RawRSAKeyring) PrivateKey() m_Wrappers.Option { return _this._privateKey } } +func (_this *RawRSAKeyring) KeyNamespace() _dafny.Sequence { + { + return _this._keyNamespace + } +} +func (_this *RawRSAKeyring) KeyName() _dafny.Sequence { + { + return _this._keyName + } +} +func (_this *RawRSAKeyring) PaddingScheme() m_AwsCryptographyPrimitivesTypes.RSAPaddingMode { + { + return _this._paddingScheme + } +} // End of class RawRSAKeyring @@ -781,9 +785,9 @@ func (_this *RsaGenerateAndWrapKeyMaterial) Invoke(input interface{}) interface{ _0_generateBytesResult = _out0 var _1_valueOrError0 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) _ = _1_valueOrError0 - _1_valueOrError0 = (_0_generateBytesResult).MapFailure(func(coer126 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg127 interface{}) interface{} { - return coer126(arg127.(m_AwsCryptographyPrimitivesTypes.Error)) + _1_valueOrError0 = (_0_generateBytesResult).MapFailure(func(coer68 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg69 interface{}) interface{} { + return coer68(arg69.(m_AwsCryptographyPrimitivesTypes.Error)) } }(func(_2_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_2_e) @@ -805,7 +809,7 @@ func (_this *RsaGenerateAndWrapKeyMaterial) Invoke(input interface{}) interface{ _ = _5_valueOrError1 var _out1 interface{} _ = _out1 - _out1 = (_4_wrap).Invoke(m_MaterialWrapping.Companion_WrapInput_.Create_WrapInput_(_3_plaintextMaterial, (input).Dtor_algorithmSuite(), (input).Dtor_encryptionContext())) + _out1 = (_4_wrap).Invoke(m_MaterialWrapping.Companion_WrapInput_.Create_WrapInput_(_3_plaintextMaterial, (input).Dtor_algorithmSuite(), (input).Dtor_encryptionContext(), (input).Dtor_serializedEC())) _5_valueOrError1 = _out1.(m_Wrappers.Result) if (_5_valueOrError1).IsFailure() { res = (_5_valueOrError1).PropagateFailure() @@ -842,17 +846,17 @@ func (_this *RsaGenerateAndWrapKeyMaterial) CryptoPrimitives() *m_AtomicPrimitiv // Definition of class RsaWrapKeyMaterial type RsaWrapKeyMaterial struct { + _cryptoPrimitives *m_AtomicPrimitives.AtomicPrimitivesClient _publicKey _dafny.Sequence _paddingScheme m_AwsCryptographyPrimitivesTypes.RSAPaddingMode - _cryptoPrimitives *m_AtomicPrimitives.AtomicPrimitivesClient } func New_RsaWrapKeyMaterial_() *RsaWrapKeyMaterial { _this := RsaWrapKeyMaterial{} + _this._cryptoPrimitives = (*m_AtomicPrimitives.AtomicPrimitivesClient)(nil) _this._publicKey = _dafny.EmptySeq _this._paddingScheme = m_AwsCryptographyPrimitivesTypes.Companion_RSAPaddingMode_.Default() - _this._cryptoPrimitives = (*m_AtomicPrimitives.AtomicPrimitivesClient)(nil) return &_this } @@ -918,9 +922,9 @@ func (_this *RsaWrapKeyMaterial) Invoke(input interface{}) interface{} { _0_RSAEncryptOutput = _out0 var _1_valueOrError0 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) _ = _1_valueOrError0 - _1_valueOrError0 = (_0_RSAEncryptOutput).MapFailure(func(coer127 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg128 interface{}) interface{} { - return coer127(arg128.(m_AwsCryptographyPrimitivesTypes.Error)) + _1_valueOrError0 = (_0_RSAEncryptOutput).MapFailure(func(coer69 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg70 interface{}) interface{} { + return coer69(arg70.(m_AwsCryptographyPrimitivesTypes.Error)) } }(func(_2_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_2_e) @@ -940,6 +944,11 @@ func (_this *RsaWrapKeyMaterial) Invoke(input interface{}) interface{} { return res } } +func (_this *RsaWrapKeyMaterial) CryptoPrimitives() *m_AtomicPrimitives.AtomicPrimitivesClient { + { + return _this._cryptoPrimitives + } +} func (_this *RsaWrapKeyMaterial) PublicKey() _dafny.Sequence { { return _this._publicKey @@ -950,27 +959,22 @@ func (_this *RsaWrapKeyMaterial) PaddingScheme() m_AwsCryptographyPrimitivesType return _this._paddingScheme } } -func (_this *RsaWrapKeyMaterial) CryptoPrimitives() *m_AtomicPrimitives.AtomicPrimitivesClient { - { - return _this._cryptoPrimitives - } -} // End of class RsaWrapKeyMaterial // Definition of class RsaUnwrapKeyMaterial type RsaUnwrapKeyMaterial struct { + _cryptoPrimitives *m_AtomicPrimitives.AtomicPrimitivesClient _privateKey _dafny.Sequence _paddingScheme m_AwsCryptographyPrimitivesTypes.RSAPaddingMode - _cryptoPrimitives *m_AtomicPrimitives.AtomicPrimitivesClient } func New_RsaUnwrapKeyMaterial_() *RsaUnwrapKeyMaterial { _this := RsaUnwrapKeyMaterial{} + _this._cryptoPrimitives = (*m_AtomicPrimitives.AtomicPrimitivesClient)(nil) _this._privateKey = _dafny.EmptySeq _this._paddingScheme = m_AwsCryptographyPrimitivesTypes.Companion_RSAPaddingMode_.Default() - _this._cryptoPrimitives = (*m_AtomicPrimitives.AtomicPrimitivesClient)(nil) return &_this } @@ -1045,9 +1049,9 @@ func (_this *RsaUnwrapKeyMaterial) Invoke(input interface{}) interface{} { _3_maybeDecryptResult = _out0 var _4_valueOrError0 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) _ = _4_valueOrError0 - _4_valueOrError0 = (_3_maybeDecryptResult).MapFailure(func(coer128 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg129 interface{}) interface{} { - return coer128(arg129.(m_AwsCryptographyPrimitivesTypes.Error)) + _4_valueOrError0 = (_3_maybeDecryptResult).MapFailure(func(coer70 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg71 interface{}) interface{} { + return coer70(arg71.(m_AwsCryptographyPrimitivesTypes.Error)) } }(func(_5_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_5_e) @@ -1061,7 +1065,7 @@ func (_this *RsaUnwrapKeyMaterial) Invoke(input interface{}) interface{} { _6_decryptResult = (_4_valueOrError0).Extract().(_dafny.Sequence) var _7_valueOrError1 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _7_valueOrError1 - _7_valueOrError1 = m_Wrappers.Companion_Default___.Need((_dafny.IntOfUint32((_6_decryptResult).Cardinality())).Cmp(_dafny.IntOfInt32(m_AlgorithmSuites.Companion_Default___.GetEncryptKeyLength(_0_suite))) == 0, m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Invalid plaintext length."))) + _7_valueOrError1 = m_Wrappers.Companion_Default___.Need((uint64((_6_decryptResult).Cardinality())) == (uint64(m_AlgorithmSuites.Companion_Default___.GetEncryptKeyLength(_0_suite))), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Invalid plaintext length."))) if (_7_valueOrError1).IsFailure() { res = (_7_valueOrError1).PropagateFailure() return res @@ -1074,6 +1078,11 @@ func (_this *RsaUnwrapKeyMaterial) Invoke(input interface{}) interface{} { return res } } +func (_this *RsaUnwrapKeyMaterial) CryptoPrimitives() *m_AtomicPrimitives.AtomicPrimitivesClient { + { + return _this._cryptoPrimitives + } +} func (_this *RsaUnwrapKeyMaterial) PrivateKey() _dafny.Sequence { { return _this._privateKey @@ -1084,10 +1093,5 @@ func (_this *RsaUnwrapKeyMaterial) PaddingScheme() m_AwsCryptographyPrimitivesTy return _this._paddingScheme } } -func (_this *RsaUnwrapKeyMaterial) CryptoPrimitives() *m_AtomicPrimitives.AtomicPrimitivesClient { - { - return _this._cryptoPrimitives - } -} // End of class RsaUnwrapKeyMaterial diff --git a/releases/go/mpl/RequiredEncryptionContextCMM/RequiredEncryptionContextCMM.go b/releases/go/mpl/RequiredEncryptionContextCMM/RequiredEncryptionContextCMM.go index b71f8740e4..b0cba8946d 100644 --- a/releases/go/mpl/RequiredEncryptionContextCMM/RequiredEncryptionContextCMM.go +++ b/releases/go/mpl/RequiredEncryptionContextCMM/RequiredEncryptionContextCMM.go @@ -99,6 +99,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -119,6 +120,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -183,34 +185,34 @@ var _ m_KeyStore.Dummy__ var _ m_AlgorithmSuites.Dummy__ var _ m_Materials.Dummy__ var _ m_Keyring.Dummy__ -var _ m_MultiKeyring.Dummy__ -var _ m_AwsKmsMrkAreUnique.Dummy__ -var _ m_Constants.Dummy__ -var _ m_MaterialWrapping.Dummy__ var _ m_CanonicalEncryptionContext.Dummy__ +var _ m_MaterialWrapping.Dummy__ var _ m_IntermediateKeyWrapping.Dummy__ var _ m_EdkWrapping.Dummy__ var _ m_ErrorMessages.Dummy__ +var _ m_RawAESKeyring.Dummy__ +var _ m_Constants.Dummy__ +var _ m_EcdhEdkWrapping.Dummy__ +var _ m_RawECDHKeyring.Dummy__ +var _ m_RawRSAKeyring.Dummy__ var _ m_AwsKmsKeyring.Dummy__ -var _ m_StrictMultiKeyring.Dummy__ var _ m_AwsKmsDiscoveryKeyring.Dummy__ -var _ m_DiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkDiscoveryKeyring.Dummy__ -var _ m_MrkAwareDiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkKeyring.Dummy__ -var _ m_MrkAwareStrictMultiKeyring.Dummy__ +var _ m_AwsKmsEcdhKeyring.Dummy__ var _ m_LocalCMC.Dummy__ var _ m_SynchronizedLocalCMC.Dummy__ var _ m_StormTracker.Dummy__ var _ m_StormTrackingCMC.Dummy__ var _ m_CacheConstants.Dummy__ var _ m_AwsKmsHierarchicalKeyring.Dummy__ +var _ m_AwsKmsMrkDiscoveryKeyring.Dummy__ +var _ m_AwsKmsMrkKeyring.Dummy__ var _ m_AwsKmsRsaKeyring.Dummy__ -var _ m_EcdhEdkWrapping.Dummy__ -var _ m_RawECDHKeyring.Dummy__ -var _ m_AwsKmsEcdhKeyring.Dummy__ -var _ m_RawAESKeyring.Dummy__ -var _ m_RawRSAKeyring.Dummy__ +var _ m_MultiKeyring.Dummy__ +var _ m_AwsKmsMrkAreUnique.Dummy__ +var _ m_StrictMultiKeyring.Dummy__ +var _ m_DiscoveryMultiKeyring.Dummy__ +var _ m_MrkAwareDiscoveryMultiKeyring.Dummy__ +var _ m_MrkAwareStrictMultiKeyring.Dummy__ var _ m_CMM.Dummy__ var _ m_Defaults.Dummy__ var _ m_Commitment.Dummy__ @@ -326,14 +328,14 @@ func (_this *RequiredEncryptionContextCMM) GetEncryptionMaterials_k(input m_AwsC _ = _pat_let_tv0 var _out0 m_Wrappers.Result _ = _out0 - _out0 = ((_this).UnderlyingCMM()).GetEncryptionMaterials(func(_pat_let8_0 m_AwsCryptographyMaterialProvidersTypes.GetEncryptionMaterialsInput) m_AwsCryptographyMaterialProvidersTypes.GetEncryptionMaterialsInput { + _out0 = ((_this).UnderlyingCMM()).GetEncryptionMaterials(func(_pat_let23_0 m_AwsCryptographyMaterialProvidersTypes.GetEncryptionMaterialsInput) m_AwsCryptographyMaterialProvidersTypes.GetEncryptionMaterialsInput { return func(_3_dt__update__tmp_h0 m_AwsCryptographyMaterialProvidersTypes.GetEncryptionMaterialsInput) m_AwsCryptographyMaterialProvidersTypes.GetEncryptionMaterialsInput { - return func(_pat_let9_0 m_Wrappers.Option) m_AwsCryptographyMaterialProvidersTypes.GetEncryptionMaterialsInput { + return func(_pat_let24_0 m_Wrappers.Option) m_AwsCryptographyMaterialProvidersTypes.GetEncryptionMaterialsInput { return func(_4_dt__update_hrequiredEncryptionContextKeys_h0 m_Wrappers.Option) m_AwsCryptographyMaterialProvidersTypes.GetEncryptionMaterialsInput { return m_AwsCryptographyMaterialProvidersTypes.Companion_GetEncryptionMaterialsInput_.Create_GetEncryptionMaterialsInput_((_3_dt__update__tmp_h0).Dtor_encryptionContext(), (_3_dt__update__tmp_h0).Dtor_commitmentPolicy(), (_3_dt__update__tmp_h0).Dtor_algorithmSuiteId(), (_3_dt__update__tmp_h0).Dtor_maxPlaintextLength(), _4_dt__update_hrequiredEncryptionContextKeys_h0) - }(_pat_let9_0) + }(_pat_let24_0) }(m_Wrappers.Companion_Option_.Create_Some_(_dafny.Companion_Sequence_.Concatenate(((_pat_let_tv0).Dtor_requiredEncryptionContextKeys()).UnwrapOr(_dafny.SeqOf()).(_dafny.Sequence), (_this).RequiredEncryptionContextKeys()))) - }(_pat_let8_0) + }(_pat_let23_0) }(input)) _2_valueOrError1 = _out0 if (_2_valueOrError1).IsFailure() { @@ -343,34 +345,40 @@ func (_this *RequiredEncryptionContextCMM) GetEncryptionMaterials_k(input m_AwsC var _5_result m_AwsCryptographyMaterialProvidersTypes.GetEncryptionMaterialsOutput _ = _5_result _5_result = (_2_valueOrError1).Extract().(m_AwsCryptographyMaterialProvidersTypes.GetEncryptionMaterialsOutput) - var _6_valueOrError2 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() - _ = _6_valueOrError2 - _6_valueOrError2 = m_Wrappers.Companion_Default___.Need(_dafny.Quantifier(((_this).RequiredEncryptionContextKeys()).UniqueElements(), true, func(_forall_var_1 _dafny.Sequence) bool { - var _7_k _dafny.Sequence - _7_k = interface{}(_forall_var_1).(_dafny.Sequence) - if m_UTF8.Companion_ValidUTF8Bytes_.Is_(_7_k) { - return !(_dafny.Companion_Sequence_.Contains((_this).RequiredEncryptionContextKeys(), _7_k)) || (_dafny.Companion_Sequence_.Contains(((_5_result).Dtor_encryptionMaterials()).Dtor_requiredEncryptionContextKeys(), _7_k)) - } else { - return true + if !((func(_is_25 m_AwsCryptographyMaterialProvidersTypes.ICryptographicMaterialsManager) bool { + return _dafny.InstanceOf(_is_25, (*m_DefaultCMM.DefaultCMM)(nil)) + }((_this).UnderlyingCMM())) || (func(_is_26 m_AwsCryptographyMaterialProvidersTypes.ICryptographicMaterialsManager) bool { + return _dafny.InstanceOf(_is_26, (*RequiredEncryptionContextCMM)(nil)) + }((_this).UnderlyingCMM()))) { + var _6_valueOrError2 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() + _ = _6_valueOrError2 + _6_valueOrError2 = m_Wrappers.Companion_Default___.Need(_dafny.Quantifier(((_this).RequiredEncryptionContextKeys()).UniqueElements(), true, func(_forall_var_1 _dafny.Sequence) bool { + var _7_k _dafny.Sequence + _7_k = interface{}(_forall_var_1).(_dafny.Sequence) + if m_UTF8.Companion_ValidUTF8Bytes_.Is_(_7_k) { + return !(_dafny.Companion_Sequence_.Contains((_this).RequiredEncryptionContextKeys(), _7_k)) || (_dafny.Companion_Sequence_.Contains(((_5_result).Dtor_encryptionMaterials()).Dtor_requiredEncryptionContextKeys(), _7_k)) + } else { + return true + } + }), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Expected encryption context keys do not exist in keys to only authenticate."))) + if (_6_valueOrError2).IsFailure() { + output = (_6_valueOrError2).PropagateFailure() + return output + } + var _8_valueOrError3 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() + _ = _8_valueOrError3 + _8_valueOrError3 = m_Wrappers.Companion_Default___.Need(m_Materials.Companion_Default___.EncryptionMaterialsHasPlaintextDataKey((_5_result).Dtor_encryptionMaterials()), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Could not retrieve materials required for encryption"))) + if (_8_valueOrError3).IsFailure() { + output = (_8_valueOrError3).PropagateFailure() + return output + } + var _9_valueOrError4 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() + _ = _9_valueOrError4 + _9_valueOrError4 = m_Wrappers.Companion_Default___.Need(m_CMM.Companion_Default___.RequiredEncryptionContextKeys_q((input).Dtor_requiredEncryptionContextKeys(), (_5_result).Dtor_encryptionMaterials()), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Keyring returned an invalid response"))) + if (_9_valueOrError4).IsFailure() { + output = (_9_valueOrError4).PropagateFailure() + return output } - }), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Expected encryption context keys do not exist in keys to only authenticate."))) - if (_6_valueOrError2).IsFailure() { - output = (_6_valueOrError2).PropagateFailure() - return output - } - var _8_valueOrError3 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() - _ = _8_valueOrError3 - _8_valueOrError3 = m_Wrappers.Companion_Default___.Need(m_Materials.Companion_Default___.EncryptionMaterialsHasPlaintextDataKey((_5_result).Dtor_encryptionMaterials()), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Could not retrieve materials required for encryption"))) - if (_8_valueOrError3).IsFailure() { - output = (_8_valueOrError3).PropagateFailure() - return output - } - var _9_valueOrError4 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() - _ = _9_valueOrError4 - _9_valueOrError4 = m_Wrappers.Companion_Default___.Need(m_CMM.Companion_Default___.RequiredEncryptionContextKeys_q((input).Dtor_requiredEncryptionContextKeys(), (_5_result).Dtor_encryptionMaterials()), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Keyring returned an invalid response"))) - if (_9_valueOrError4).IsFailure() { - output = (_9_valueOrError4).PropagateFailure() - return output } output = m_Wrappers.Companion_Result_.Create_Success_(_5_result) return output @@ -422,34 +430,40 @@ func (_this *RequiredEncryptionContextCMM) DecryptMaterials_k(input m_AwsCryptog var _5_result m_AwsCryptographyMaterialProvidersTypes.DecryptMaterialsOutput _ = _5_result _5_result = (_4_valueOrError3).Extract().(m_AwsCryptographyMaterialProvidersTypes.DecryptMaterialsOutput) - var _6_valueOrError4 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() - _ = _6_valueOrError4 - _6_valueOrError4 = m_Wrappers.Companion_Default___.Need(_dafny.Quantifier(((_this).RequiredEncryptionContextKeys()).UniqueElements(), true, func(_forall_var_1 _dafny.Sequence) bool { - var _7_k _dafny.Sequence - _7_k = interface{}(_forall_var_1).(_dafny.Sequence) - if m_UTF8.Companion_ValidUTF8Bytes_.Is_(_7_k) { - return !(_dafny.Companion_Sequence_.Contains((_this).RequiredEncryptionContextKeys(), _7_k)) || ((((_5_result).Dtor_decryptionMaterials()).Dtor_encryptionContext()).Contains(_7_k)) - } else { - return true + if !((func(_is_27 m_AwsCryptographyMaterialProvidersTypes.ICryptographicMaterialsManager) bool { + return _dafny.InstanceOf(_is_27, (*m_DefaultCMM.DefaultCMM)(nil)) + }((_this).UnderlyingCMM())) || (func(_is_28 m_AwsCryptographyMaterialProvidersTypes.ICryptographicMaterialsManager) bool { + return _dafny.InstanceOf(_is_28, (*RequiredEncryptionContextCMM)(nil)) + }((_this).UnderlyingCMM()))) { + var _6_valueOrError4 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() + _ = _6_valueOrError4 + _6_valueOrError4 = m_Wrappers.Companion_Default___.Need(_dafny.Quantifier(((_this).RequiredEncryptionContextKeys()).UniqueElements(), true, func(_forall_var_1 _dafny.Sequence) bool { + var _7_k _dafny.Sequence + _7_k = interface{}(_forall_var_1).(_dafny.Sequence) + if m_UTF8.Companion_ValidUTF8Bytes_.Is_(_7_k) { + return !(_dafny.Companion_Sequence_.Contains((_this).RequiredEncryptionContextKeys(), _7_k)) || ((((_5_result).Dtor_decryptionMaterials()).Dtor_encryptionContext()).Contains(_7_k)) + } else { + return true + } + }), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Final encryption context missing required keys."))) + if (_6_valueOrError4).IsFailure() { + output = (_6_valueOrError4).PropagateFailure() + return output + } + var _8_valueOrError5 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() + _ = _8_valueOrError5 + _8_valueOrError5 = m_Wrappers.Companion_Default___.Need(m_CMM.Companion_Default___.EncryptionContextComplete(input, (_5_result).Dtor_decryptionMaterials()), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Reproduced encryption context missing from encryption context."))) + if (_8_valueOrError5).IsFailure() { + output = (_8_valueOrError5).PropagateFailure() + return output + } + var _9_valueOrError6 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() + _ = _9_valueOrError6 + _9_valueOrError6 = m_Wrappers.Companion_Default___.Need(m_Materials.Companion_Default___.DecryptionMaterialsWithPlaintextDataKey((_5_result).Dtor_decryptionMaterials()), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Keyring.OnDecrypt failed to decrypt the plaintext data key."))) + if (_9_valueOrError6).IsFailure() { + output = (_9_valueOrError6).PropagateFailure() + return output } - }), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Final encryption context missing required keys."))) - if (_6_valueOrError4).IsFailure() { - output = (_6_valueOrError4).PropagateFailure() - return output - } - var _8_valueOrError5 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() - _ = _8_valueOrError5 - _8_valueOrError5 = m_Wrappers.Companion_Default___.Need(m_CMM.Companion_Default___.EncryptionContextComplete(input, (_5_result).Dtor_decryptionMaterials()), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Reproduced encryption context missing from encryption context."))) - if (_8_valueOrError5).IsFailure() { - output = (_8_valueOrError5).PropagateFailure() - return output - } - var _9_valueOrError6 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() - _ = _9_valueOrError6 - _9_valueOrError6 = m_Wrappers.Companion_Default___.Need(m_Materials.Companion_Default___.DecryptionMaterialsWithPlaintextDataKey((_5_result).Dtor_decryptionMaterials()), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("Keyring.OnDecrypt failed to decrypt the plaintext data key."))) - if (_9_valueOrError6).IsFailure() { - output = (_9_valueOrError6).PropagateFailure() - return output } output = m_Wrappers.Companion_Result_.Create_Success_(_5_result) return output diff --git a/releases/go/mpl/StormTracker/StormTracker.go b/releases/go/mpl/StormTracker/StormTracker.go index a1a7349baf..56eb46b4cd 100644 --- a/releases/go/mpl/StormTracker/StormTracker.go +++ b/releases/go/mpl/StormTracker/StormTracker.go @@ -16,10 +16,8 @@ import ( m_AwsCryptographyKeyStoreTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreTypes" m_AwsCryptographyMaterialProvidersTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" m_AwsKmsDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsDiscoveryKeyring" + m_AwsKmsEcdhKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsEcdhKeyring" m_AwsKmsKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsKeyring" - m_AwsKmsMrkAreUnique "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkAreUnique" - m_AwsKmsMrkDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkDiscoveryKeyring" - m_AwsKmsMrkKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkKeyring" m_AwsKmsMrkMatchForDecrypt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkMatchForDecrypt" m_AwsKmsUtils "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsUtils" m_CanonicalEncryptionContext "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CanonicalEncryptionContext" @@ -27,7 +25,7 @@ import ( m_CreateKeyStoreTable "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeyStoreTable" m_CreateKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeys" m_DDBKeystoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DDBKeystoreOperations" - m_DiscoveryMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DiscoveryMultiKeyring" + m_EcdhEdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EcdhEdkWrapping" m_EdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EdkWrapping" m_ErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/ErrorMessages" m_GetKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/GetKeys" @@ -40,10 +38,9 @@ import ( m_LocalCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/LocalCMC" m_MaterialWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MaterialWrapping" m_Materials "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Materials" - m_MrkAwareDiscoveryMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MrkAwareDiscoveryMultiKeyring" - m_MrkAwareStrictMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MrkAwareStrictMultiKeyring" - m_MultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MultiKeyring" - m_StrictMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StrictMultiKeyring" + m_RawAESKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawAESKeyring" + m_RawECDHKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawECDHKeyring" + m_RawRSAKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawRSAKeyring" m_Structure "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Structure" m_SynchronizedLocalCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/SynchronizedLocalCMC" m_AtomicPrimitives "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AtomicPrimitives" @@ -84,6 +81,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -104,6 +102,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -168,22 +167,19 @@ var _ m_KeyStore.Dummy__ var _ m_AlgorithmSuites.Dummy__ var _ m_Materials.Dummy__ var _ m_Keyring.Dummy__ -var _ m_MultiKeyring.Dummy__ -var _ m_AwsKmsMrkAreUnique.Dummy__ -var _ m_Constants.Dummy__ -var _ m_MaterialWrapping.Dummy__ var _ m_CanonicalEncryptionContext.Dummy__ +var _ m_MaterialWrapping.Dummy__ var _ m_IntermediateKeyWrapping.Dummy__ var _ m_EdkWrapping.Dummy__ var _ m_ErrorMessages.Dummy__ +var _ m_RawAESKeyring.Dummy__ +var _ m_Constants.Dummy__ +var _ m_EcdhEdkWrapping.Dummy__ +var _ m_RawECDHKeyring.Dummy__ +var _ m_RawRSAKeyring.Dummy__ var _ m_AwsKmsKeyring.Dummy__ -var _ m_StrictMultiKeyring.Dummy__ var _ m_AwsKmsDiscoveryKeyring.Dummy__ -var _ m_DiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkDiscoveryKeyring.Dummy__ -var _ m_MrkAwareDiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkKeyring.Dummy__ -var _ m_MrkAwareStrictMultiKeyring.Dummy__ +var _ m_AwsKmsEcdhKeyring.Dummy__ var _ m_LocalCMC.Dummy__ var _ m_SynchronizedLocalCMC.Dummy__ @@ -487,7 +483,7 @@ func (_this *StormTracker) Ctor__(cache m_AwsCryptographyMaterialProvidersTypes. } var _nw0 *m_LocalCMC.LocalCMC = m_LocalCMC.New_LocalCMC_() _ = _nw0 - _nw0.Ctor__(_dafny.IntOfInt32((cache).Dtor_entryCapacity()), _dafny.IntOfInt32(((cache).Dtor_entryPruningTailSize()).UnwrapOr(int32(1)).(int32))) + _nw0.Ctor__(uint64((cache).Dtor_entryCapacity()), uint64(((cache).Dtor_entryPruningTailSize()).UnwrapOr(int32(1)).(int32))) (_this).Wrapped = _nw0 var _nw1 *m_DafnyLibraries.MutableMap = m_DafnyLibraries.New_MutableMap_() _ = _nw1 @@ -575,14 +571,14 @@ func (_this *StormTracker) PruneInFlight(now int64) { _ = _out0 _out0 = m_SortedSets.SetToSequence(_0_keySet) _1_keys = _out0 - var _hi0 _dafny.Int = _dafny.IntOfUint32((_1_keys).Cardinality()) + var _hi0 uint64 = uint64((_1_keys).Cardinality()) _ = _hi0 - for _2_i := _dafny.Zero; _2_i.Cmp(_hi0) < 0; _2_i = _2_i.Plus(_dafny.One) { + for _2_i := uint64(0); _2_i < _hi0; _2_i++ { var _3_v int64 _ = _3_v - _3_v = (_this.InFlight).Select((_1_keys).Select((_2_i).Uint32()).(_dafny.Sequence)).(int64) + _3_v = (_this.InFlight).Select((_1_keys).Select(uint32(_2_i)).(_dafny.Sequence)).(int64) if (now) >= ((_this).AddLong(_3_v, _this.InFlightTTL)) { - (_this.InFlight).Remove((_1_keys).Select((_2_i).Uint32()).(_dafny.Sequence)) + (_this.InFlight).Remove((_1_keys).Select(uint32(_2_i)).(_dafny.Sequence)) } } } diff --git a/releases/go/mpl/StormTrackingCMC/StormTrackingCMC.go b/releases/go/mpl/StormTrackingCMC/StormTrackingCMC.go index 0b4fe8c884..6191ca8aaf 100644 --- a/releases/go/mpl/StormTrackingCMC/StormTrackingCMC.go +++ b/releases/go/mpl/StormTrackingCMC/StormTrackingCMC.go @@ -16,10 +16,8 @@ import ( m_AwsCryptographyKeyStoreTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreTypes" m_AwsCryptographyMaterialProvidersTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" m_AwsKmsDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsDiscoveryKeyring" + m_AwsKmsEcdhKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsEcdhKeyring" m_AwsKmsKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsKeyring" - m_AwsKmsMrkAreUnique "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkAreUnique" - m_AwsKmsMrkDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkDiscoveryKeyring" - m_AwsKmsMrkKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkKeyring" m_AwsKmsMrkMatchForDecrypt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkMatchForDecrypt" m_AwsKmsUtils "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsUtils" m_CanonicalEncryptionContext "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CanonicalEncryptionContext" @@ -27,7 +25,7 @@ import ( m_CreateKeyStoreTable "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeyStoreTable" m_CreateKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeys" m_DDBKeystoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DDBKeystoreOperations" - m_DiscoveryMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DiscoveryMultiKeyring" + m_EcdhEdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EcdhEdkWrapping" m_EdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EdkWrapping" m_ErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/ErrorMessages" m_GetKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/GetKeys" @@ -40,11 +38,10 @@ import ( m_LocalCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/LocalCMC" m_MaterialWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MaterialWrapping" m_Materials "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Materials" - m_MrkAwareDiscoveryMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MrkAwareDiscoveryMultiKeyring" - m_MrkAwareStrictMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MrkAwareStrictMultiKeyring" - m_MultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MultiKeyring" + m_RawAESKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawAESKeyring" + m_RawECDHKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawECDHKeyring" + m_RawRSAKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawRSAKeyring" m_StormTracker "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StormTracker" - m_StrictMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StrictMultiKeyring" m_Structure "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Structure" m_SynchronizedLocalCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/SynchronizedLocalCMC" m_AtomicPrimitives "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AtomicPrimitives" @@ -83,6 +80,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -102,6 +100,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -166,22 +165,19 @@ var _ m_KeyStore.Dummy__ var _ m_AlgorithmSuites.Dummy__ var _ m_Materials.Dummy__ var _ m_Keyring.Dummy__ -var _ m_MultiKeyring.Dummy__ -var _ m_AwsKmsMrkAreUnique.Dummy__ -var _ m_Constants.Dummy__ -var _ m_MaterialWrapping.Dummy__ var _ m_CanonicalEncryptionContext.Dummy__ +var _ m_MaterialWrapping.Dummy__ var _ m_IntermediateKeyWrapping.Dummy__ var _ m_EdkWrapping.Dummy__ var _ m_ErrorMessages.Dummy__ +var _ m_RawAESKeyring.Dummy__ +var _ m_Constants.Dummy__ +var _ m_EcdhEdkWrapping.Dummy__ +var _ m_RawECDHKeyring.Dummy__ +var _ m_RawRSAKeyring.Dummy__ var _ m_AwsKmsKeyring.Dummy__ -var _ m_StrictMultiKeyring.Dummy__ var _ m_AwsKmsDiscoveryKeyring.Dummy__ -var _ m_DiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkDiscoveryKeyring.Dummy__ -var _ m_MrkAwareDiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkKeyring.Dummy__ -var _ m_MrkAwareStrictMultiKeyring.Dummy__ +var _ m_AwsKmsEcdhKeyring.Dummy__ var _ m_LocalCMC.Dummy__ var _ m_SynchronizedLocalCMC.Dummy__ var _ m_StormTracker.Dummy__ diff --git a/releases/go/mpl/StrictMultiKeyring/StrictMultiKeyring.go b/releases/go/mpl/StrictMultiKeyring/StrictMultiKeyring.go index f915a9116b..ed9df3350e 100644 --- a/releases/go/mpl/StrictMultiKeyring/StrictMultiKeyring.go +++ b/releases/go/mpl/StrictMultiKeyring/StrictMultiKeyring.go @@ -15,15 +15,23 @@ import ( m_AwsCryptographyKeyStoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreOperations" m_AwsCryptographyKeyStoreTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreTypes" m_AwsCryptographyMaterialProvidersTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" + m_AwsKmsDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsDiscoveryKeyring" + m_AwsKmsEcdhKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsEcdhKeyring" + m_AwsKmsHierarchicalKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsHierarchicalKeyring" m_AwsKmsKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsKeyring" m_AwsKmsMrkAreUnique "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkAreUnique" + m_AwsKmsMrkDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkDiscoveryKeyring" + m_AwsKmsMrkKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkKeyring" m_AwsKmsMrkMatchForDecrypt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkMatchForDecrypt" + m_AwsKmsRsaKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsRsaKeyring" m_AwsKmsUtils "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsUtils" + m_CacheConstants "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CacheConstants" m_CanonicalEncryptionContext "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CanonicalEncryptionContext" m_Constants "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Constants" m_CreateKeyStoreTable "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeyStoreTable" m_CreateKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeys" m_DDBKeystoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DDBKeystoreOperations" + m_EcdhEdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EcdhEdkWrapping" m_EdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EdkWrapping" m_ErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/ErrorMessages" m_GetKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/GetKeys" @@ -33,10 +41,17 @@ import ( m_KeyStoreErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KeyStoreErrorMessages" m_Keyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Keyring" m_KmsArn "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KmsArn" + m_LocalCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/LocalCMC" m_MaterialWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MaterialWrapping" m_Materials "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Materials" m_MultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MultiKeyring" + m_RawAESKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawAESKeyring" + m_RawECDHKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawECDHKeyring" + m_RawRSAKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawRSAKeyring" + m_StormTracker "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StormTracker" + m_StormTrackingCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StormTrackingCMC" m_Structure "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Structure" + m_SynchronizedLocalCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/SynchronizedLocalCMC" m_AtomicPrimitives "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AtomicPrimitives" m_AwsCryptographyPrimitivesOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesOperations" m_AwsCryptographyPrimitivesTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesTypes" @@ -73,6 +88,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -92,6 +108,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -156,15 +173,30 @@ var _ m_KeyStore.Dummy__ var _ m_AlgorithmSuites.Dummy__ var _ m_Materials.Dummy__ var _ m_Keyring.Dummy__ -var _ m_MultiKeyring.Dummy__ -var _ m_AwsKmsMrkAreUnique.Dummy__ -var _ m_Constants.Dummy__ -var _ m_MaterialWrapping.Dummy__ var _ m_CanonicalEncryptionContext.Dummy__ +var _ m_MaterialWrapping.Dummy__ var _ m_IntermediateKeyWrapping.Dummy__ var _ m_EdkWrapping.Dummy__ var _ m_ErrorMessages.Dummy__ +var _ m_RawAESKeyring.Dummy__ +var _ m_Constants.Dummy__ +var _ m_EcdhEdkWrapping.Dummy__ +var _ m_RawECDHKeyring.Dummy__ +var _ m_RawRSAKeyring.Dummy__ var _ m_AwsKmsKeyring.Dummy__ +var _ m_AwsKmsDiscoveryKeyring.Dummy__ +var _ m_AwsKmsEcdhKeyring.Dummy__ +var _ m_LocalCMC.Dummy__ +var _ m_SynchronizedLocalCMC.Dummy__ +var _ m_StormTracker.Dummy__ +var _ m_StormTrackingCMC.Dummy__ +var _ m_CacheConstants.Dummy__ +var _ m_AwsKmsHierarchicalKeyring.Dummy__ +var _ m_AwsKmsMrkDiscoveryKeyring.Dummy__ +var _ m_AwsKmsMrkKeyring.Dummy__ +var _ m_AwsKmsRsaKeyring.Dummy__ +var _ m_MultiKeyring.Dummy__ +var _ m_AwsKmsMrkAreUnique.Dummy__ type Dummy__ struct{} @@ -226,13 +258,13 @@ func (_static *CompanionStruct_Default___) StrictMultiKeyring(generator m_Wrappe Lmatch0: var _2_valueOrError0 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(_dafny.EmptySeq) _ = _2_valueOrError0 - _2_valueOrError0 = (m_Seq.Companion_Default___.MapWithResult(func(coer59 func(_dafny.Sequence) m_Wrappers.Result) func(interface{}) m_Wrappers.Result { - return func(arg60 interface{}) m_Wrappers.Result { - return coer59(arg60.(_dafny.Sequence)) + _2_valueOrError0 = (m_Seq.Companion_Default___.MapWithResult(func(coer117 func(_dafny.Sequence) m_Wrappers.Result) func(interface{}) m_Wrappers.Result { + return func(arg118 interface{}) m_Wrappers.Result { + return coer117(arg118.(_dafny.Sequence)) } - }(m_AwsArnParsing.Companion_Default___.IsAwsKmsIdentifierString), _0_allStrings)).MapFailure(func(coer60 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg61 interface{}) interface{} { - return coer60(arg61.(_dafny.Sequence)) + }(m_AwsArnParsing.Companion_Default___.IsAwsKmsIdentifierString), _0_allStrings)).MapFailure(func(coer118 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg119 interface{}) interface{} { + return coer118(arg119.(_dafny.Sequence)) } }(m_AwsKmsUtils.Companion_Default___.WrapStringToError)) if (_2_valueOrError0).IsFailure() { @@ -253,9 +285,9 @@ Lmatch0: _ = _5_generatorIdentifier var _6_valueOrError1 m_Wrappers.Result = m_Wrappers.Result{} _ = _6_valueOrError1 - _6_valueOrError1 = (m_AwsArnParsing.Companion_Default___.IsAwsKmsIdentifierString(_5_generatorIdentifier)).MapFailure(func(coer61 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg62 interface{}) interface{} { - return coer61(arg62.(_dafny.Sequence)) + _6_valueOrError1 = (m_AwsArnParsing.Companion_Default___.IsAwsKmsIdentifierString(_5_generatorIdentifier)).MapFailure(func(coer119 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg120 interface{}) interface{} { + return coer119(arg120.(_dafny.Sequence)) } }(m_AwsKmsUtils.Companion_Default___.WrapStringToError)) if (_6_valueOrError1).IsFailure() { @@ -307,17 +339,17 @@ Lmatch1: if _source2.Is_Some() { var _13_childIdentifiers _dafny.Sequence = _source2.Get_().(m_Wrappers.Option_Some).Value.(_dafny.Sequence) _ = _13_childIdentifiers - var _hi0 _dafny.Int = _dafny.IntOfUint32((_13_childIdentifiers).Cardinality()) + var _hi0 uint64 = uint64((_13_childIdentifiers).Cardinality()) _ = _hi0 - for _14_index := _dafny.Zero; _14_index.Cmp(_hi0) < 0; _14_index = _14_index.Plus(_dafny.One) { + for _14_index := uint64(0); _14_index < _hi0; _14_index++ { var _15_childIdentifier _dafny.Sequence _ = _15_childIdentifier - _15_childIdentifier = (_13_childIdentifiers).Select((_14_index).Uint32()).(_dafny.Sequence) + _15_childIdentifier = (_13_childIdentifiers).Select(uint32(_14_index)).(_dafny.Sequence) var _16_valueOrError3 m_Wrappers.Result = m_Wrappers.Result{} _ = _16_valueOrError3 - _16_valueOrError3 = (m_AwsArnParsing.Companion_Default___.IsAwsKmsIdentifierString(_15_childIdentifier)).MapFailure(func(coer62 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg63 interface{}) interface{} { - return coer62(arg63.(_dafny.Sequence)) + _16_valueOrError3 = (m_AwsArnParsing.Companion_Default___.IsAwsKmsIdentifierString(_15_childIdentifier)).MapFailure(func(coer120 func(_dafny.Sequence) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg121 interface{}) interface{} { + return coer120(arg121.(_dafny.Sequence)) } }(m_AwsKmsUtils.Companion_Default___.WrapStringToError)) if (_16_valueOrError3).IsFailure() { @@ -362,7 +394,7 @@ Lmatch1: Lmatch2: var _22_valueOrError5 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() _ = _22_valueOrError5 - _22_valueOrError5 = m_Wrappers.Companion_Default___.Need(((_4_generatorKeyring).Is_Some()) || ((_dafny.IntOfUint32((_12_children).Cardinality())).Sign() == 1), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("generatorKeyring or child Keryings needed to create a multi keyring"))) + _22_valueOrError5 = m_Wrappers.Companion_Default___.Need(((_4_generatorKeyring).Is_Some()) || ((uint64((_12_children).Cardinality())) > (uint64(0))), m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographicMaterialProvidersException_(_dafny.SeqOfString("generatorKeyring or child Keryings needed to create a multi keyring"))) if (_22_valueOrError5).IsFailure() { output = (_22_valueOrError5).PropagateFailure() return output diff --git a/releases/go/mpl/Structure/Structure.go b/releases/go/mpl/Structure/Structure.go index 438ad33481..f205d0e86d 100644 --- a/releases/go/mpl/Structure/Structure.go +++ b/releases/go/mpl/Structure/Structure.go @@ -51,6 +51,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -71,6 +72,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -160,7 +162,7 @@ func (_this *Default__) ParentTraits_() []*_dafny.TraitID { var _ _dafny.TraitOffspring = &Default__{} func (_static *CompanionStruct_Default___) BranchKeyContext_q(m _dafny.Map) bool { - return ((((((((((((((m).Contains(Companion_Default___.BRANCH__KEY__IDENTIFIER__FIELD())) && ((m).Contains(Companion_Default___.TYPE__FIELD()))) && ((m).Contains(Companion_Default___.KEY__CREATE__TIME()))) && ((m).Contains(Companion_Default___.HIERARCHY__VERSION()))) && ((m).Contains(Companion_Default___.TABLE__FIELD()))) && ((m).Contains(Companion_Default___.KMS__FIELD()))) && (m_ComAmazonawsKmsTypes.Companion_Default___.IsValid__KeyIdType((m).Get(Companion_Default___.KMS__FIELD()).(_dafny.Sequence)))) && (!((m).Keys()).Contains(Companion_Default___.BRANCH__KEY__FIELD()))) && ((_dafny.IntOfUint32(((m).Get(Companion_Default___.BRANCH__KEY__IDENTIFIER__FIELD()).(_dafny.Sequence)).Cardinality())).Sign() == 1)) && ((_dafny.IntOfUint32(((m).Get(Companion_Default___.TYPE__FIELD()).(_dafny.Sequence)).Cardinality())).Sign() == 1)) && (_dafny.Quantifier(((m).Keys()).Elements(), true, func(_forall_var_0 _dafny.Sequence) bool { + return ((((((((((((((m).Contains(Companion_Default___.BRANCH__KEY__IDENTIFIER__FIELD())) && ((m).Contains(Companion_Default___.TYPE__FIELD()))) && ((m).Contains(Companion_Default___.KEY__CREATE__TIME()))) && ((m).Contains(Companion_Default___.HIERARCHY__VERSION()))) && ((m).Contains(Companion_Default___.TABLE__FIELD()))) && ((m).Contains(Companion_Default___.KMS__FIELD()))) && (m_ComAmazonawsKmsTypes.Companion_Default___.IsValid__KeyIdType((m).Get(Companion_Default___.KMS__FIELD()).(_dafny.Sequence)))) && (!((m).Keys()).Contains(Companion_Default___.BRANCH__KEY__FIELD()))) && ((uint64(0)) < (uint64(((m).Get(Companion_Default___.BRANCH__KEY__IDENTIFIER__FIELD()).(_dafny.Sequence)).Cardinality())))) && ((uint64(0)) < (uint64(((m).Get(Companion_Default___.TYPE__FIELD()).(_dafny.Sequence)).Cardinality())))) && (_dafny.Quantifier(((m).Keys()).Elements(), true, func(_forall_var_0 _dafny.Sequence) bool { var _0_k _dafny.Sequence _0_k = interface{}(_forall_var_0).(_dafny.Sequence) return !(((m).Keys()).Contains(_0_k)) || (m_ComAmazonawsDynamodbTypes.Companion_Default___.IsValid__AttributeName(_0_k)) @@ -232,7 +234,7 @@ func (_static *CompanionStruct_Default___) ToBranchKeyMaterials(encryptionContex return (encryptionContext).Get(Companion_Default___.TYPE__FIELD()).(_dafny.Sequence) })() _ = _0_versionInformation - var _1_branchKeyVersion _dafny.Sequence = (_0_versionInformation).Drop((_dafny.IntOfUint32((Companion_Default___.BRANCH__KEY__TYPE__PREFIX()).Cardinality())).Uint32()) + var _1_branchKeyVersion _dafny.Sequence = (_0_versionInformation).Drop(uint32(uint32((Companion_Default___.BRANCH__KEY__TYPE__PREFIX()).Cardinality()))) _ = _1_branchKeyVersion var _2_valueOrError0 m_Wrappers.Result = (m_UTF8.Encode(_1_branchKeyVersion)).MapFailure(func(coer10 func(_dafny.Sequence) m_AwsCryptographyKeyStoreTypes.Error) func(interface{}) interface{} { return func(arg10 interface{}) interface{} { @@ -270,47 +272,64 @@ func (_static *CompanionStruct_Default___) ToBeaconKeyMaterials(encryptionContex } } func (_static *CompanionStruct_Default___) ExtractCustomEncryptionContext(encryptionContext _dafny.Map) m_Wrappers.Result { - var _0_encodedEncryptionContext _dafny.Set = func() _dafny.Set { + var _0_prefixKeys _dafny.Set = func() _dafny.Set { var _coll0 = _dafny.NewBuilder() _ = _coll0 - for _iter4 := _dafny.Iterate((encryptionContext).Keys().Elements()); ; { + for _iter4 := _dafny.Iterate(((encryptionContext).Keys()).Elements()); ; { _compr_0, _ok4 := _iter4() if !_ok4 { break } var _1_k _dafny.Sequence _1_k = interface{}(_compr_0).(_dafny.Sequence) - if ((encryptionContext).Contains(_1_k)) && (_dafny.Companion_Sequence_.IsProperPrefixOf(Companion_Default___.ENCRYPTION__CONTEXT__PREFIX(), _1_k)) { - _coll0.Add(_dafny.TupleOf(m_UTF8.Encode((_1_k).Drop((_dafny.IntOfUint32((Companion_Default___.ENCRYPTION__CONTEXT__PREFIX()).Cardinality())).Uint32())), m_UTF8.Encode((encryptionContext).Get(_1_k).(_dafny.Sequence)))) + if (((encryptionContext).Keys()).Contains(_1_k)) && (_dafny.Companion_Sequence_.IsPrefixOf(Companion_Default___.ENCRYPTION__CONTEXT__PREFIX(), _1_k)) { + _coll0.Add(_1_k) } } return _coll0.ToSet() }() - _ = _0_encodedEncryptionContext - var _2_valueOrError0 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need(_dafny.Quantifier((_0_encodedEncryptionContext).Elements(), true, func(_forall_var_0 _dafny.Tuple) bool { - var _3_i _dafny.Tuple - _3_i = interface{}(_forall_var_0).(_dafny.Tuple) - return !((_0_encodedEncryptionContext).Contains(_3_i)) || ((((*(_3_i).IndexInt(0)).(m_Wrappers.Result)).Is_Success()) && (((*(_3_i).IndexInt(1)).(m_Wrappers.Result)).Is_Success())) + _ = _0_prefixKeys + var _2_encodedEncryptionContext _dafny.Set = func() _dafny.Set { + var _coll1 = _dafny.NewBuilder() + _ = _coll1 + for _iter5 := _dafny.Iterate((_0_prefixKeys).Elements()); ; { + _compr_1, _ok5 := _iter5() + if !_ok5 { + break + } + var _3_k _dafny.Sequence + _3_k = interface{}(_compr_1).(_dafny.Sequence) + if (_0_prefixKeys).Contains(_3_k) { + _coll1.Add(_dafny.TupleOf(m_UTF8.Encode((_3_k).Drop(uint32(uint32((Companion_Default___.ENCRYPTION__CONTEXT__PREFIX()).Cardinality())))), m_UTF8.Encode((encryptionContext).Get(_3_k).(_dafny.Sequence)))) + } + } + return _coll1.ToSet() + }() + _ = _2_encodedEncryptionContext + var _4_valueOrError0 m_Wrappers.Outcome = m_Wrappers.Companion_Default___.Need(_dafny.Quantifier((_2_encodedEncryptionContext).Elements(), true, func(_forall_var_0 _dafny.Tuple) bool { + var _5_i _dafny.Tuple + _5_i = interface{}(_forall_var_0).(_dafny.Tuple) + return !((_2_encodedEncryptionContext).Contains(_5_i)) || ((((*(_5_i).IndexInt(0)).(m_Wrappers.Result)).Is_Success()) && (((*(_5_i).IndexInt(1)).(m_Wrappers.Result)).Is_Success())) }), m_AwsCryptographyKeyStoreTypes.Companion_Error_.Create_KeyStoreException_(_dafny.SeqOfString("Unable to encode string"))) - _ = _2_valueOrError0 - if (_2_valueOrError0).IsFailure() { - return (_2_valueOrError0).PropagateFailure() + _ = _4_valueOrError0 + if (_4_valueOrError0).IsFailure() { + return (_4_valueOrError0).PropagateFailure() } else { return m_Wrappers.Companion_Result_.Create_Success_(func() _dafny.Map { - var _coll1 = _dafny.NewMapBuilder() - _ = _coll1 - for _iter5 := _dafny.Iterate((_0_encodedEncryptionContext).Elements()); ; { - _compr_1, _ok5 := _iter5() - if !_ok5 { + var _coll2 = _dafny.NewMapBuilder() + _ = _coll2 + for _iter6 := _dafny.Iterate((_2_encodedEncryptionContext).Elements()); ; { + _compr_2, _ok6 := _iter6() + if !_ok6 { break } - var _4_i _dafny.Tuple - _4_i = interface{}(_compr_1).(_dafny.Tuple) - if (_0_encodedEncryptionContext).Contains(_4_i) { - _coll1.Add(((*(_4_i).IndexInt(0)).(m_Wrappers.Result)).Dtor_value().(_dafny.Sequence), ((*(_4_i).IndexInt(1)).(m_Wrappers.Result)).Dtor_value().(_dafny.Sequence)) + var _6_i _dafny.Tuple + _6_i = interface{}(_compr_2).(_dafny.Tuple) + if (_2_encodedEncryptionContext).Contains(_6_i) { + _coll2.Add(((*(_6_i).IndexInt(0)).(m_Wrappers.Result)).Dtor_value().(_dafny.Sequence), ((*(_6_i).IndexInt(1)).(m_Wrappers.Result)).Dtor_value().(_dafny.Sequence)) } } - return _coll1.ToMap() + return _coll2.ToMap() }()) } } @@ -318,9 +337,9 @@ func (_static *CompanionStruct_Default___) DecryptOnlyBranchKeyEncryptionContext return (_dafny.NewMapBuilder().ToMap().UpdateUnsafe(Companion_Default___.BRANCH__KEY__IDENTIFIER__FIELD(), branchKeyId).UpdateUnsafe(Companion_Default___.TYPE__FIELD(), _dafny.Companion_Sequence_.Concatenate(Companion_Default___.BRANCH__KEY__TYPE__PREFIX(), branchKeyVersion)).UpdateUnsafe(Companion_Default___.KEY__CREATE__TIME(), timestamp).UpdateUnsafe(Companion_Default___.TABLE__FIELD(), logicalKeyStoreName).UpdateUnsafe(Companion_Default___.KMS__FIELD(), kmsKeyArn).UpdateUnsafe(Companion_Default___.HIERARCHY__VERSION(), _dafny.SeqOfString("1"))).Merge(func() _dafny.Map { var _coll0 = _dafny.NewMapBuilder() _ = _coll0 - for _iter6 := _dafny.Iterate((customEncryptionContext).Keys().Elements()); ; { - _compr_0, _ok6 := _iter6() - if !_ok6 { + for _iter7 := _dafny.Iterate((customEncryptionContext).Keys().Elements()); ; { + _compr_0, _ok7 := _iter7() + if !_ok7 { break } var _0_k _dafny.Sequence @@ -342,7 +361,7 @@ func (_static *CompanionStruct_Default___) NewVersionFromActiveBranchKeyEncrypti return ((activeBranchKeyEncryptionContext).Merge(_dafny.NewMapBuilder().ToMap().UpdateUnsafe(Companion_Default___.TYPE__FIELD(), _dafny.Companion_Sequence_.Concatenate(Companion_Default___.BRANCH__KEY__TYPE__PREFIX(), branchKeyVersion)).UpdateUnsafe(Companion_Default___.KEY__CREATE__TIME(), timestamp))).Subtract(_dafny.SetOf(Companion_Default___.BRANCH__KEY__ACTIVE__VERSION__FIELD())) } func (_static *CompanionStruct_Default___) BranchKeyItem_q(m _dafny.Map) bool { - return (((((((((((((((((((((m).Contains(Companion_Default___.BRANCH__KEY__IDENTIFIER__FIELD())) && (((m).Get(Companion_Default___.BRANCH__KEY__IDENTIFIER__FIELD()).(m_ComAmazonawsDynamodbTypes.AttributeValue)).Is_S())) && ((m).Contains(Companion_Default___.TYPE__FIELD()))) && (((m).Get(Companion_Default___.TYPE__FIELD()).(m_ComAmazonawsDynamodbTypes.AttributeValue)).Is_S())) && ((m).Contains(Companion_Default___.KEY__CREATE__TIME()))) && (((m).Get(Companion_Default___.KEY__CREATE__TIME()).(m_ComAmazonawsDynamodbTypes.AttributeValue)).Is_S())) && ((m).Contains(Companion_Default___.HIERARCHY__VERSION()))) && (((m).Get(Companion_Default___.HIERARCHY__VERSION()).(m_ComAmazonawsDynamodbTypes.AttributeValue)).Is_N())) && (!(m).Contains(Companion_Default___.TABLE__FIELD()))) && ((m).Contains(Companion_Default___.KMS__FIELD()))) && (((m).Get(Companion_Default___.KMS__FIELD()).(m_ComAmazonawsDynamodbTypes.AttributeValue)).Is_S())) && (m_ComAmazonawsKmsTypes.Companion_Default___.IsValid__KeyIdType(((m).Get(Companion_Default___.KMS__FIELD()).(m_ComAmazonawsDynamodbTypes.AttributeValue)).Dtor_S()))) && ((m).Contains(Companion_Default___.BRANCH__KEY__FIELD()))) && (((m).Get(Companion_Default___.BRANCH__KEY__FIELD()).(m_ComAmazonawsDynamodbTypes.AttributeValue)).Is_B())) && ((_dafny.IntOfUint32((((m).Get(Companion_Default___.BRANCH__KEY__IDENTIFIER__FIELD()).(m_ComAmazonawsDynamodbTypes.AttributeValue)).Dtor_S()).Cardinality())).Sign() == 1)) && ((_dafny.IntOfUint32((((m).Get(Companion_Default___.TYPE__FIELD()).(m_ComAmazonawsDynamodbTypes.AttributeValue)).Dtor_S()).Cardinality())).Sign() == 1)) && (_dafny.Quantifier((((m).Keys()).Difference(_dafny.SetOf(Companion_Default___.BRANCH__KEY__FIELD(), Companion_Default___.HIERARCHY__VERSION()))).Elements(), true, func(_forall_var_0 _dafny.Sequence) bool { + return (((((((((((((((((((((m).Contains(Companion_Default___.BRANCH__KEY__IDENTIFIER__FIELD())) && (((m).Get(Companion_Default___.BRANCH__KEY__IDENTIFIER__FIELD()).(m_ComAmazonawsDynamodbTypes.AttributeValue)).Is_S())) && ((m).Contains(Companion_Default___.TYPE__FIELD()))) && (((m).Get(Companion_Default___.TYPE__FIELD()).(m_ComAmazonawsDynamodbTypes.AttributeValue)).Is_S())) && ((m).Contains(Companion_Default___.KEY__CREATE__TIME()))) && (((m).Get(Companion_Default___.KEY__CREATE__TIME()).(m_ComAmazonawsDynamodbTypes.AttributeValue)).Is_S())) && ((m).Contains(Companion_Default___.HIERARCHY__VERSION()))) && (((m).Get(Companion_Default___.HIERARCHY__VERSION()).(m_ComAmazonawsDynamodbTypes.AttributeValue)).Is_N())) && (!(m).Contains(Companion_Default___.TABLE__FIELD()))) && ((m).Contains(Companion_Default___.KMS__FIELD()))) && (((m).Get(Companion_Default___.KMS__FIELD()).(m_ComAmazonawsDynamodbTypes.AttributeValue)).Is_S())) && (m_ComAmazonawsKmsTypes.Companion_Default___.IsValid__KeyIdType(((m).Get(Companion_Default___.KMS__FIELD()).(m_ComAmazonawsDynamodbTypes.AttributeValue)).Dtor_S()))) && ((m).Contains(Companion_Default___.BRANCH__KEY__FIELD()))) && (((m).Get(Companion_Default___.BRANCH__KEY__FIELD()).(m_ComAmazonawsDynamodbTypes.AttributeValue)).Is_B())) && ((uint64(0)) < (uint64((((m).Get(Companion_Default___.BRANCH__KEY__IDENTIFIER__FIELD()).(m_ComAmazonawsDynamodbTypes.AttributeValue)).Dtor_S()).Cardinality())))) && ((uint64(0)) < (uint64((((m).Get(Companion_Default___.TYPE__FIELD()).(m_ComAmazonawsDynamodbTypes.AttributeValue)).Dtor_S()).Cardinality())))) && (_dafny.Quantifier((((m).Keys()).Difference(_dafny.SetOf(Companion_Default___.BRANCH__KEY__FIELD(), Companion_Default___.HIERARCHY__VERSION()))).Elements(), true, func(_forall_var_0 _dafny.Sequence) bool { var _0_k _dafny.Sequence _0_k = interface{}(_forall_var_0).(_dafny.Sequence) return !((((m).Keys()).Difference(_dafny.SetOf(Companion_Default___.BRANCH__KEY__FIELD(), Companion_Default___.HIERARCHY__VERSION()))).Contains(_0_k)) || (((m).Get(_0_k).(m_ComAmazonawsDynamodbTypes.AttributeValue)).Is_S()) diff --git a/releases/go/mpl/SynchronizedLocalCMC/SynchronizedLocalCMC.go b/releases/go/mpl/SynchronizedLocalCMC/SynchronizedLocalCMC.go index deb89117d7..8c99a2004b 100644 --- a/releases/go/mpl/SynchronizedLocalCMC/SynchronizedLocalCMC.go +++ b/releases/go/mpl/SynchronizedLocalCMC/SynchronizedLocalCMC.go @@ -16,10 +16,8 @@ import ( m_AwsCryptographyKeyStoreTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreTypes" m_AwsCryptographyMaterialProvidersTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" m_AwsKmsDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsDiscoveryKeyring" + m_AwsKmsEcdhKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsEcdhKeyring" m_AwsKmsKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsKeyring" - m_AwsKmsMrkAreUnique "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkAreUnique" - m_AwsKmsMrkDiscoveryKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkDiscoveryKeyring" - m_AwsKmsMrkKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkKeyring" m_AwsKmsMrkMatchForDecrypt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkMatchForDecrypt" m_AwsKmsUtils "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsUtils" m_CanonicalEncryptionContext "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CanonicalEncryptionContext" @@ -27,7 +25,7 @@ import ( m_CreateKeyStoreTable "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeyStoreTable" m_CreateKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeys" m_DDBKeystoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DDBKeystoreOperations" - m_DiscoveryMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DiscoveryMultiKeyring" + m_EcdhEdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EcdhEdkWrapping" m_EdkWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/EdkWrapping" m_ErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/ErrorMessages" m_GetKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/GetKeys" @@ -40,10 +38,9 @@ import ( m_LocalCMC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/LocalCMC" m_MaterialWrapping "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MaterialWrapping" m_Materials "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Materials" - m_MrkAwareDiscoveryMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MrkAwareDiscoveryMultiKeyring" - m_MrkAwareStrictMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MrkAwareStrictMultiKeyring" - m_MultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/MultiKeyring" - m_StrictMultiKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/StrictMultiKeyring" + m_RawAESKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawAESKeyring" + m_RawECDHKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawECDHKeyring" + m_RawRSAKeyring "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/RawRSAKeyring" m_Structure "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Structure" m_AtomicPrimitives "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AtomicPrimitives" m_AwsCryptographyPrimitivesOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesOperations" @@ -81,6 +78,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -100,6 +98,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -164,22 +163,19 @@ var _ m_KeyStore.Dummy__ var _ m_AlgorithmSuites.Dummy__ var _ m_Materials.Dummy__ var _ m_Keyring.Dummy__ -var _ m_MultiKeyring.Dummy__ -var _ m_AwsKmsMrkAreUnique.Dummy__ -var _ m_Constants.Dummy__ -var _ m_MaterialWrapping.Dummy__ var _ m_CanonicalEncryptionContext.Dummy__ +var _ m_MaterialWrapping.Dummy__ var _ m_IntermediateKeyWrapping.Dummy__ var _ m_EdkWrapping.Dummy__ var _ m_ErrorMessages.Dummy__ +var _ m_RawAESKeyring.Dummy__ +var _ m_Constants.Dummy__ +var _ m_EcdhEdkWrapping.Dummy__ +var _ m_RawECDHKeyring.Dummy__ +var _ m_RawRSAKeyring.Dummy__ var _ m_AwsKmsKeyring.Dummy__ -var _ m_StrictMultiKeyring.Dummy__ var _ m_AwsKmsDiscoveryKeyring.Dummy__ -var _ m_DiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkDiscoveryKeyring.Dummy__ -var _ m_MrkAwareDiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkKeyring.Dummy__ -var _ m_MrkAwareStrictMultiKeyring.Dummy__ +var _ m_AwsKmsEcdhKeyring.Dummy__ var _ m_LocalCMC.Dummy__ type Dummy__ struct{} diff --git a/releases/go/mpl/Utils/Utils.go b/releases/go/mpl/Utils/Utils.go index 5d60abc4de..4ea49b23df 100644 --- a/releases/go/mpl/Utils/Utils.go +++ b/releases/go/mpl/Utils/Utils.go @@ -97,6 +97,7 @@ import ( m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" + m_StandardLibrary_MemoryMath "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_MemoryMath" m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" @@ -116,6 +117,7 @@ var _ m__System.Dummy__ var _ m_Wrappers.Dummy__ var _ m_BoundedInts.Dummy__ var _ m_StandardLibrary_UInt.Dummy__ +var _ m_StandardLibrary_MemoryMath.Dummy__ var _ m_StandardLibrary_Sequence.Dummy__ var _ m_StandardLibrary_String.Dummy__ var _ m_StandardLibrary.Dummy__ @@ -180,34 +182,34 @@ var _ m_KeyStore.Dummy__ var _ m_AlgorithmSuites.Dummy__ var _ m_Materials.Dummy__ var _ m_Keyring.Dummy__ -var _ m_MultiKeyring.Dummy__ -var _ m_AwsKmsMrkAreUnique.Dummy__ -var _ m_Constants.Dummy__ -var _ m_MaterialWrapping.Dummy__ var _ m_CanonicalEncryptionContext.Dummy__ +var _ m_MaterialWrapping.Dummy__ var _ m_IntermediateKeyWrapping.Dummy__ var _ m_EdkWrapping.Dummy__ var _ m_ErrorMessages.Dummy__ +var _ m_RawAESKeyring.Dummy__ +var _ m_Constants.Dummy__ +var _ m_EcdhEdkWrapping.Dummy__ +var _ m_RawECDHKeyring.Dummy__ +var _ m_RawRSAKeyring.Dummy__ var _ m_AwsKmsKeyring.Dummy__ -var _ m_StrictMultiKeyring.Dummy__ var _ m_AwsKmsDiscoveryKeyring.Dummy__ -var _ m_DiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkDiscoveryKeyring.Dummy__ -var _ m_MrkAwareDiscoveryMultiKeyring.Dummy__ -var _ m_AwsKmsMrkKeyring.Dummy__ -var _ m_MrkAwareStrictMultiKeyring.Dummy__ +var _ m_AwsKmsEcdhKeyring.Dummy__ var _ m_LocalCMC.Dummy__ var _ m_SynchronizedLocalCMC.Dummy__ var _ m_StormTracker.Dummy__ var _ m_StormTrackingCMC.Dummy__ var _ m_CacheConstants.Dummy__ var _ m_AwsKmsHierarchicalKeyring.Dummy__ +var _ m_AwsKmsMrkDiscoveryKeyring.Dummy__ +var _ m_AwsKmsMrkKeyring.Dummy__ var _ m_AwsKmsRsaKeyring.Dummy__ -var _ m_EcdhEdkWrapping.Dummy__ -var _ m_RawECDHKeyring.Dummy__ -var _ m_AwsKmsEcdhKeyring.Dummy__ -var _ m_RawAESKeyring.Dummy__ -var _ m_RawRSAKeyring.Dummy__ +var _ m_MultiKeyring.Dummy__ +var _ m_AwsKmsMrkAreUnique.Dummy__ +var _ m_StrictMultiKeyring.Dummy__ +var _ m_DiscoveryMultiKeyring.Dummy__ +var _ m_MrkAwareDiscoveryMultiKeyring.Dummy__ +var _ m_MrkAwareStrictMultiKeyring.Dummy__ var _ m_CMM.Dummy__ var _ m_Defaults.Dummy__ var _ m_Commitment.Dummy__ @@ -261,9 +263,9 @@ func (_static *CompanionStruct_Default___) GetPublicKey(curveSpec m_AwsCryptogra _0_maybePublicKey = _out0 var _1_valueOrError0 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_AwsCryptographyPrimitivesTypes.Companion_GetPublicKeyFromPrivateKeyOutput_.Default()) _ = _1_valueOrError0 - _1_valueOrError0 = (_0_maybePublicKey).MapFailure(func(coer131 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { - return func(arg132 interface{}) interface{} { - return coer131(arg132.(m_AwsCryptographyPrimitivesTypes.Error)) + _1_valueOrError0 = (_0_maybePublicKey).MapFailure(func(coer127 func(m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error) func(interface{}) interface{} { + return func(arg128 interface{}) interface{} { + return coer127(arg128.(m_AwsCryptographyPrimitivesTypes.Error)) } }(func(_2_e m_AwsCryptographyPrimitivesTypes.Error) m_AwsCryptographyMaterialProvidersTypes.Error { return m_AwsCryptographyMaterialProvidersTypes.Companion_Error_.Create_AwsCryptographyPrimitives_(_2_e) diff --git a/releases/go/mpl/awscryptographykeystoresmithygenerated/to_dafny.go b/releases/go/mpl/awscryptographykeystoresmithygenerated/to_dafny.go index b44cc7d75b..df8ae6a77c 100644 --- a/releases/go/mpl/awscryptographykeystoresmithygenerated/to_dafny.go +++ b/releases/go/mpl/awscryptographykeystoresmithygenerated/to_dafny.go @@ -358,14 +358,14 @@ func Aws_cryptography_keyStore_BranchKeyMaterials_encryptionContext_ToDafny(inpu func Aws_cryptography_keyStore_BranchKeyMaterials_branchKey_ToDafny(input []byte) dafny.Sequence { return func() dafny.Sequence { - var v []interface{} + v := make([]interface{}, 0, len(input)) if input == nil { return nil } for _, e := range input { v = append(v, e) } - return dafny.SeqOf(v...) + return dafny.SeqFromArray(v, false) }() } @@ -414,14 +414,14 @@ func Aws_cryptography_keyStore_BeaconKeyMaterials_encryptionContext_ToDafny(inpu func Aws_cryptography_keyStore_BeaconKeyMaterials_beaconKey_ToDafny(input []byte) Wrappers.Option { return func() Wrappers.Option { - var v []interface{} + v := make([]interface{}, 0, len(input)) if input == nil { return Wrappers.Companion_Option_.Create_None_() } for _, e := range input { v = append(v, e) } - return Wrappers.Companion_Option_.Create_Some_(dafny.SeqOf(v...)) + return Wrappers.Companion_Option_.Create_Some_(dafny.SeqFromArray(v, false)) }() } @@ -450,14 +450,14 @@ func Aws_cryptography_keyStore_HmacKeyMap_key_ToDafny(input string) dafny.Sequen func Aws_cryptography_keyStore_HmacKeyMap_value_ToDafny(input []byte) dafny.Sequence { return func() dafny.Sequence { - var v []interface{} + v := make([]interface{}, 0, len(input)) if input == nil { return nil } for _, e := range input { v = append(v, e) } - return dafny.SeqOf(v...) + return dafny.SeqFromArray(v, false) }() } @@ -536,7 +536,7 @@ func Aws_cryptography_keyStore_GetKeyStoreInfoOutput_logicalKeyStoreName_ToDafny func Aws_cryptography_keyStore_GetKeyStoreInfoOutput_grantTokens_ToDafny(input []string) dafny.Sequence { return func() dafny.Sequence { - var fieldValue []interface{} = make([]interface{}, 0) + var fieldValue []interface{} = make([]interface{}, 0, len(input)) for _, val := range input { element := Aws_cryptography_keyStore_GrantTokenList_member_ToDafny(val) fieldValue = append(fieldValue, element) @@ -729,7 +729,7 @@ func Aws_cryptography_keyStore_KeyStoreConfig_grantTokens_ToDafny(input []string if input == nil { return Wrappers.Companion_Option_.Create_None_() } - var fieldValue []interface{} = make([]interface{}, 0) + var fieldValue []interface{} = make([]interface{}, 0, len(input)) for _, val := range input { element := Aws_cryptography_keyStore_GrantTokenList_member_ToDafny(val) fieldValue = append(fieldValue, element) diff --git a/releases/go/mpl/awscryptographykeystoresmithygenerated/to_native.go b/releases/go/mpl/awscryptographykeystoresmithygenerated/to_native.go index 9e4496be36..88e1ce273f 100644 --- a/releases/go/mpl/awscryptographykeystoresmithygenerated/to_native.go +++ b/releases/go/mpl/awscryptographykeystoresmithygenerated/to_native.go @@ -289,18 +289,15 @@ func Aws_cryptography_keyStore_BranchKeyMaterials_encryptionContext_FromDafny(in } func Aws_cryptography_keyStore_BranchKeyMaterials_branchKey_FromDafny(input interface{}) []byte { return func() []byte { - b := []byte{} if input == nil { return nil } - for i := dafny.Iterate(input); ; { - val, ok := i() - if !ok { - return b - } else { - b = append(b, val.(byte)) - } + a := input.(dafny.Sequence).ToArray().(dafny.GoNativeArray) + b := make([]byte, 0, a.Length()) + for i := uint32(0); i < a.Length(); i++ { + b = append(b, a.Select(i).(byte)) } + return b }() } func Aws_cryptography_keyStore_GetBeaconKeyInput_branchKeyIdentifier_FromDafny(input interface{}) string { @@ -345,18 +342,15 @@ func Aws_cryptography_keyStore_BeaconKeyMaterials_encryptionContext_FromDafny(in } func Aws_cryptography_keyStore_BeaconKeyMaterials_beaconKey_FromDafny(input interface{}) []byte { return func() []byte { - b := []byte{} if input == nil { return nil } - for i := dafny.Iterate(input); ; { - val, ok := i() - if !ok { - return b - } else { - b = append(b, val.(byte)) - } + a := input.(dafny.Sequence).ToArray().(dafny.GoNativeArray) + b := make([]byte, 0, a.Length()) + for i := uint32(0); i < a.Length(); i++ { + b = append(b, a.Select(i).(byte)) } + return b }() } func Aws_cryptography_keyStore_BeaconKeyMaterials_hmacKeys_FromDafny(input interface{}) map[string][]byte { @@ -385,18 +379,15 @@ func Aws_cryptography_keyStore_HmacKeyMap_key_FromDafny(input interface{}) strin } func Aws_cryptography_keyStore_HmacKeyMap_value_FromDafny(input interface{}) []byte { return func() []byte { - b := []byte{} if input == nil { return nil } - for i := dafny.Iterate(input); ; { - val, ok := i() - if !ok { - return b - } else { - b = append(b, val.(byte)) - } + a := input.(dafny.Sequence).ToArray().(dafny.GoNativeArray) + b := make([]byte, 0, a.Length()) + for i := uint32(0); i < a.Length(); i++ { + b = append(b, a.Select(i).(byte)) } + return b }() } func Aws_cryptography_keyStore_GetBranchKeyVersionInput_branchKeyIdentifier_FromDafny(input interface{}) string { diff --git a/releases/go/mpl/awscryptographymaterialproviderssmithygenerated/to_dafny.go b/releases/go/mpl/awscryptographymaterialproviderssmithygenerated/to_dafny.go index 18be7afc2c..e1bf3d0a13 100644 --- a/releases/go/mpl/awscryptographymaterialproviderssmithygenerated/to_dafny.go +++ b/releases/go/mpl/awscryptographymaterialproviderssmithygenerated/to_dafny.go @@ -776,7 +776,7 @@ func Aws_cryptography_materialProviders_CreateAwsKmsDiscoveryKeyringInput_discov func Aws_cryptography_materialProviders_DiscoveryFilter_accountIds_ToDafny(input []string) dafny.Sequence { return func() dafny.Sequence { - var fieldValue []interface{} = make([]interface{}, 0) + var fieldValue []interface{} = make([]interface{}, 0, len(input)) for _, val := range input { element := Aws_cryptography_materialProviders_AccountIdList_member_ToDafny(val) fieldValue = append(fieldValue, element) @@ -816,7 +816,7 @@ func Aws_cryptography_materialProviders_CreateAwsKmsDiscoveryKeyringInput_grantT if input == nil { return Wrappers.Companion_Option_.Create_None_() } - var fieldValue []interface{} = make([]interface{}, 0) + var fieldValue []interface{} = make([]interface{}, 0, len(input)) for _, val := range input { element := Aws_cryptography_materialProviders_GrantTokenList_member_ToDafny(val) fieldValue = append(fieldValue, element) @@ -841,7 +841,7 @@ func Aws_cryptography_materialProviders_GrantTokenList_member_ToDafny(input stri func Aws_cryptography_materialProviders_CreateAwsKmsDiscoveryMultiKeyringInput_regions_ToDafny(input []string) dafny.Sequence { return func() dafny.Sequence { - var fieldValue []interface{} = make([]interface{}, 0) + var fieldValue []interface{} = make([]interface{}, 0, len(input)) for _, val := range input { element := Aws_cryptography_materialProviders_RegionList_member_ToDafny(val) fieldValue = append(fieldValue, element) @@ -877,7 +877,7 @@ func Aws_cryptography_materialProviders_CreateAwsKmsDiscoveryMultiKeyringInput_g if input == nil { return Wrappers.Companion_Option_.Create_None_() } - var fieldValue []interface{} = make([]interface{}, 0) + var fieldValue []interface{} = make([]interface{}, 0, len(input)) for _, val := range input { element := Aws_cryptography_materialProviders_GrantTokenList_member_ToDafny(val) fieldValue = append(fieldValue, element) @@ -945,27 +945,27 @@ func Aws_cryptography_materialProviders_KmsPrivateKeyToStaticPublicKeyInput_send func Aws_cryptography_materialProviders_KmsPrivateKeyToStaticPublicKeyInput_senderPublicKey_ToDafny(input []byte) Wrappers.Option { return func() Wrappers.Option { - var v []interface{} + v := make([]interface{}, 0, len(input)) if input == nil { return Wrappers.Companion_Option_.Create_None_() } for _, e := range input { v = append(v, e) } - return Wrappers.Companion_Option_.Create_Some_(dafny.SeqOf(v...)) + return Wrappers.Companion_Option_.Create_Some_(dafny.SeqFromArray(v, false)) }() } func Aws_cryptography_materialProviders_KmsPrivateKeyToStaticPublicKeyInput_recipientPublicKey_ToDafny(input []byte) dafny.Sequence { return func() dafny.Sequence { - var v []interface{} + v := make([]interface{}, 0, len(input)) if input == nil { return nil } for _, e := range input { v = append(v, e) } - return dafny.SeqOf(v...) + return dafny.SeqFromArray(v, false) }() } @@ -978,6 +978,10 @@ func Aws_cryptography_materialProviders_CreateAwsKmsEcdhKeyringInput_curveSpec_T if enumVal == input { break } + if index == len(input.Values()) { + panic("Input value did not found in enum values") + } + } var enum interface{} for allEnums, i := dafny.Iterate(AwsCryptographyPrimitivesTypes.CompanionStruct_ECDHCurveSpec_{}.AllSingletonConstructors()), 0; i < index; i++ { @@ -1000,7 +1004,7 @@ func Aws_cryptography_materialProviders_CreateAwsKmsEcdhKeyringInput_grantTokens if input == nil { return Wrappers.Companion_Option_.Create_None_() } - var fieldValue []interface{} = make([]interface{}, 0) + var fieldValue []interface{} = make([]interface{}, 0, len(input)) for _, val := range input { element := Aws_cryptography_materialProviders_GrantTokenList_member_ToDafny(val) fieldValue = append(fieldValue, element) @@ -1207,6 +1211,7 @@ func Aws_cryptography_materialProviders_StormTrackingCache_timeUnits_ToDafny(inp if enumVal == *input { break } + } var enum interface{} for allEnums, i := dafny.Iterate(AwsCryptographyMaterialProvidersTypes.CompanionStruct_TimeUnits_{}.AllSingletonConstructors()), 0; i < index; i++ { @@ -1257,7 +1262,7 @@ func Aws_cryptography_materialProviders_CreateAwsKmsKeyringInput_grantTokens_ToD if input == nil { return Wrappers.Companion_Option_.Create_None_() } - var fieldValue []interface{} = make([]interface{}, 0) + var fieldValue []interface{} = make([]interface{}, 0, len(input)) for _, val := range input { element := Aws_cryptography_materialProviders_GrantTokenList_member_ToDafny(val) fieldValue = append(fieldValue, element) @@ -1284,7 +1289,7 @@ func Aws_cryptography_materialProviders_CreateAwsKmsMrkDiscoveryKeyringInput_gra if input == nil { return Wrappers.Companion_Option_.Create_None_() } - var fieldValue []interface{} = make([]interface{}, 0) + var fieldValue []interface{} = make([]interface{}, 0, len(input)) for _, val := range input { element := Aws_cryptography_materialProviders_GrantTokenList_member_ToDafny(val) fieldValue = append(fieldValue, element) @@ -1309,7 +1314,7 @@ func Aws_cryptography_materialProviders_CreateAwsKmsMrkDiscoveryKeyringInput_reg func Aws_cryptography_materialProviders_CreateAwsKmsMrkDiscoveryMultiKeyringInput_regions_ToDafny(input []string) dafny.Sequence { return func() dafny.Sequence { - var fieldValue []interface{} = make([]interface{}, 0) + var fieldValue []interface{} = make([]interface{}, 0, len(input)) for _, val := range input { element := Aws_cryptography_materialProviders_RegionList_member_ToDafny(val) fieldValue = append(fieldValue, element) @@ -1332,7 +1337,7 @@ func Aws_cryptography_materialProviders_CreateAwsKmsMrkDiscoveryMultiKeyringInpu if input == nil { return Wrappers.Companion_Option_.Create_None_() } - var fieldValue []interface{} = make([]interface{}, 0) + var fieldValue []interface{} = make([]interface{}, 0, len(input)) for _, val := range input { element := Aws_cryptography_materialProviders_GrantTokenList_member_ToDafny(val) fieldValue = append(fieldValue, element) @@ -1363,7 +1368,7 @@ func Aws_cryptography_materialProviders_CreateAwsKmsMrkKeyringInput_grantTokens_ if input == nil { return Wrappers.Companion_Option_.Create_None_() } - var fieldValue []interface{} = make([]interface{}, 0) + var fieldValue []interface{} = make([]interface{}, 0, len(input)) for _, val := range input { element := Aws_cryptography_materialProviders_GrantTokenList_member_ToDafny(val) fieldValue = append(fieldValue, element) @@ -1392,7 +1397,7 @@ func Aws_cryptography_materialProviders_CreateAwsKmsMrkMultiKeyringInput_kmsKeyI if input == nil { return Wrappers.Companion_Option_.Create_None_() } - var fieldValue []interface{} = make([]interface{}, 0) + var fieldValue []interface{} = make([]interface{}, 0, len(input)) for _, val := range input { element := Aws_cryptography_materialProviders_KmsKeyIdList_member_ToDafny(val) fieldValue = append(fieldValue, element) @@ -1419,7 +1424,7 @@ func Aws_cryptography_materialProviders_CreateAwsKmsMrkMultiKeyringInput_grantTo if input == nil { return Wrappers.Companion_Option_.Create_None_() } - var fieldValue []interface{} = make([]interface{}, 0) + var fieldValue []interface{} = make([]interface{}, 0, len(input)) for _, val := range input { element := Aws_cryptography_materialProviders_GrantTokenList_member_ToDafny(val) fieldValue = append(fieldValue, element) @@ -1448,7 +1453,7 @@ func Aws_cryptography_materialProviders_CreateAwsKmsMultiKeyringInput_kmsKeyIds_ if input == nil { return Wrappers.Companion_Option_.Create_None_() } - var fieldValue []interface{} = make([]interface{}, 0) + var fieldValue []interface{} = make([]interface{}, 0, len(input)) for _, val := range input { element := Aws_cryptography_materialProviders_KmsKeyIdList_member_ToDafny(val) fieldValue = append(fieldValue, element) @@ -1462,7 +1467,7 @@ func Aws_cryptography_materialProviders_CreateAwsKmsMultiKeyringInput_grantToken if input == nil { return Wrappers.Companion_Option_.Create_None_() } - var fieldValue []interface{} = make([]interface{}, 0) + var fieldValue []interface{} = make([]interface{}, 0, len(input)) for _, val := range input { element := Aws_cryptography_materialProviders_GrantTokenList_member_ToDafny(val) fieldValue = append(fieldValue, element) @@ -1473,14 +1478,14 @@ func Aws_cryptography_materialProviders_CreateAwsKmsMultiKeyringInput_grantToken func Aws_cryptography_materialProviders_CreateAwsKmsRsaKeyringInput_publicKey_ToDafny(input []byte) Wrappers.Option { return func() Wrappers.Option { - var v []interface{} + v := make([]interface{}, 0, len(input)) if input == nil { return Wrappers.Companion_Option_.Create_None_() } for _, e := range input { v = append(v, e) } - return Wrappers.Companion_Option_.Create_Some_(dafny.SeqOf(v...)) + return Wrappers.Companion_Option_.Create_Some_(dafny.SeqFromArray(v, false)) }() } @@ -1506,6 +1511,10 @@ func Aws_cryptography_materialProviders_CreateAwsKmsRsaKeyringInput_encryptionAl if enumVal == input { break } + if index == len(input.Values()) { + panic("Input value did not found in enum values") + } + } var enum interface{} for allEnums, i := dafny.Iterate(ComAmazonawsKmsTypes.CompanionStruct_EncryptionAlgorithmSpec_{}.AllSingletonConstructors()), 0; i < index; i++ { @@ -1533,7 +1542,7 @@ func Aws_cryptography_materialProviders_CreateAwsKmsRsaKeyringInput_grantTokens_ if input == nil { return Wrappers.Companion_Option_.Create_None_() } - var fieldValue []interface{} = make([]interface{}, 0) + var fieldValue []interface{} = make([]interface{}, 0, len(input)) for _, val := range input { element := Aws_cryptography_materialProviders_GrantTokenList_member_ToDafny(val) fieldValue = append(fieldValue, element) @@ -1579,7 +1588,7 @@ func Aws_cryptography_materialProviders_CreateCryptographicMaterialsCacheInput_c func Aws_cryptography_materialProviders_CreateMultiKeyringInput_childKeyrings_ToDafny(input []awscryptographymaterialproviderssmithygeneratedtypes.IKeyring) dafny.Sequence { return func() dafny.Sequence { - var fieldValue []interface{} = make([]interface{}, 0) + var fieldValue []interface{} = make([]interface{}, 0, len(input)) for _, val := range input { element := Keyring_ToDafny(val) fieldValue = append(fieldValue, element) @@ -1616,14 +1625,14 @@ func Aws_cryptography_materialProviders_CreateRawAesKeyringInput_keyName_ToDafny func Aws_cryptography_materialProviders_CreateRawAesKeyringInput_wrappingKey_ToDafny(input []byte) dafny.Sequence { return func() dafny.Sequence { - var v []interface{} + v := make([]interface{}, 0, len(input)) if input == nil { return nil } for _, e := range input { v = append(v, e) } - return dafny.SeqOf(v...) + return dafny.SeqFromArray(v, false) }() } @@ -1636,6 +1645,10 @@ func Aws_cryptography_materialProviders_CreateRawAesKeyringInput_wrappingAlg_ToD if enumVal == input { break } + if index == len(input.Values()) { + panic("Input value did not found in enum values") + } + } var enum interface{} for allEnums, i := dafny.Iterate(AwsCryptographyMaterialProvidersTypes.CompanionStruct_AesWrappingAlg_{}.AllSingletonConstructors()), 0; i < index; i++ { @@ -1678,14 +1691,14 @@ func Aws_cryptography_materialProviders_RawEcdhStaticConfigurations_PublicKeyDis func Aws_cryptography_materialProviders_PublicKeyDiscoveryInput_recipientStaticPrivateKey_ToDafny(input []byte) dafny.Sequence { return func() dafny.Sequence { - var v []interface{} + v := make([]interface{}, 0, len(input)) if input == nil { return nil } for _, e := range input { v = append(v, e) } - return dafny.SeqOf(v...) + return dafny.SeqFromArray(v, false) }() } @@ -1698,27 +1711,27 @@ func Aws_cryptography_materialProviders_RawEcdhStaticConfigurations_RawPrivateKe func Aws_cryptography_materialProviders_RawPrivateKeyToStaticPublicKeyInput_senderStaticPrivateKey_ToDafny(input []byte) dafny.Sequence { return func() dafny.Sequence { - var v []interface{} + v := make([]interface{}, 0, len(input)) if input == nil { return nil } for _, e := range input { v = append(v, e) } - return dafny.SeqOf(v...) + return dafny.SeqFromArray(v, false) }() } func Aws_cryptography_materialProviders_RawPrivateKeyToStaticPublicKeyInput_recipientPublicKey_ToDafny(input []byte) dafny.Sequence { return func() dafny.Sequence { - var v []interface{} + v := make([]interface{}, 0, len(input)) if input == nil { return nil } for _, e := range input { v = append(v, e) } - return dafny.SeqOf(v...) + return dafny.SeqFromArray(v, false) }() } @@ -1731,14 +1744,14 @@ func Aws_cryptography_materialProviders_RawEcdhStaticConfigurations_EphemeralPri func Aws_cryptography_materialProviders_EphemeralPrivateKeyToStaticPublicKeyInput_recipientPublicKey_ToDafny(input []byte) dafny.Sequence { return func() dafny.Sequence { - var v []interface{} + v := make([]interface{}, 0, len(input)) if input == nil { return nil } for _, e := range input { v = append(v, e) } - return dafny.SeqOf(v...) + return dafny.SeqFromArray(v, false) }() } @@ -1751,6 +1764,10 @@ func Aws_cryptography_materialProviders_CreateRawEcdhKeyringInput_curveSpec_ToDa if enumVal == input { break } + if index == len(input.Values()) { + panic("Input value did not found in enum values") + } + } var enum interface{} for allEnums, i := dafny.Iterate(AwsCryptographyPrimitivesTypes.CompanionStruct_ECDHCurveSpec_{}.AllSingletonConstructors()), 0; i < index; i++ { @@ -1799,6 +1816,10 @@ func Aws_cryptography_materialProviders_CreateRawRsaKeyringInput_paddingScheme_T if enumVal == input { break } + if index == len(input.Values()) { + panic("Input value did not found in enum values") + } + } var enum interface{} for allEnums, i := dafny.Iterate(AwsCryptographyMaterialProvidersTypes.CompanionStruct_PaddingScheme_{}.AllSingletonConstructors()), 0; i < index; i++ { @@ -1814,34 +1835,34 @@ func Aws_cryptography_materialProviders_CreateRawRsaKeyringInput_paddingScheme_T func Aws_cryptography_materialProviders_CreateRawRsaKeyringInput_publicKey_ToDafny(input []byte) Wrappers.Option { return func() Wrappers.Option { - var v []interface{} + v := make([]interface{}, 0, len(input)) if input == nil { return Wrappers.Companion_Option_.Create_None_() } for _, e := range input { v = append(v, e) } - return Wrappers.Companion_Option_.Create_Some_(dafny.SeqOf(v...)) + return Wrappers.Companion_Option_.Create_Some_(dafny.SeqFromArray(v, false)) }() } func Aws_cryptography_materialProviders_CreateRawRsaKeyringInput_privateKey_ToDafny(input []byte) Wrappers.Option { return func() Wrappers.Option { - var v []interface{} + v := make([]interface{}, 0, len(input)) if input == nil { return Wrappers.Companion_Option_.Create_None_() } for _, e := range input { v = append(v, e) } - return Wrappers.Companion_Option_.Create_Some_(dafny.SeqOf(v...)) + return Wrappers.Companion_Option_.Create_Some_(dafny.SeqFromArray(v, false)) }() } func Aws_cryptography_materialProviders_CreateRequiredEncryptionContextCMMInput_requiredEncryptionContextKeys_ToDafny(input []string) dafny.Sequence { return func() dafny.Sequence { - var fieldValue []interface{} = make([]interface{}, 0) + var fieldValue []interface{} = make([]interface{}, 0, len(input)) for _, val := range input { element := Aws_cryptography_materialProviders_EncryptionContextKeys_member_ToDafny(val) fieldValue = append(fieldValue, element) @@ -1900,6 +1921,10 @@ func Aws_cryptography_materialProviders_AlgorithmSuiteId_ESDK_ToDafny(input awsc if enumVal == input { break } + if index == len(input.Values()) { + panic("Input value did not found in enum values") + } + } var enum interface{} for allEnums, i := dafny.Iterate(AwsCryptographyMaterialProvidersTypes.CompanionStruct_ESDKAlgorithmSuiteId_{}.AllSingletonConstructors()), 0; i < index; i++ { @@ -1922,6 +1947,10 @@ func Aws_cryptography_materialProviders_AlgorithmSuiteId_DBE_ToDafny(input awscr if enumVal == input { break } + if index == len(input.Values()) { + panic("Input value did not found in enum values") + } + } var enum interface{} for allEnums, i := dafny.Iterate(AwsCryptographyMaterialProvidersTypes.CompanionStruct_DBEAlgorithmSuiteId_{}.AllSingletonConstructors()), 0; i < index; i++ { @@ -1937,14 +1966,14 @@ func Aws_cryptography_materialProviders_AlgorithmSuiteId_DBE_ToDafny(input awscr func Aws_cryptography_materialProviders_AlgorithmSuiteInfo_binaryId_ToDafny(input []byte) dafny.Sequence { return func() dafny.Sequence { - var v []interface{} + v := make([]interface{}, 0, len(input)) if input == nil { return nil } for _, e := range input { v = append(v, e) } - return dafny.SeqOf(v...) + return dafny.SeqFromArray(v, false) }() } @@ -2012,6 +2041,10 @@ func Aws_cryptography_materialProviders_HKDF_hmac_ToDafny(input awscryptographyp if enumVal == input { break } + if index == len(input.Values()) { + panic("Input value did not found in enum values") + } + } var enum interface{} for allEnums, i := dafny.Iterate(AwsCryptographyPrimitivesTypes.CompanionStruct_DigestAlgorithm_{}.AllSingletonConstructors()), 0; i < index; i++ { @@ -2113,6 +2146,10 @@ func Aws_cryptography_materialProviders_ECDSA_curve_ToDafny(input awscryptograph if enumVal == input { break } + if index == len(input.Values()) { + panic("Input value did not found in enum values") + } + } var enum interface{} for allEnums, i := dafny.Iterate(AwsCryptographyPrimitivesTypes.CompanionStruct_ECDSASignatureAlgorithm_{}.AllSingletonConstructors()), 0; i < index; i++ { @@ -2159,6 +2196,10 @@ func Aws_cryptography_materialProviders_SymmetricSignatureAlgorithm_HMAC_ToDafny if enumVal == input { break } + if index == len(input.Values()) { + panic("Input value did not found in enum values") + } + } var enum interface{} for allEnums, i := dafny.Iterate(AwsCryptographyPrimitivesTypes.CompanionStruct_DigestAlgorithm_{}.AllSingletonConstructors()), 0; i < index; i++ { @@ -2311,7 +2352,7 @@ func Aws_cryptography_materialProviders_EncryptionContext_value_ToDafny(input st func Aws_cryptography_materialProviders_DecryptionMaterials_requiredEncryptionContextKeys_ToDafny(input []string) dafny.Sequence { return func() dafny.Sequence { - var fieldValue []interface{} = make([]interface{}, 0) + var fieldValue []interface{} = make([]interface{}, 0, len(input)) for _, val := range input { element := Aws_cryptography_materialProviders_EncryptionContextKeys_member_ToDafny(val) fieldValue = append(fieldValue, element) @@ -2322,40 +2363,40 @@ func Aws_cryptography_materialProviders_DecryptionMaterials_requiredEncryptionCo func Aws_cryptography_materialProviders_DecryptionMaterials_plaintextDataKey_ToDafny(input []byte) Wrappers.Option { return func() Wrappers.Option { - var v []interface{} + v := make([]interface{}, 0, len(input)) if input == nil { return Wrappers.Companion_Option_.Create_None_() } for _, e := range input { v = append(v, e) } - return Wrappers.Companion_Option_.Create_Some_(dafny.SeqOf(v...)) + return Wrappers.Companion_Option_.Create_Some_(dafny.SeqFromArray(v, false)) }() } func Aws_cryptography_materialProviders_DecryptionMaterials_verificationKey_ToDafny(input []byte) Wrappers.Option { return func() Wrappers.Option { - var v []interface{} + v := make([]interface{}, 0, len(input)) if input == nil { return Wrappers.Companion_Option_.Create_None_() } for _, e := range input { v = append(v, e) } - return Wrappers.Companion_Option_.Create_Some_(dafny.SeqOf(v...)) + return Wrappers.Companion_Option_.Create_Some_(dafny.SeqFromArray(v, false)) }() } func Aws_cryptography_materialProviders_DecryptionMaterials_symmetricSigningKey_ToDafny(input []byte) Wrappers.Option { return func() Wrappers.Option { - var v []interface{} + v := make([]interface{}, 0, len(input)) if input == nil { return Wrappers.Companion_Option_.Create_None_() } for _, e := range input { v = append(v, e) } - return Wrappers.Companion_Option_.Create_Some_(dafny.SeqOf(v...)) + return Wrappers.Companion_Option_.Create_Some_(dafny.SeqFromArray(v, false)) }() } @@ -2379,7 +2420,7 @@ func Aws_cryptography_materialProviders_EncryptionMaterials_encryptionContext_To func Aws_cryptography_materialProviders_EncryptionMaterials_encryptedDataKeys_ToDafny(input []awscryptographymaterialproviderssmithygeneratedtypes.EncryptedDataKey) dafny.Sequence { return func() dafny.Sequence { - var fieldValue []interface{} = make([]interface{}, 0) + var fieldValue []interface{} = make([]interface{}, 0, len(input)) for _, val := range input { element := Aws_cryptography_materialProviders_EncryptedDataKeyList_member_ToDafny(val) fieldValue = append(fieldValue, element) @@ -2414,34 +2455,34 @@ func Aws_cryptography_materialProviders_EncryptedDataKey_keyProviderId_ToDafny(i func Aws_cryptography_materialProviders_EncryptedDataKey_keyProviderInfo_ToDafny(input []byte) dafny.Sequence { return func() dafny.Sequence { - var v []interface{} + v := make([]interface{}, 0, len(input)) if input == nil { return nil } for _, e := range input { v = append(v, e) } - return dafny.SeqOf(v...) + return dafny.SeqFromArray(v, false) }() } func Aws_cryptography_materialProviders_EncryptedDataKey_ciphertext_ToDafny(input []byte) dafny.Sequence { return func() dafny.Sequence { - var v []interface{} + v := make([]interface{}, 0, len(input)) if input == nil { return nil } for _, e := range input { v = append(v, e) } - return dafny.SeqOf(v...) + return dafny.SeqFromArray(v, false) }() } func Aws_cryptography_materialProviders_EncryptionMaterials_requiredEncryptionContextKeys_ToDafny(input []string) dafny.Sequence { return func() dafny.Sequence { - var fieldValue []interface{} = make([]interface{}, 0) + var fieldValue []interface{} = make([]interface{}, 0, len(input)) for _, val := range input { element := Aws_cryptography_materialProviders_EncryptionContextKeys_member_ToDafny(val) fieldValue = append(fieldValue, element) @@ -2452,27 +2493,27 @@ func Aws_cryptography_materialProviders_EncryptionMaterials_requiredEncryptionCo func Aws_cryptography_materialProviders_EncryptionMaterials_plaintextDataKey_ToDafny(input []byte) Wrappers.Option { return func() Wrappers.Option { - var v []interface{} + v := make([]interface{}, 0, len(input)) if input == nil { return Wrappers.Companion_Option_.Create_None_() } for _, e := range input { v = append(v, e) } - return Wrappers.Companion_Option_.Create_Some_(dafny.SeqOf(v...)) + return Wrappers.Companion_Option_.Create_Some_(dafny.SeqFromArray(v, false)) }() } func Aws_cryptography_materialProviders_EncryptionMaterials_signingKey_ToDafny(input []byte) Wrappers.Option { return func() Wrappers.Option { - var v []interface{} + v := make([]interface{}, 0, len(input)) if input == nil { return Wrappers.Companion_Option_.Create_None_() } for _, e := range input { v = append(v, e) } - return Wrappers.Companion_Option_.Create_Some_(dafny.SeqOf(v...)) + return Wrappers.Companion_Option_.Create_Some_(dafny.SeqFromArray(v, false)) }() } @@ -2481,7 +2522,7 @@ func Aws_cryptography_materialProviders_EncryptionMaterials_symmetricSigningKeys if input == nil { return Wrappers.Companion_Option_.Create_None_() } - var fieldValue []interface{} = make([]interface{}, 0) + var fieldValue []interface{} = make([]interface{}, 0, len(input)) for _, val := range input { element := Aws_cryptography_materialProviders_SymmetricSigningKeyList_member_ToDafny(val) fieldValue = append(fieldValue, element) @@ -2492,27 +2533,27 @@ func Aws_cryptography_materialProviders_EncryptionMaterials_symmetricSigningKeys func Aws_cryptography_materialProviders_SymmetricSigningKeyList_member_ToDafny(input []byte) dafny.Sequence { return func() dafny.Sequence { - var v []interface{} + v := make([]interface{}, 0, len(input)) if input == nil { return nil } for _, e := range input { v = append(v, e) } - return dafny.SeqOf(v...) + return dafny.SeqFromArray(v, false) }() } func Aws_cryptography_materialProviders_GetAlgorithmSuiteInfoInput_binaryId_ToDafny(input []byte) dafny.Sequence { return func() dafny.Sequence { - var v []interface{} + v := make([]interface{}, 0, len(input)) if input == nil { return nil } for _, e := range input { v = append(v, e) } - return dafny.SeqOf(v...) + return dafny.SeqFromArray(v, false) }() } @@ -2546,7 +2587,7 @@ func Aws_cryptography_materialProviders_InitializeDecryptionMaterialsInput_encry func Aws_cryptography_materialProviders_InitializeDecryptionMaterialsInput_requiredEncryptionContextKeys_ToDafny(input []string) dafny.Sequence { return func() dafny.Sequence { - var fieldValue []interface{} = make([]interface{}, 0) + var fieldValue []interface{} = make([]interface{}, 0, len(input)) for _, val := range input { element := Aws_cryptography_materialProviders_EncryptionContextKeys_member_ToDafny(val) fieldValue = append(fieldValue, element) @@ -2585,7 +2626,7 @@ func Aws_cryptography_materialProviders_InitializeEncryptionMaterialsInput_encry func Aws_cryptography_materialProviders_InitializeEncryptionMaterialsInput_requiredEncryptionContextKeys_ToDafny(input []string) dafny.Sequence { return func() dafny.Sequence { - var fieldValue []interface{} = make([]interface{}, 0) + var fieldValue []interface{} = make([]interface{}, 0, len(input)) for _, val := range input { element := Aws_cryptography_materialProviders_EncryptionContextKeys_member_ToDafny(val) fieldValue = append(fieldValue, element) @@ -2596,27 +2637,27 @@ func Aws_cryptography_materialProviders_InitializeEncryptionMaterialsInput_requi func Aws_cryptography_materialProviders_InitializeEncryptionMaterialsInput_signingKey_ToDafny(input []byte) Wrappers.Option { return func() Wrappers.Option { - var v []interface{} + v := make([]interface{}, 0, len(input)) if input == nil { return Wrappers.Companion_Option_.Create_None_() } for _, e := range input { v = append(v, e) } - return Wrappers.Companion_Option_.Create_Some_(dafny.SeqOf(v...)) + return Wrappers.Companion_Option_.Create_Some_(dafny.SeqFromArray(v, false)) }() } func Aws_cryptography_materialProviders_InitializeEncryptionMaterialsInput_verificationKey_ToDafny(input []byte) Wrappers.Option { return func() Wrappers.Option { - var v []interface{} + v := make([]interface{}, 0, len(input)) if input == nil { return Wrappers.Companion_Option_.Create_None_() } for _, e := range input { v = append(v, e) } - return Wrappers.Companion_Option_.Create_Some_(dafny.SeqOf(v...)) + return Wrappers.Companion_Option_.Create_Some_(dafny.SeqFromArray(v, false)) }() } @@ -2663,6 +2704,10 @@ func Aws_cryptography_materialProviders_CommitmentPolicy_ESDK_ToDafny(input awsc if enumVal == input { break } + if index == len(input.Values()) { + panic("Input value did not found in enum values") + } + } var enum interface{} for allEnums, i := dafny.Iterate(AwsCryptographyMaterialProvidersTypes.CompanionStruct_ESDKCommitmentPolicy_{}.AllSingletonConstructors()), 0; i < index; i++ { @@ -2685,6 +2730,10 @@ func Aws_cryptography_materialProviders_CommitmentPolicy_DBE_ToDafny(input awscr if enumVal == input { break } + if index == len(input.Values()) { + panic("Input value did not found in enum values") + } + } var enum interface{} for allEnums, i := dafny.Iterate(AwsCryptographyMaterialProvidersTypes.CompanionStruct_DBECommitmentPolicy_{}.AllSingletonConstructors()), 0; i < index; i++ { @@ -2802,27 +2851,27 @@ func Aws_cryptography_materialProviders_GetClientOutput_client_ToDafny(input *km func Aws_cryptography_materialProviders_DeleteCacheEntryInput_identifier_ToDafny(input []byte) dafny.Sequence { return func() dafny.Sequence { - var v []interface{} + v := make([]interface{}, 0, len(input)) if input == nil { return nil } for _, e := range input { v = append(v, e) } - return dafny.SeqOf(v...) + return dafny.SeqFromArray(v, false) }() } func Aws_cryptography_materialProviders_GetCacheEntryInput_identifier_ToDafny(input []byte) dafny.Sequence { return func() dafny.Sequence { - var v []interface{} + v := make([]interface{}, 0, len(input)) if input == nil { return nil } for _, e := range input { v = append(v, e) } - return dafny.SeqOf(v...) + return dafny.SeqFromArray(v, false) }() } @@ -2916,14 +2965,14 @@ func Aws_cryptography_materialProviders_GetCacheEntryOutput_bytesUsed_ToDafny(in func Aws_cryptography_materialProviders_PutCacheEntryInput_identifier_ToDafny(input []byte) dafny.Sequence { return func() dafny.Sequence { - var v []interface{} + v := make([]interface{}, 0, len(input)) if input == nil { return nil } for _, e := range input { v = append(v, e) } - return dafny.SeqOf(v...) + return dafny.SeqFromArray(v, false) }() } @@ -2984,14 +3033,14 @@ func Aws_cryptography_materialProviders_PutCacheEntryInput_bytesUsed_ToDafny(inp func Aws_cryptography_materialProviders_UpdateUsageMetadataInput_identifier_ToDafny(input []byte) dafny.Sequence { return func() dafny.Sequence { - var v []interface{} + v := make([]interface{}, 0, len(input)) if input == nil { return nil } for _, e := range input { v = append(v, e) } - return dafny.SeqOf(v...) + return dafny.SeqFromArray(v, false) }() } @@ -3039,7 +3088,7 @@ func Aws_cryptography_materialProviders_DecryptMaterialsInput_commitmentPolicy_T func Aws_cryptography_materialProviders_DecryptMaterialsInput_encryptedDataKeys_ToDafny(input []awscryptographymaterialproviderssmithygeneratedtypes.EncryptedDataKey) dafny.Sequence { return func() dafny.Sequence { - var fieldValue []interface{} = make([]interface{}, 0) + var fieldValue []interface{} = make([]interface{}, 0, len(input)) for _, val := range input { element := Aws_cryptography_materialProviders_EncryptedDataKeyList_member_ToDafny(val) fieldValue = append(fieldValue, element) @@ -3135,7 +3184,7 @@ func Aws_cryptography_materialProviders_GetEncryptionMaterialsInput_requiredEncr if input == nil { return Wrappers.Companion_Option_.Create_None_() } - var fieldValue []interface{} = make([]interface{}, 0) + var fieldValue []interface{} = make([]interface{}, 0, len(input)) for _, val := range input { element := Aws_cryptography_materialProviders_EncryptionContextKeys_member_ToDafny(val) fieldValue = append(fieldValue, element) @@ -3161,7 +3210,7 @@ func Aws_cryptography_materialProviders_OnDecryptInput_materials_ToDafny(input a func Aws_cryptography_materialProviders_OnDecryptInput_encryptedDataKeys_ToDafny(input []awscryptographymaterialproviderssmithygeneratedtypes.EncryptedDataKey) dafny.Sequence { return func() dafny.Sequence { - var fieldValue []interface{} = make([]interface{}, 0) + var fieldValue []interface{} = make([]interface{}, 0, len(input)) for _, val := range input { element := Aws_cryptography_materialProviders_EncryptedDataKeyList_member_ToDafny(val) fieldValue = append(fieldValue, element) diff --git a/releases/go/mpl/awscryptographymaterialproviderssmithygenerated/to_native.go b/releases/go/mpl/awscryptographymaterialproviderssmithygenerated/to_native.go index 38af8faf30..7bceb4391b 100644 --- a/releases/go/mpl/awscryptographymaterialproviderssmithygenerated/to_native.go +++ b/releases/go/mpl/awscryptographymaterialproviderssmithygenerated/to_native.go @@ -883,34 +883,28 @@ func Aws_cryptography_materialProviders_KmsPrivateKeyToStaticPublicKeyInput_send } func Aws_cryptography_materialProviders_KmsPrivateKeyToStaticPublicKeyInput_senderPublicKey_FromDafny(input interface{}) []byte { return func() []byte { - b := []byte{} if input == nil { return nil } - for i := dafny.Iterate(input); ; { - val, ok := i() - if !ok { - return b - } else { - b = append(b, val.(byte)) - } + a := input.(dafny.Sequence).ToArray().(dafny.GoNativeArray) + b := make([]byte, 0, a.Length()) + for i := uint32(0); i < a.Length(); i++ { + b = append(b, a.Select(i).(byte)) } + return b }() } func Aws_cryptography_materialProviders_KmsPrivateKeyToStaticPublicKeyInput_recipientPublicKey_FromDafny(input interface{}) []byte { return func() []byte { - b := []byte{} if input == nil { return nil } - for i := dafny.Iterate(input); ; { - val, ok := i() - if !ok { - return b - } else { - b = append(b, val.(byte)) - } + a := input.(dafny.Sequence).ToArray().(dafny.GoNativeArray) + b := make([]byte, 0, a.Length()) + for i := uint32(0); i < a.Length(); i++ { + b = append(b, a.Select(i).(byte)) } + return b }() } func Aws_cryptography_materialProviders_CreateAwsKmsEcdhKeyringInput_curveSpec_FromDafny(input interface{}) awscryptographyprimitivessmithygeneratedtypes.ECDHCurveSpec { @@ -1395,18 +1389,15 @@ func Aws_cryptography_materialProviders_CreateAwsKmsMultiKeyringInput_grantToken } func Aws_cryptography_materialProviders_CreateAwsKmsRsaKeyringInput_publicKey_FromDafny(input interface{}) []byte { return func() []byte { - b := []byte{} if input == nil { return nil } - for i := dafny.Iterate(input); ; { - val, ok := i() - if !ok { - return b - } else { - b = append(b, val.(byte)) - } + a := input.(dafny.Sequence).ToArray().(dafny.GoNativeArray) + b := make([]byte, 0, a.Length()) + for i := uint32(0); i < a.Length(); i++ { + b = append(b, a.Select(i).(byte)) } + return b }() } func Aws_cryptography_materialProviders_CreateAwsKmsRsaKeyringInput_kmsKeyId_FromDafny(input interface{}) string { @@ -1532,18 +1523,15 @@ func Aws_cryptography_materialProviders_CreateRawAesKeyringInput_keyName_FromDaf } func Aws_cryptography_materialProviders_CreateRawAesKeyringInput_wrappingKey_FromDafny(input interface{}) []byte { return func() []byte { - b := []byte{} if input == nil { return nil } - for i := dafny.Iterate(input); ; { - val, ok := i() - if !ok { - return b - } else { - b = append(b, val.(byte)) - } + a := input.(dafny.Sequence).ToArray().(dafny.GoNativeArray) + b := make([]byte, 0, a.Length()) + for i := uint32(0); i < a.Length(); i++ { + b = append(b, a.Select(i).(byte)) } + return b }() } func Aws_cryptography_materialProviders_CreateRawAesKeyringInput_wrappingAlg_FromDafny(input interface{}) awscryptographymaterialproviderssmithygeneratedtypes.AesWrappingAlg { @@ -1594,18 +1582,15 @@ func Aws_cryptography_materialProviders_RawEcdhStaticConfigurations_PublicKeyDis } func Aws_cryptography_materialProviders_PublicKeyDiscoveryInput_recipientStaticPrivateKey_FromDafny(input interface{}) []byte { return func() []byte { - b := []byte{} if input == nil { return nil } - for i := dafny.Iterate(input); ; { - val, ok := i() - if !ok { - return b - } else { - b = append(b, val.(byte)) - } + a := input.(dafny.Sequence).ToArray().(dafny.GoNativeArray) + b := make([]byte, 0, a.Length()) + for i := uint32(0); i < a.Length(); i++ { + b = append(b, a.Select(i).(byte)) } + return b }() } func Aws_cryptography_materialProviders_RawEcdhStaticConfigurations_RawPrivateKeyToStaticPublicKey_FromDafny(input interface{}) awscryptographymaterialproviderssmithygeneratedtypes.RawPrivateKeyToStaticPublicKeyInput { @@ -1615,34 +1600,28 @@ func Aws_cryptography_materialProviders_RawEcdhStaticConfigurations_RawPrivateKe } func Aws_cryptography_materialProviders_RawPrivateKeyToStaticPublicKeyInput_senderStaticPrivateKey_FromDafny(input interface{}) []byte { return func() []byte { - b := []byte{} if input == nil { return nil } - for i := dafny.Iterate(input); ; { - val, ok := i() - if !ok { - return b - } else { - b = append(b, val.(byte)) - } + a := input.(dafny.Sequence).ToArray().(dafny.GoNativeArray) + b := make([]byte, 0, a.Length()) + for i := uint32(0); i < a.Length(); i++ { + b = append(b, a.Select(i).(byte)) } + return b }() } func Aws_cryptography_materialProviders_RawPrivateKeyToStaticPublicKeyInput_recipientPublicKey_FromDafny(input interface{}) []byte { return func() []byte { - b := []byte{} if input == nil { return nil } - for i := dafny.Iterate(input); ; { - val, ok := i() - if !ok { - return b - } else { - b = append(b, val.(byte)) - } + a := input.(dafny.Sequence).ToArray().(dafny.GoNativeArray) + b := make([]byte, 0, a.Length()) + for i := uint32(0); i < a.Length(); i++ { + b = append(b, a.Select(i).(byte)) } + return b }() } func Aws_cryptography_materialProviders_RawEcdhStaticConfigurations_EphemeralPrivateKeyToStaticPublicKey_FromDafny(input interface{}) awscryptographymaterialproviderssmithygeneratedtypes.EphemeralPrivateKeyToStaticPublicKeyInput { @@ -1650,18 +1629,15 @@ func Aws_cryptography_materialProviders_RawEcdhStaticConfigurations_EphemeralPri } func Aws_cryptography_materialProviders_EphemeralPrivateKeyToStaticPublicKeyInput_recipientPublicKey_FromDafny(input interface{}) []byte { return func() []byte { - b := []byte{} if input == nil { return nil } - for i := dafny.Iterate(input); ; { - val, ok := i() - if !ok { - return b - } else { - b = append(b, val.(byte)) - } + a := input.(dafny.Sequence).ToArray().(dafny.GoNativeArray) + b := make([]byte, 0, a.Length()) + for i := uint32(0); i < a.Length(); i++ { + b = append(b, a.Select(i).(byte)) } + return b }() } func Aws_cryptography_materialProviders_CreateRawEcdhKeyringInput_curveSpec_FromDafny(input interface{}) awscryptographyprimitivessmithygeneratedtypes.ECDHCurveSpec { @@ -1720,34 +1696,28 @@ func Aws_cryptography_materialProviders_CreateRawRsaKeyringInput_paddingScheme_F } func Aws_cryptography_materialProviders_CreateRawRsaKeyringInput_publicKey_FromDafny(input interface{}) []byte { return func() []byte { - b := []byte{} if input == nil { return nil } - for i := dafny.Iterate(input); ; { - val, ok := i() - if !ok { - return b - } else { - b = append(b, val.(byte)) - } + a := input.(dafny.Sequence).ToArray().(dafny.GoNativeArray) + b := make([]byte, 0, a.Length()) + for i := uint32(0); i < a.Length(); i++ { + b = append(b, a.Select(i).(byte)) } + return b }() } func Aws_cryptography_materialProviders_CreateRawRsaKeyringInput_privateKey_FromDafny(input interface{}) []byte { return func() []byte { - b := []byte{} if input == nil { return nil } - for i := dafny.Iterate(input); ; { - val, ok := i() - if !ok { - return b - } else { - b = append(b, val.(byte)) - } + a := input.(dafny.Sequence).ToArray().(dafny.GoNativeArray) + b := make([]byte, 0, a.Length()) + for i := uint32(0); i < a.Length(); i++ { + b = append(b, a.Select(i).(byte)) } + return b }() } func Aws_cryptography_materialProviders_CreateRequiredEncryptionContextCMMInput_requiredEncryptionContextKeys_FromDafny(input interface{}) []string { @@ -1841,18 +1811,15 @@ func Aws_cryptography_materialProviders_AlgorithmSuiteId_DBE_FromDafny(input int } func Aws_cryptography_materialProviders_AlgorithmSuiteInfo_binaryId_FromDafny(input interface{}) []byte { return func() []byte { - b := []byte{} if input == nil { return nil } - for i := dafny.Iterate(input); ; { - val, ok := i() - if !ok { - return b - } else { - b = append(b, val.(byte)) - } + a := input.(dafny.Sequence).ToArray().(dafny.GoNativeArray) + b := make([]byte, 0, a.Length()) + for i := uint32(0); i < a.Length(); i++ { + b = append(b, a.Select(i).(byte)) } + return b }() } func Aws_cryptography_materialProviders_AlgorithmSuiteInfo_messageVersion_FromDafny(input interface{}) int32 { @@ -2203,50 +2170,41 @@ func Aws_cryptography_materialProviders_DecryptionMaterials_requiredEncryptionCo } func Aws_cryptography_materialProviders_DecryptionMaterials_plaintextDataKey_FromDafny(input interface{}) []byte { return func() []byte { - b := []byte{} if input == nil { return nil } - for i := dafny.Iterate(input); ; { - val, ok := i() - if !ok { - return b - } else { - b = append(b, val.(byte)) - } + a := input.(dafny.Sequence).ToArray().(dafny.GoNativeArray) + b := make([]byte, 0, a.Length()) + for i := uint32(0); i < a.Length(); i++ { + b = append(b, a.Select(i).(byte)) } + return b }() } func Aws_cryptography_materialProviders_DecryptionMaterials_verificationKey_FromDafny(input interface{}) []byte { return func() []byte { - b := []byte{} if input == nil { return nil } - for i := dafny.Iterate(input); ; { - val, ok := i() - if !ok { - return b - } else { - b = append(b, val.(byte)) - } + a := input.(dafny.Sequence).ToArray().(dafny.GoNativeArray) + b := make([]byte, 0, a.Length()) + for i := uint32(0); i < a.Length(); i++ { + b = append(b, a.Select(i).(byte)) } + return b }() } func Aws_cryptography_materialProviders_DecryptionMaterials_symmetricSigningKey_FromDafny(input interface{}) []byte { return func() []byte { - b := []byte{} if input == nil { return nil } - for i := dafny.Iterate(input); ; { - val, ok := i() - if !ok { - return b - } else { - b = append(b, val.(byte)) - } + a := input.(dafny.Sequence).ToArray().(dafny.GoNativeArray) + b := make([]byte, 0, a.Length()) + for i := uint32(0); i < a.Length(); i++ { + b = append(b, a.Select(i).(byte)) } + return b }() } func Aws_cryptography_materialProviders_EncryptionMaterials_algorithmSuite_FromDafny(input interface{}) awscryptographymaterialproviderssmithygeneratedtypes.AlgorithmSuiteInfo { @@ -2306,34 +2264,28 @@ func Aws_cryptography_materialProviders_EncryptedDataKey_keyProviderId_FromDafny } func Aws_cryptography_materialProviders_EncryptedDataKey_keyProviderInfo_FromDafny(input interface{}) []byte { return func() []byte { - b := []byte{} if input == nil { return nil } - for i := dafny.Iterate(input); ; { - val, ok := i() - if !ok { - return b - } else { - b = append(b, val.(byte)) - } + a := input.(dafny.Sequence).ToArray().(dafny.GoNativeArray) + b := make([]byte, 0, a.Length()) + for i := uint32(0); i < a.Length(); i++ { + b = append(b, a.Select(i).(byte)) } + return b }() } func Aws_cryptography_materialProviders_EncryptedDataKey_ciphertext_FromDafny(input interface{}) []byte { return func() []byte { - b := []byte{} if input == nil { return nil } - for i := dafny.Iterate(input); ; { - val, ok := i() - if !ok { - return b - } else { - b = append(b, val.(byte)) - } + a := input.(dafny.Sequence).ToArray().(dafny.GoNativeArray) + b := make([]byte, 0, a.Length()) + for i := uint32(0); i < a.Length(); i++ { + b = append(b, a.Select(i).(byte)) } + return b }() } func Aws_cryptography_materialProviders_EncryptionMaterials_requiredEncryptionContextKeys_FromDafny(input interface{}) []string { @@ -2349,34 +2301,28 @@ func Aws_cryptography_materialProviders_EncryptionMaterials_requiredEncryptionCo } func Aws_cryptography_materialProviders_EncryptionMaterials_plaintextDataKey_FromDafny(input interface{}) []byte { return func() []byte { - b := []byte{} if input == nil { return nil } - for i := dafny.Iterate(input); ; { - val, ok := i() - if !ok { - return b - } else { - b = append(b, val.(byte)) - } + a := input.(dafny.Sequence).ToArray().(dafny.GoNativeArray) + b := make([]byte, 0, a.Length()) + for i := uint32(0); i < a.Length(); i++ { + b = append(b, a.Select(i).(byte)) } + return b }() } func Aws_cryptography_materialProviders_EncryptionMaterials_signingKey_FromDafny(input interface{}) []byte { return func() []byte { - b := []byte{} if input == nil { return nil } - for i := dafny.Iterate(input); ; { - val, ok := i() - if !ok { - return b - } else { - b = append(b, val.(byte)) - } + a := input.(dafny.Sequence).ToArray().(dafny.GoNativeArray) + b := make([]byte, 0, a.Length()) + for i := uint32(0); i < a.Length(); i++ { + b = append(b, a.Select(i).(byte)) } + return b }() } func Aws_cryptography_materialProviders_EncryptionMaterials_symmetricSigningKeys_FromDafny(input interface{}) [][]byte { @@ -2395,34 +2341,28 @@ func Aws_cryptography_materialProviders_EncryptionMaterials_symmetricSigningKeys } func Aws_cryptography_materialProviders_SymmetricSigningKeyList_member_FromDafny(input interface{}) []byte { return func() []byte { - b := []byte{} if input == nil { return nil } - for i := dafny.Iterate(input); ; { - val, ok := i() - if !ok { - return b - } else { - b = append(b, val.(byte)) - } + a := input.(dafny.Sequence).ToArray().(dafny.GoNativeArray) + b := make([]byte, 0, a.Length()) + for i := uint32(0); i < a.Length(); i++ { + b = append(b, a.Select(i).(byte)) } + return b }() } func Aws_cryptography_materialProviders_GetAlgorithmSuiteInfoInput_binaryId_FromDafny(input interface{}) []byte { return func() []byte { - b := []byte{} if input == nil { return nil } - for i := dafny.Iterate(input); ; { - val, ok := i() - if !ok { - return b - } else { - b = append(b, val.(byte)) - } + a := input.(dafny.Sequence).ToArray().(dafny.GoNativeArray) + b := make([]byte, 0, a.Length()) + for i := uint32(0); i < a.Length(); i++ { + b = append(b, a.Select(i).(byte)) } + return b }() } func Aws_cryptography_materialProviders_InitializeDecryptionMaterialsInput_algorithmSuiteId_FromDafny(input interface{}) awscryptographymaterialproviderssmithygeneratedtypes.AlgorithmSuiteId { @@ -2517,34 +2457,28 @@ func Aws_cryptography_materialProviders_InitializeEncryptionMaterialsInput_requi } func Aws_cryptography_materialProviders_InitializeEncryptionMaterialsInput_signingKey_FromDafny(input interface{}) []byte { return func() []byte { - b := []byte{} if input == nil { return nil } - for i := dafny.Iterate(input); ; { - val, ok := i() - if !ok { - return b - } else { - b = append(b, val.(byte)) - } + a := input.(dafny.Sequence).ToArray().(dafny.GoNativeArray) + b := make([]byte, 0, a.Length()) + for i := uint32(0); i < a.Length(); i++ { + b = append(b, a.Select(i).(byte)) } + return b }() } func Aws_cryptography_materialProviders_InitializeEncryptionMaterialsInput_verificationKey_FromDafny(input interface{}) []byte { return func() []byte { - b := []byte{} if input == nil { return nil } - for i := dafny.Iterate(input); ; { - val, ok := i() - if !ok { - return b - } else { - b = append(b, val.(byte)) - } + a := input.(dafny.Sequence).ToArray().(dafny.GoNativeArray) + b := make([]byte, 0, a.Length()) + for i := uint32(0); i < a.Length(); i++ { + b = append(b, a.Select(i).(byte)) } + return b }() } func Aws_cryptography_materialProviders_ValidateCommitmentPolicyOnDecryptInput_algorithm_FromDafny(input interface{}) awscryptographymaterialproviderssmithygeneratedtypes.AlgorithmSuiteId { @@ -2740,34 +2674,28 @@ func Aws_cryptography_materialProviders_GetClientOutput_client_FromDafny(input i } func Aws_cryptography_materialProviders_DeleteCacheEntryInput_identifier_FromDafny(input interface{}) []byte { return func() []byte { - b := []byte{} if input == nil { return nil } - for i := dafny.Iterate(input); ; { - val, ok := i() - if !ok { - return b - } else { - b = append(b, val.(byte)) - } + a := input.(dafny.Sequence).ToArray().(dafny.GoNativeArray) + b := make([]byte, 0, a.Length()) + for i := uint32(0); i < a.Length(); i++ { + b = append(b, a.Select(i).(byte)) } + return b }() } func Aws_cryptography_materialProviders_GetCacheEntryInput_identifier_FromDafny(input interface{}) []byte { return func() []byte { - b := []byte{} if input == nil { return nil } - for i := dafny.Iterate(input); ; { - val, ok := i() - if !ok { - return b - } else { - b = append(b, val.(byte)) - } + a := input.(dafny.Sequence).ToArray().(dafny.GoNativeArray) + b := make([]byte, 0, a.Length()) + for i := uint32(0); i < a.Length(); i++ { + b = append(b, a.Select(i).(byte)) } + return b }() } func Aws_cryptography_materialProviders_GetCacheEntryInput_bytesUsed_FromDafny(input interface{}) *int64 { @@ -2872,18 +2800,15 @@ func Aws_cryptography_materialProviders_GetCacheEntryOutput_bytesUsed_FromDafny( } func Aws_cryptography_materialProviders_PutCacheEntryInput_identifier_FromDafny(input interface{}) []byte { return func() []byte { - b := []byte{} if input == nil { return nil } - for i := dafny.Iterate(input); ; { - val, ok := i() - if !ok { - return b - } else { - b = append(b, val.(byte)) - } + a := input.(dafny.Sequence).ToArray().(dafny.GoNativeArray) + b := make([]byte, 0, a.Length()) + for i := uint32(0); i < a.Length(); i++ { + b = append(b, a.Select(i).(byte)) } + return b }() } func Aws_cryptography_materialProviders_PutCacheEntryInput_materials_FromDafny(input interface{}) awscryptographymaterialproviderssmithygeneratedtypes.Materials { @@ -2953,18 +2878,15 @@ func Aws_cryptography_materialProviders_PutCacheEntryInput_bytesUsed_FromDafny(i } func Aws_cryptography_materialProviders_UpdateUsageMetadataInput_identifier_FromDafny(input interface{}) []byte { return func() []byte { - b := []byte{} if input == nil { return nil } - for i := dafny.Iterate(input); ; { - val, ok := i() - if !ok { - return b - } else { - b = append(b, val.(byte)) - } + a := input.(dafny.Sequence).ToArray().(dafny.GoNativeArray) + b := make([]byte, 0, a.Length()) + for i := uint32(0); i < a.Length(); i++ { + b = append(b, a.Select(i).(byte)) } + return b }() } func Aws_cryptography_materialProviders_UpdateUsageMetadataInput_bytesUsed_FromDafny(input interface{}) int32 { diff --git a/releases/go/mpl/awscryptographymaterialproviderssmithygeneratedtypes/errors.go b/releases/go/mpl/awscryptographymaterialproviderssmithygeneratedtypes/errors.go index 25535e951c..23aa412177 100644 --- a/releases/go/mpl/awscryptographymaterialproviderssmithygeneratedtypes/errors.go +++ b/releases/go/mpl/awscryptographymaterialproviderssmithygeneratedtypes/errors.go @@ -86,32 +86,32 @@ func (e InvalidEncryptionMaterialsTransition) Error() string { return fmt.Sprintf("%s: %s", e.ErrorCodeOverride, e.Message) } -type EntryAlreadyExists struct { +type EntryDoesNotExist struct { AwsCryptographicMaterialProvidersBaseException Message string ErrorCodeOverride *string } -func (e EntryAlreadyExists) Error() string { +func (e EntryDoesNotExist) Error() string { return fmt.Sprintf("%s: %s", e.ErrorCodeOverride, e.Message) } -type EntryDoesNotExist struct { +type InFlightTTLExceeded struct { AwsCryptographicMaterialProvidersBaseException Message string ErrorCodeOverride *string } -func (e EntryDoesNotExist) Error() string { +func (e InFlightTTLExceeded) Error() string { return fmt.Sprintf("%s: %s", e.ErrorCodeOverride, e.Message) } -type InFlightTTLExceeded struct { +type EntryAlreadyExists struct { AwsCryptographicMaterialProvidersBaseException Message string ErrorCodeOverride *string } -func (e InFlightTTLExceeded) Error() string { +func (e EntryAlreadyExists) Error() string { return fmt.Sprintf("%s: %s", e.ErrorCodeOverride, e.Message) } diff --git a/releases/go/mpl/go.mod b/releases/go/mpl/go.mod index 14dbf8d312..166aba7b70 100644 --- a/releases/go/mpl/go.mod +++ b/releases/go/mpl/go.mod @@ -2,33 +2,39 @@ module github.com/aws/aws-cryptographic-material-providers-library/releases/go/m go 1.23.0 -require github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library v0.2.0 +require github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library v0.2.1 require ( - github.com/aws/aws-cryptographic-material-providers-library/releases/go/dynamodb v0.2.0 - github.com/aws/aws-cryptographic-material-providers-library/releases/go/kms v0.2.0 - github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives v0.2.0 - github.com/aws/aws-sdk-go-v2/service/dynamodb v1.39.2 - github.com/aws/aws-sdk-go-v2/service/kms v1.36.0 - github.com/aws/smithy-go v1.22.1 - github.com/dafny-lang/DafnyRuntimeGo/v4 v4.9.2 + github.com/aws/aws-cryptographic-material-providers-library/releases/go/dynamodb v0.2.1 + github.com/aws/aws-cryptographic-material-providers-library/releases/go/kms v0.2.1 + github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives v0.2.1 + github.com/aws/aws-sdk-go-v2/service/dynamodb v1.46.0 + github.com/aws/aws-sdk-go-v2/service/kms v1.43.0 + github.com/aws/smithy-go v1.22.5 + github.com/dafny-lang/DafnyRuntimeGo/v4 v4.10.1 ) require ( - github.com/aws/aws-sdk-go-v2 v1.32.8 // indirect - github.com/aws/aws-sdk-go-v2/config v1.28.10 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.17.51 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.23 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.27 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.27 // indirect - github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.10.8 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.8 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.24.9 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.8 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.33.6 // indirect + github.com/aws/aws-sdk-go-v2 v1.37.2 // indirect + github.com/aws/aws-sdk-go-v2/config v1.30.3 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.18.3 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.2 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.2 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.2 // indirect + github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.2 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.2 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.27.0 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.32.0 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.36.0 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/jmespath/go-jmespath v0.4.0 // indirect +) + +replace ( + github.com/aws/aws-cryptographic-material-providers-library/releases/go/dynamodb v0.0.0 => ../../../../ComAmazonawsDynamodb/runtimes/go/ImplementationFromDafny-go/ + github.com/aws/aws-cryptographic-material-providers-library/releases/go/kms v0.0.0 => ../../../../ComAmazonawsKms/runtimes/go/ImplementationFromDafny-go/ + github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives v0.0.0 => ../../../../AwsCryptographyPrimitives/runtimes/go/ImplementationFromDafny-go/ + ) diff --git a/releases/go/mpl/go.sum b/releases/go/mpl/go.sum index 47458f9d78..eea6ccfd0d 100644 --- a/releases/go/mpl/go.sum +++ b/releases/go/mpl/go.sum @@ -1,56 +1,44 @@ -github.com/aws/aws-cryptographic-material-providers-library/releases/go/dynamodb v0.2.0 h1:kow/mXv8Hu6aLWl8rlnRDKA897tl3lRa8ALOcSDwWMQ= -github.com/aws/aws-cryptographic-material-providers-library/releases/go/dynamodb v0.2.0/go.mod h1:JHhMzDQkrbrze8jkTYbIKI0+uK2Up6UxqVUOKRUj1qo= -github.com/aws/aws-cryptographic-material-providers-library/releases/go/kms v0.2.0 h1:xVK6j0MNjVrzmwzjRXnuq2BOc0mjlRWQ35Mc1OTKmjo= -github.com/aws/aws-cryptographic-material-providers-library/releases/go/kms v0.2.0/go.mod h1:KMs3humzWQ5kbdPLuXukCtxt/JbKr2tPWj+jlJUF7T4= -github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives v0.2.0 h1:nvPnMVl9dUqDb7oYvJh/7SiWcccs4n0dk7WjLX1BsJ8= -github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives v0.2.0/go.mod h1:W9V6Mm0ULDvH1JGL7/0qkrzRYuGTaxXfgEOoT7TodQM= -github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library v0.2.0 h1:NhVxn86bWyWc/uOnE+oTikZdj75yOW6kMCfZNBf2x5E= -github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library v0.2.0/go.mod h1:m3mzHKiNiSC0LWeWX6ZAxSe6mKbJHgliux1Yu/sjCYI= -github.com/aws/aws-sdk-go-v2 v1.32.8 h1:cZV+NUS/eGxKXMtmyhtYPJ7Z4YLoI/V8bkTdRZfYhGo= -github.com/aws/aws-sdk-go-v2 v1.32.8/go.mod h1:P5WJBrYqqbWVaOxgH0X/FYYD47/nooaPOZPlQdmiN2U= -github.com/aws/aws-sdk-go-v2/config v1.28.10 h1:fKODZHfqQu06pCzR69KJ3GuttraRJkhlC8g80RZ0Dfg= -github.com/aws/aws-sdk-go-v2/config v1.28.10/go.mod h1:PvdxRYZ5Um9QMq9PQ0zHHNdtKK+he2NHtFCUFMXWXeg= -github.com/aws/aws-sdk-go-v2/credentials v1.17.51 h1:F/9Sm6Y6k4LqDesZDPJCLxQGXNNHd/ZtJiWd0lCZKRk= -github.com/aws/aws-sdk-go-v2/credentials v1.17.51/go.mod h1:TKbzCHm43AoPyA+iLGGcruXd4AFhF8tOmLex2R9jWNQ= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.23 h1:IBAoD/1d8A8/1aA8g4MBVtTRHhXRiNAgwdbo/xRM2DI= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.23/go.mod h1:vfENuCM7dofkgKpYzuzf1VT1UKkA/YL3qanfBn7HCaA= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.27 h1:jSJjSBzw8VDIbWv+mmvBSP8ezsztMYJGH+eKqi9AmNs= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.27/go.mod h1:/DAhLbFRgwhmvJdOfSm+WwikZrCuUJiA4WgJG0fTNSw= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.27 h1:l+X4K77Dui85pIj5foXDhPlnqcNRG2QUyvca300lXh8= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.27/go.mod h1:KvZXSFEXm6x84yE8qffKvT3x8J5clWnVFXphpohhzJ8= -github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 h1:VaRN3TlFdd6KxX1x3ILT5ynH6HvKgqdiXoTxAF4HQcQ= -github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1/go.mod h1:FbtygfRFze9usAadmnGJNc8KsP346kEe+y2/oyhGAGc= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.39.2 h1:XcdIh35yg1J8bAiUOLtL/PoPMSGsD72Zanwmim8jEXc= -github.com/aws/aws-sdk-go-v2/service/dynamodb v1.39.2/go.mod h1:516U/KQM3zdcahNBjHUZKGWNfNnIYyt7sxLeqOx78b0= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1 h1:iXtILhvDxB6kPvEXgsDhGaZCSC6LQET5ZHSdJozeI0Y= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.1/go.mod h1:9nu0fVANtYiAePIBh2/pFUSwtJ402hLnp854CNoDOeE= -github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.10.8 h1:h56mLNgpqWIL7RZOIQO634Xr569bXGTlIE83t/a0LSE= -github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.10.8/go.mod h1:kK04550Xx95KI0sNmwoB7ciS9QkRwt9TojhoTMXyJdo= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.8 h1:cWno7lefSH6Pp+mSznagKCgfDGeZRin66UvYUqAkyeA= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.8/go.mod h1:tPD+VjU3ABTBoEJ3nctu5Nyg4P4yjqSH5bJGGkY4+XE= -github.com/aws/aws-sdk-go-v2/service/kms v1.36.0 h1:jwWMpQ/1obJRdHaix9k10zWSnSMZGdDTZIDiS5CGzq8= -github.com/aws/aws-sdk-go-v2/service/kms v1.36.0/go.mod h1:OHmlX4+o0XIlJAQGAHPIy0N9yZcYS/vNG+T7geSNcFw= -github.com/aws/aws-sdk-go-v2/service/sso v1.24.9 h1:YqtxripbjWb2QLyzRK9pByfEDvgg95gpC2AyDq4hFE8= -github.com/aws/aws-sdk-go-v2/service/sso v1.24.9/go.mod h1:lV8iQpg6OLOfBnqbGMBKYjilBlf633qwHnBEiMSPoHY= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.8 h1:6dBT1Lz8fK11m22R+AqfRsFn8320K0T5DTGxxOQBSMw= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.8/go.mod h1:/kiBvRQXBc6xeJTYzhSdGvJ5vm1tjaDEjH+MSeRJnlY= -github.com/aws/aws-sdk-go-v2/service/sts v1.33.6 h1:VwhTrsTuVn52an4mXx29PqRzs2Dvu921NpGk7y43tAM= -github.com/aws/aws-sdk-go-v2/service/sts v1.33.6/go.mod h1:+8h7PZb3yY5ftmVLD7ocEoE98hdc8PoKS0H3wfx1dlc= -github.com/aws/smithy-go v1.22.1 h1:/HPHZQ0g7f4eUeK6HKglFz8uwVfZKgoI25rb/J+dnro= -github.com/aws/smithy-go v1.22.1/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= -github.com/dafny-lang/DafnyRuntimeGo/v4 v4.9.2 h1:g/xAj4F7Zt9wXJ6QjfbfocVi/ZYlAFpNddHCFyfzRDg= -github.com/dafny-lang/DafnyRuntimeGo/v4 v4.9.2/go.mod h1:l2Tm4N2DKuq3ljONC2vOATeM9PUpXbIc8SgXdwwqEto= -github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/aws/aws-cryptographic-material-providers-library/releases/go/dynamodb v0.2.1 h1:nvrlDo1EddNCFknnyaW7s49P4Vwjgbm1VT13Mh87+D0= +github.com/aws/aws-cryptographic-material-providers-library/releases/go/dynamodb v0.2.1/go.mod h1:lZ/LN+rINEWvrfRItZoMNYPp6nTx/iZLIlXYq5yvWvA= +github.com/aws/aws-cryptographic-material-providers-library/releases/go/kms v0.2.1 h1:GHba7vmqUvFOLhQvpzfE9KCh2oIOn/nQaN5Xu2rY1Ac= +github.com/aws/aws-cryptographic-material-providers-library/releases/go/kms v0.2.1/go.mod h1:Rh8pLBW83043mr0GMCE5k68x7Gm/zMBtcWBuGFrsleM= +github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives v0.2.1 h1:TAIxapsLa/vJVrDyVM9R/+wuFWYdnyjfe/N9lvn5yFc= +github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives v0.2.1/go.mod h1:Uj8qJSU7Bx4YHEv0Up8J91Dh9TU0ggFnpAWLAbiFx+k= +github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library v0.2.1 h1:KShsiDfiiFa2A4UBh81BfiBMnNBIkelql7filQw6kfQ= +github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library v0.2.1/go.mod h1:j4QF5oVY9L1yNZrzoDu3l3d8TRh53uBw3FLZCL7xCTk= +github.com/aws/aws-sdk-go-v2 v1.37.2 h1:xkW1iMYawzcmYFYEV0UCMxc8gSsjCGEhBXQkdQywVbo= +github.com/aws/aws-sdk-go-v2 v1.37.2/go.mod h1:9Q0OoGQoboYIAJyslFyF1f5K1Ryddop8gqMhWx/n4Wg= +github.com/aws/aws-sdk-go-v2/config v1.30.3 h1:utupeVnE3bmB221W08P0Moz1lDI3OwYa2fBtUhl7TCc= +github.com/aws/aws-sdk-go-v2/config v1.30.3/go.mod h1:NDGwOEBdpyZwLPlQkpKIO7frf18BW8PaCmAM9iUxQmI= +github.com/aws/aws-sdk-go-v2/credentials v1.18.3 h1:ptfyXmv+ooxzFwyuBth0yqABcjVIkjDL0iTYZBSbum8= +github.com/aws/aws-sdk-go-v2/credentials v1.18.3/go.mod h1:Q43Nci++Wohb0qUh4m54sNln0dbxJw8PvQWkrwOkGOI= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.2 h1:nRniHAvjFJGUCl04F3WaAj7qp/rcz5Gi1OVoj5ErBkc= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.2/go.mod h1:eJDFKAMHHUvv4a0Zfa7bQb//wFNUXGrbFpYRCHe2kD0= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.2 h1:sPiRHLVUIIQcoVZTNwqQcdtjkqkPopyYmIX0M5ElRf4= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.2/go.mod h1:ik86P3sgV+Bk7c1tBFCwI3VxMoSEwl4YkRB9xn1s340= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.2 h1:ZdzDAg075H6stMZtbD2o+PyB933M/f20e9WmCBC17wA= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.2/go.mod h1:eE1IIzXG9sdZCB0pNNpMpsYTLl4YdOQD3njiVN1e/E4= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 h1:bIqFDwgGXXN1Kpp99pDOdKMTTb5d2KyU5X/BZxjOkRo= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3/go.mod h1:H5O/EsxDWyU+LP/V8i5sm8cxoZgc2fdNR9bxlOFrQTo= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.46.0 h1:b7F96mjkzsqymMSGhuCqBQTZFx3mhTMa6IoG6SoVvC8= +github.com/aws/aws-sdk-go-v2/service/dynamodb v1.46.0/go.mod h1:F8Rqs4FVGBTUzx3wbFm7HB/mgIA4Tc6/x0yQmjoB+/w= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0 h1:6+lZi2JeGKtCraAj1rpoZfKqnQ9SptseRZioejfUOLM= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0/go.mod h1:eb3gfbVIxIoGgJsi9pGne19dhCBpK6opTYpQqAmdy44= +github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.2 h1:pOnBcmmHWBDbxawnpomSKFbDe8yn+t0OznR+Vo9Tj/Q= +github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.11.2/go.mod h1:iseakOEtbeRjQkEtKZQ149M/fLJIaMlF0lS0X3/gXdg= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.2 h1:oxmDEO14NBZJbK/M8y3brhMFEIGN4j8a6Aq8eY0sqlo= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.2/go.mod h1:4hH+8QCrk1uRWDPsVfsNDUup3taAjO8Dnx63au7smAU= +github.com/aws/aws-sdk-go-v2/service/kms v1.43.0 h1:mdbWU38ipmDapPcsD6F7ObjjxMLrWUK0jI2NcC7zAcI= +github.com/aws/aws-sdk-go-v2/service/kms v1.43.0/go.mod h1:6FWXdzVbnG8ExnBQLHGIo/ilb1K7Ek1u6dcllumBe1s= +github.com/aws/aws-sdk-go-v2/service/sso v1.27.0 h1:j7/jTOjWeJDolPwZ/J4yZ7dUsxsWZEsxNwH5O7F8eEA= +github.com/aws/aws-sdk-go-v2/service/sso v1.27.0/go.mod h1:M0xdEPQtgpNT7kdAX4/vOAPkFj60hSQRb7TvW9B0iug= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.32.0 h1:ywQF2N4VjqX+Psw+jLjMmUL2g1RDHlvri3NxHA08MGI= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.32.0/go.mod h1:Z+qv5Q6b7sWiclvbJyPSOT1BRVU9wfSUPaqQzZ1Xg3E= +github.com/aws/aws-sdk-go-v2/service/sts v1.36.0 h1:bRP/a9llXSSgDPk7Rqn5GD/DQCGo6uk95plBFKoXt2M= +github.com/aws/aws-sdk-go-v2/service/sts v1.36.0/go.mod h1:tgBsFzxwl65BWkuJ/x2EUs59bD4SfYKgikvFDJi1S58= +github.com/aws/smithy-go v1.22.5 h1:P9ATCXPMb2mPjYBgueqJNCA5S9UfktsW0tTxi+a7eqw= +github.com/aws/smithy-go v1.22.5/go.mod h1:t1ufH5HMublsJYulve2RKmHDC15xu1f26kHCp/HgceI= +github.com/dafny-lang/DafnyRuntimeGo/v4 v4.10.1 h1:QyrSST4WJYQIXRSJNXFEwL1NIoA9bgirUHK8YwGoWkA= +github.com/dafny-lang/DafnyRuntimeGo/v4 v4.10.1/go.mod h1:l2Tm4N2DKuq3ljONC2vOATeM9PUpXbIc8SgXdwwqEto= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= -github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= -github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= -github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=