@@ -376,7 +376,11 @@ class DefaultAES_GCMFactory : public SymmetricCipherFactory
376
376
if (aad)
377
377
{
378
378
auto aadCur = Aws::Crt::ByteCursorFromArray (aad->GetUnderlyingData (), aad->GetLength ());
379
- return Aws::MakeShared<CRTSymmetricCipher>(s_allocationTag, Aws::Crt::Crypto::SymmetricCipher::CreateAES_256_GCM_Cipher (keyCur, Aws::Crt::Optional<Aws::Crt::ByteCursor>(), Aws::Crt::Optional<Aws::Crt::ByteCursor>(), aadCur));
379
+ const auto cipher = Aws::MakeShared<CRTSymmetricCipher>(s_allocationTag,
380
+ Aws::Crt::Crypto::SymmetricCipher::CreateAES_256_GCM_Cipher (keyCur,
381
+ Aws::Crt::Optional<Aws::Crt::ByteCursor>(),
382
+ aadCur));
383
+ return cipher;
380
384
}
381
385
382
386
return Aws::MakeShared<CRTSymmetricCipher>(s_allocationTag, Aws::Crt::Crypto::SymmetricCipher::CreateAES_256_GCM_Cipher (keyCur));
@@ -398,7 +402,12 @@ class DefaultAES_GCMFactory : public SymmetricCipherFactory
398
402
Aws::Crt::Optional<Aws::Crt::ByteCursor> tagCur = tag.GetLength () > 0 ? Aws::Crt::ByteCursorFromArray (tag.GetUnderlyingData (), tag.GetLength ()) : Aws::Crt::Optional<Aws::Crt::ByteCursor>();
399
403
Aws::Crt::Optional<Aws::Crt::ByteCursor> aadCur = aad.GetLength () > 0 ? Aws::Crt::ByteCursorFromArray (aad.GetUnderlyingData (), aad.GetLength ()) : Aws::Crt::Optional<Aws::Crt::ByteCursor>();
400
404
401
- return Aws::MakeShared<CRTSymmetricCipher>(s_allocationTag, Aws::Crt::Crypto::SymmetricCipher::CreateAES_256_GCM_Cipher (keyCur, ivCur, tagCur, aadCur));
405
+ auto cipher = Aws::Crt::Crypto::SymmetricCipher::CreateAES_256_GCM_Cipher (keyCur, ivCur, aadCur);
406
+ if (cipher && tagCur.has_value ())
407
+ {
408
+ cipher.SetTag (tagCur.value ());
409
+ }
410
+ return Aws::MakeShared<CRTSymmetricCipher>(s_allocationTag, std::move (cipher));
402
411
#else
403
412
AWS_UNREFERENCED_PARAM (key);
404
413
AWS_UNREFERENCED_PARAM (iv);
0 commit comments