github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl@v0.2.0/GetKeys/GetKeys.go (about) 1 // Package GetKeys 2 // Dafny module GetKeys compiled into Go 3 4 package GetKeys 5 6 import ( 7 os "os" 8 9 m_ComAmazonawsDynamodbTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/dynamodb/ComAmazonawsDynamodbTypes" 10 m_ComAmazonawsKmsTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/kms/ComAmazonawsKmsTypes" 11 m_AwsArnParsing "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsArnParsing" 12 m_AwsCryptographyKeyStoreTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyKeyStoreTypes" 13 m_AwsCryptographyMaterialProvidersTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsCryptographyMaterialProvidersTypes" 14 m_AwsKmsMrkMatchForDecrypt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsMrkMatchForDecrypt" 15 m_AwsKmsUtils "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/AwsKmsUtils" 16 m_CreateKeyStoreTable "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeyStoreTable" 17 m_CreateKeys "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/CreateKeys" 18 m_DDBKeystoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/DDBKeystoreOperations" 19 m_KMSKeystoreOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KMSKeystoreOperations" 20 m_KeyStoreErrorMessages "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KeyStoreErrorMessages" 21 m_KmsArn "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/KmsArn" 22 m_Structure "github.com/aws/aws-cryptographic-material-providers-library/releases/go/mpl/Structure" 23 m_AtomicPrimitives "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AtomicPrimitives" 24 m_AwsCryptographyPrimitivesOperations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesOperations" 25 m_AwsCryptographyPrimitivesTypes "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/AwsCryptographyPrimitivesTypes" 26 m_Digest "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/Digest" 27 m_HKDF "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/HKDF" 28 m_KdfCtr "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/KdfCtr" 29 m_Random "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/Random" 30 m_WrappedHKDF "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/WrappedHKDF" 31 m_WrappedHMAC "github.com/aws/aws-cryptographic-material-providers-library/releases/go/primitives/WrappedHMAC" 32 m_Actions "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Actions" 33 m_Base64 "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Base64" 34 m_Base64Lemmas "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Base64Lemmas" 35 m_BoundedInts "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/BoundedInts" 36 m_DivInternals "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/DivInternals" 37 m_DivInternalsNonlinear "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/DivInternalsNonlinear" 38 m_DivMod "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/DivMod" 39 m_FileIO "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/FileIO" 40 m_FloatCompare "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/FloatCompare" 41 m_Functions "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Functions" 42 m_GeneralInternals "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/GeneralInternals" 43 m_GetOpt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/GetOpt" 44 m_HexStrings "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/HexStrings" 45 m_Logarithm "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Logarithm" 46 m__Math "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Math_" 47 m_ModInternals "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/ModInternals" 48 m_ModInternalsNonlinear "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/ModInternalsNonlinear" 49 m_Mul "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Mul" 50 m_MulInternals "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/MulInternals" 51 m_MulInternalsNonlinear "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/MulInternalsNonlinear" 52 m_Power "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Power" 53 m_Relations "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Relations" 54 m_Seq "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Seq" 55 m_Seq_MergeSort "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Seq_MergeSort" 56 m_Sorting "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Sorting" 57 m_StandardLibrary "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary" 58 m_StandardLibraryInterop "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibraryInterop" 59 m_StandardLibrary_Sequence "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_Sequence" 60 m_StandardLibrary_String "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_String" 61 m_StandardLibrary_UInt "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/StandardLibrary_UInt" 62 m_Streams "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Streams" 63 m_UnicodeStrings "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/UnicodeStrings" 64 m__Unicode "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Unicode_" 65 m_Utf16EncodingForm "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Utf16EncodingForm" 66 m_Utf8EncodingForm "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Utf8EncodingForm" 67 m_Wrappers "github.com/aws/aws-cryptographic-material-providers-library/releases/go/smithy-dafny-standard-library/Wrappers" 68 m__System "github.com/dafny-lang/DafnyRuntimeGo/v4/System_" 69 _dafny "github.com/dafny-lang/DafnyRuntimeGo/v4/dafny" 70 ) 71 72 var _ = os.Args 73 var _ _dafny.Dummy__ 74 var _ m__System.Dummy__ 75 var _ m_Wrappers.Dummy__ 76 var _ m_BoundedInts.Dummy__ 77 var _ m_StandardLibrary_UInt.Dummy__ 78 var _ m_StandardLibrary_Sequence.Dummy__ 79 var _ m_StandardLibrary_String.Dummy__ 80 var _ m_StandardLibrary.Dummy__ 81 var _ m_AwsCryptographyPrimitivesTypes.Dummy__ 82 var _ m_Random.Dummy__ 83 var _ m_Digest.Dummy__ 84 var _ m_WrappedHMAC.Dummy__ 85 var _ m_HKDF.Dummy__ 86 var _ m_WrappedHKDF.Dummy__ 87 var _ m_KdfCtr.Dummy__ 88 var _ m_AwsCryptographyPrimitivesOperations.Dummy__ 89 var _ m_AtomicPrimitives.Dummy__ 90 var _ m_ComAmazonawsDynamodbTypes.Dummy__ 91 var _ m_ComAmazonawsKmsTypes.Dummy__ 92 var _ m_Relations.Dummy__ 93 var _ m_Seq_MergeSort.Dummy__ 94 var _ m__Math.Dummy__ 95 var _ m_Seq.Dummy__ 96 var _ m__Unicode.Dummy__ 97 var _ m_Functions.Dummy__ 98 var _ m_Utf8EncodingForm.Dummy__ 99 var _ m_Utf16EncodingForm.Dummy__ 100 var _ m_UnicodeStrings.Dummy__ 101 var _ m_FileIO.Dummy__ 102 var _ m_GeneralInternals.Dummy__ 103 var _ m_MulInternalsNonlinear.Dummy__ 104 var _ m_MulInternals.Dummy__ 105 var _ m_Mul.Dummy__ 106 var _ m_ModInternalsNonlinear.Dummy__ 107 var _ m_DivInternalsNonlinear.Dummy__ 108 var _ m_ModInternals.Dummy__ 109 var _ m_DivInternals.Dummy__ 110 var _ m_DivMod.Dummy__ 111 var _ m_Power.Dummy__ 112 var _ m_Logarithm.Dummy__ 113 var _ m_StandardLibraryInterop.Dummy__ 114 var _ m_Streams.Dummy__ 115 var _ m_Sorting.Dummy__ 116 var _ m_HexStrings.Dummy__ 117 var _ m_GetOpt.Dummy__ 118 var _ m_FloatCompare.Dummy__ 119 var _ m_Base64.Dummy__ 120 var _ m_Base64Lemmas.Dummy__ 121 var _ m_Actions.Dummy__ 122 var _ m_AwsCryptographyKeyStoreTypes.Dummy__ 123 var _ m_AwsCryptographyMaterialProvidersTypes.Dummy__ 124 var _ m_AwsArnParsing.Dummy__ 125 var _ m_AwsKmsMrkMatchForDecrypt.Dummy__ 126 var _ m_AwsKmsUtils.Dummy__ 127 var _ m_KeyStoreErrorMessages.Dummy__ 128 var _ m_KmsArn.Dummy__ 129 var _ m_Structure.Dummy__ 130 var _ m_KMSKeystoreOperations.Dummy__ 131 var _ m_DDBKeystoreOperations.Dummy__ 132 var _ m_CreateKeys.Dummy__ 133 var _ m_CreateKeyStoreTable.Dummy__ 134 135 type Dummy__ struct{} 136 137 // Definition of class Default__ 138 type Default__ struct { 139 dummy byte 140 } 141 142 func New_Default___() *Default__ { 143 _this := Default__{} 144 145 return &_this 146 } 147 148 type CompanionStruct_Default___ struct { 149 } 150 151 var Companion_Default___ = CompanionStruct_Default___{} 152 153 func (_this *Default__) Equals(other *Default__) bool { 154 return _this == other 155 } 156 157 func (_this *Default__) EqualsGeneric(x interface{}) bool { 158 other, ok := x.(*Default__) 159 return ok && _this.Equals(other) 160 } 161 162 func (*Default__) String() string { 163 return "GetKeys.Default__" 164 } 165 func (_this *Default__) ParentTraits_() []*_dafny.TraitID { 166 return [](*_dafny.TraitID){} 167 } 168 169 var _ _dafny.TraitOffspring = &Default__{} 170 171 func (_static *CompanionStruct_Default___) GetActiveKeyAndUnwrap(input m_AwsCryptographyKeyStoreTypes.GetActiveBranchKeyInput, tableName _dafny.Sequence, logicalKeyStoreName _dafny.Sequence, kmsConfiguration m_AwsCryptographyKeyStoreTypes.KMSConfiguration, grantTokens _dafny.Sequence, kmsClient m_ComAmazonawsKmsTypes.IKMSClient, ddbClient m_ComAmazonawsDynamodbTypes.IDynamoDBClient) m_Wrappers.Result { 172 var output m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_AwsCryptographyKeyStoreTypes.Companion_GetActiveBranchKeyOutput_.Default()) 173 _ = output 174 var _0_valueOrError0 m_Wrappers.Result = m_Wrappers.Result{} 175 _ = _0_valueOrError0 176 var _out0 m_Wrappers.Result 177 _ = _out0 178 _out0 = m_DDBKeystoreOperations.Companion_Default___.GetActiveBranchKeyItem((input).Dtor_branchKeyIdentifier(), tableName, ddbClient) 179 _0_valueOrError0 = _out0 180 if (_0_valueOrError0).IsFailure() { 181 output = (_0_valueOrError0).PropagateFailure() 182 return output 183 } 184 var _1_branchKeyItem _dafny.Map 185 _ = _1_branchKeyItem 186 _1_branchKeyItem = (_0_valueOrError0).Extract().(_dafny.Map) 187 var _2_encryptionContext _dafny.Map 188 _ = _2_encryptionContext 189 _2_encryptionContext = m_Structure.Companion_Default___.ToBranchKeyContext(_1_branchKeyItem, logicalKeyStoreName) 190 var _3_valueOrError1 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() 191 _ = _3_valueOrError1 192 _3_valueOrError1 = m_Wrappers.Companion_Default___.Need(m_KmsArn.Companion_Default___.ValidKmsArn_q((_2_encryptionContext).Get(m_Structure.Companion_Default___.KMS__FIELD()).(_dafny.Sequence)), m_AwsCryptographyKeyStoreTypes.Companion_Error_.Create_KeyStoreException_(m_KeyStoreErrorMessages.Companion_Default___.RETRIEVED__KEYSTORE__ITEM__INVALID__KMS__ARN())) 193 if (_3_valueOrError1).IsFailure() { 194 output = (_3_valueOrError1).PropagateFailure() 195 return output 196 } 197 var _4_valueOrError2 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() 198 _ = _4_valueOrError2 199 _4_valueOrError2 = m_Wrappers.Companion_Default___.Need(m_KMSKeystoreOperations.Companion_Default___.AttemptKmsOperation_q(kmsConfiguration, _2_encryptionContext), m_AwsCryptographyKeyStoreTypes.Companion_Error_.Create_KeyStoreException_(m_KeyStoreErrorMessages.Companion_Default___.GET__KEY__ARN__DISAGREEMENT())) 200 if (_4_valueOrError2).IsFailure() { 201 output = (_4_valueOrError2).PropagateFailure() 202 return output 203 } 204 var _5_valueOrError3 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_ComAmazonawsKmsTypes.Companion_DecryptResponse_.Default()) 205 _ = _5_valueOrError3 206 var _out1 m_Wrappers.Result 207 _ = _out1 208 _out1 = m_KMSKeystoreOperations.Companion_Default___.DecryptKey(_2_encryptionContext, _1_branchKeyItem, kmsConfiguration, grantTokens, kmsClient) 209 _5_valueOrError3 = _out1 210 if (_5_valueOrError3).IsFailure() { 211 output = (_5_valueOrError3).PropagateFailure() 212 return output 213 } 214 var _6_branchKey m_ComAmazonawsKmsTypes.DecryptResponse 215 _ = _6_branchKey 216 _6_branchKey = (_5_valueOrError3).Extract().(m_ComAmazonawsKmsTypes.DecryptResponse) 217 var _7_valueOrError4 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_AwsCryptographyKeyStoreTypes.Companion_BranchKeyMaterials_.Default()) 218 _ = _7_valueOrError4 219 _7_valueOrError4 = m_Structure.Companion_Default___.ToBranchKeyMaterials(_2_encryptionContext, ((_6_branchKey).Dtor_Plaintext()).Dtor_value().(_dafny.Sequence)) 220 if (_7_valueOrError4).IsFailure() { 221 output = (_7_valueOrError4).PropagateFailure() 222 return output 223 } 224 var _8_branchKeyMaterials m_AwsCryptographyKeyStoreTypes.BranchKeyMaterials 225 _ = _8_branchKeyMaterials 226 _8_branchKeyMaterials = (_7_valueOrError4).Extract().(m_AwsCryptographyKeyStoreTypes.BranchKeyMaterials) 227 output = m_Wrappers.Companion_Result_.Create_Success_(m_AwsCryptographyKeyStoreTypes.Companion_GetActiveBranchKeyOutput_.Create_GetActiveBranchKeyOutput_(_8_branchKeyMaterials)) 228 return output 229 return output 230 } 231 func (_static *CompanionStruct_Default___) GetBranchKeyVersion(input m_AwsCryptographyKeyStoreTypes.GetBranchKeyVersionInput, tableName _dafny.Sequence, logicalKeyStoreName _dafny.Sequence, kmsConfiguration m_AwsCryptographyKeyStoreTypes.KMSConfiguration, grantTokens _dafny.Sequence, kmsClient m_ComAmazonawsKmsTypes.IKMSClient, ddbClient m_ComAmazonawsDynamodbTypes.IDynamoDBClient) m_Wrappers.Result { 232 var output m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_AwsCryptographyKeyStoreTypes.Companion_GetBranchKeyVersionOutput_.Default()) 233 _ = output 234 var _0_valueOrError0 m_Wrappers.Result = m_Wrappers.Result{} 235 _ = _0_valueOrError0 236 var _out0 m_Wrappers.Result 237 _ = _out0 238 _out0 = m_DDBKeystoreOperations.Companion_Default___.GetVersionBranchKeyItem((input).Dtor_branchKeyIdentifier(), (input).Dtor_branchKeyVersion(), tableName, ddbClient) 239 _0_valueOrError0 = _out0 240 if (_0_valueOrError0).IsFailure() { 241 output = (_0_valueOrError0).PropagateFailure() 242 return output 243 } 244 var _1_branchKeyItem _dafny.Map 245 _ = _1_branchKeyItem 246 _1_branchKeyItem = (_0_valueOrError0).Extract().(_dafny.Map) 247 var _2_encryptionContext _dafny.Map 248 _ = _2_encryptionContext 249 _2_encryptionContext = m_Structure.Companion_Default___.ToBranchKeyContext(_1_branchKeyItem, logicalKeyStoreName) 250 var _3_valueOrError1 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() 251 _ = _3_valueOrError1 252 _3_valueOrError1 = m_Wrappers.Companion_Default___.Need(m_KmsArn.Companion_Default___.ValidKmsArn_q((_2_encryptionContext).Get(m_Structure.Companion_Default___.KMS__FIELD()).(_dafny.Sequence)), m_AwsCryptographyKeyStoreTypes.Companion_Error_.Create_KeyStoreException_(m_KeyStoreErrorMessages.Companion_Default___.RETRIEVED__KEYSTORE__ITEM__INVALID__KMS__ARN())) 253 if (_3_valueOrError1).IsFailure() { 254 output = (_3_valueOrError1).PropagateFailure() 255 return output 256 } 257 var _4_valueOrError2 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() 258 _ = _4_valueOrError2 259 _4_valueOrError2 = m_Wrappers.Companion_Default___.Need(m_KMSKeystoreOperations.Companion_Default___.AttemptKmsOperation_q(kmsConfiguration, _2_encryptionContext), m_AwsCryptographyKeyStoreTypes.Companion_Error_.Create_KeyStoreException_(_dafny.SeqOfString("AWS KMS Key ARN does not match configured value"))) 260 if (_4_valueOrError2).IsFailure() { 261 output = (_4_valueOrError2).PropagateFailure() 262 return output 263 } 264 var _5_valueOrError3 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_ComAmazonawsKmsTypes.Companion_DecryptResponse_.Default()) 265 _ = _5_valueOrError3 266 var _out1 m_Wrappers.Result 267 _ = _out1 268 _out1 = m_KMSKeystoreOperations.Companion_Default___.DecryptKey(_2_encryptionContext, _1_branchKeyItem, kmsConfiguration, grantTokens, kmsClient) 269 _5_valueOrError3 = _out1 270 if (_5_valueOrError3).IsFailure() { 271 output = (_5_valueOrError3).PropagateFailure() 272 return output 273 } 274 var _6_branchKey m_ComAmazonawsKmsTypes.DecryptResponse 275 _ = _6_branchKey 276 _6_branchKey = (_5_valueOrError3).Extract().(m_ComAmazonawsKmsTypes.DecryptResponse) 277 var _7_valueOrError4 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_AwsCryptographyKeyStoreTypes.Companion_BranchKeyMaterials_.Default()) 278 _ = _7_valueOrError4 279 _7_valueOrError4 = m_Structure.Companion_Default___.ToBranchKeyMaterials(_2_encryptionContext, ((_6_branchKey).Dtor_Plaintext()).Dtor_value().(_dafny.Sequence)) 280 if (_7_valueOrError4).IsFailure() { 281 output = (_7_valueOrError4).PropagateFailure() 282 return output 283 } 284 var _8_branchKeyMaterials m_AwsCryptographyKeyStoreTypes.BranchKeyMaterials 285 _ = _8_branchKeyMaterials 286 _8_branchKeyMaterials = (_7_valueOrError4).Extract().(m_AwsCryptographyKeyStoreTypes.BranchKeyMaterials) 287 output = m_Wrappers.Companion_Result_.Create_Success_(m_AwsCryptographyKeyStoreTypes.Companion_GetBranchKeyVersionOutput_.Create_GetBranchKeyVersionOutput_(_8_branchKeyMaterials)) 288 return output 289 return output 290 } 291 func (_static *CompanionStruct_Default___) GetBeaconKeyAndUnwrap(input m_AwsCryptographyKeyStoreTypes.GetBeaconKeyInput, tableName _dafny.Sequence, logicalKeyStoreName _dafny.Sequence, kmsConfiguration m_AwsCryptographyKeyStoreTypes.KMSConfiguration, grantTokens _dafny.Sequence, kmsClient m_ComAmazonawsKmsTypes.IKMSClient, ddbClient m_ComAmazonawsDynamodbTypes.IDynamoDBClient) m_Wrappers.Result { 292 var output m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_AwsCryptographyKeyStoreTypes.Companion_GetBeaconKeyOutput_.Default()) 293 _ = output 294 var _0_valueOrError0 m_Wrappers.Result = m_Wrappers.Result{} 295 _ = _0_valueOrError0 296 var _out0 m_Wrappers.Result 297 _ = _out0 298 _out0 = m_DDBKeystoreOperations.Companion_Default___.GetBeaconKeyItem((input).Dtor_branchKeyIdentifier(), tableName, ddbClient) 299 _0_valueOrError0 = _out0 300 if (_0_valueOrError0).IsFailure() { 301 output = (_0_valueOrError0).PropagateFailure() 302 return output 303 } 304 var _1_branchKeyItem _dafny.Map 305 _ = _1_branchKeyItem 306 _1_branchKeyItem = (_0_valueOrError0).Extract().(_dafny.Map) 307 var _2_encryptionContext _dafny.Map 308 _ = _2_encryptionContext 309 _2_encryptionContext = m_Structure.Companion_Default___.ToBranchKeyContext(_1_branchKeyItem, logicalKeyStoreName) 310 var _3_valueOrError1 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() 311 _ = _3_valueOrError1 312 _3_valueOrError1 = m_Wrappers.Companion_Default___.Need(m_KmsArn.Companion_Default___.ValidKmsArn_q((_2_encryptionContext).Get(m_Structure.Companion_Default___.KMS__FIELD()).(_dafny.Sequence)), m_AwsCryptographyKeyStoreTypes.Companion_Error_.Create_KeyStoreException_(m_KeyStoreErrorMessages.Companion_Default___.RETRIEVED__KEYSTORE__ITEM__INVALID__KMS__ARN())) 313 if (_3_valueOrError1).IsFailure() { 314 output = (_3_valueOrError1).PropagateFailure() 315 return output 316 } 317 var _4_valueOrError2 m_Wrappers.Outcome = m_Wrappers.Companion_Outcome_.Default() 318 _ = _4_valueOrError2 319 _4_valueOrError2 = m_Wrappers.Companion_Default___.Need(m_KMSKeystoreOperations.Companion_Default___.AttemptKmsOperation_q(kmsConfiguration, _2_encryptionContext), m_AwsCryptographyKeyStoreTypes.Companion_Error_.Create_KeyStoreException_(_dafny.SeqOfString("AWS KMS Key ARN does not match configured value"))) 320 if (_4_valueOrError2).IsFailure() { 321 output = (_4_valueOrError2).PropagateFailure() 322 return output 323 } 324 var _5_valueOrError3 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_ComAmazonawsKmsTypes.Companion_DecryptResponse_.Default()) 325 _ = _5_valueOrError3 326 var _out1 m_Wrappers.Result 327 _ = _out1 328 _out1 = m_KMSKeystoreOperations.Companion_Default___.DecryptKey(_2_encryptionContext, _1_branchKeyItem, kmsConfiguration, grantTokens, kmsClient) 329 _5_valueOrError3 = _out1 330 if (_5_valueOrError3).IsFailure() { 331 output = (_5_valueOrError3).PropagateFailure() 332 return output 333 } 334 var _6_branchKey m_ComAmazonawsKmsTypes.DecryptResponse 335 _ = _6_branchKey 336 _6_branchKey = (_5_valueOrError3).Extract().(m_ComAmazonawsKmsTypes.DecryptResponse) 337 var _7_valueOrError4 m_Wrappers.Result = m_Wrappers.Companion_Result_.Default(m_AwsCryptographyKeyStoreTypes.Companion_BeaconKeyMaterials_.Default()) 338 _ = _7_valueOrError4 339 _7_valueOrError4 = m_Structure.Companion_Default___.ToBeaconKeyMaterials(_2_encryptionContext, ((_6_branchKey).Dtor_Plaintext()).Dtor_value().(_dafny.Sequence)) 340 if (_7_valueOrError4).IsFailure() { 341 output = (_7_valueOrError4).PropagateFailure() 342 return output 343 } 344 var _8_branchKeyMaterials m_AwsCryptographyKeyStoreTypes.BeaconKeyMaterials 345 _ = _8_branchKeyMaterials 346 _8_branchKeyMaterials = (_7_valueOrError4).Extract().(m_AwsCryptographyKeyStoreTypes.BeaconKeyMaterials) 347 output = m_Wrappers.Companion_Result_.Create_Success_(m_AwsCryptographyKeyStoreTypes.Companion_GetBeaconKeyOutput_.Create_GetBeaconKeyOutput_(_8_branchKeyMaterials)) 348 return output 349 return output 350 } 351 352 // End of class Default__