in src/aws-cpp-sdk-core/source/utils/crypto/factory/Factories.cpp [546:646]
void Aws::Utils::Crypto::InitCrypto()
{
if(GetMD5Factory())
{
GetMD5Factory()->InitStaticState();
}
else
{
GetMD5Factory() = Aws::MakeShared<DefaultMD5Factory>(s_allocationTag);
GetMD5Factory()->InitStaticState();
}
if(!GetCRC32Factory())
{
GetCRC32Factory() = Aws::MakeShared<DefaultCRC32Factory>(s_allocationTag);
}
if(!GetCRC32CFactory())
{
GetCRC32CFactory() = Aws::MakeShared<DefaultCRC32CFactory>(s_allocationTag);
}
if (!GetCRC64Factory()) {
GetCRC64Factory() = Aws::MakeShared<DefaultCRC64Factory>(s_allocationTag);
}
if (GetSha1Factory()) {
GetSha1Factory()->InitStaticState();
} else {
GetSha1Factory() = Aws::MakeShared<DefaultSHA1Factory>(s_allocationTag);
GetSha1Factory()->InitStaticState();
}
if(GetSha256Factory())
{
GetSha256Factory()->InitStaticState();
}
else
{
GetSha256Factory() = Aws::MakeShared<DefaultSHA256Factory>(s_allocationTag);
GetSha256Factory()->InitStaticState();
}
if(GetSha256HMACFactory())
{
GetSha256HMACFactory()->InitStaticState();
}
else
{
GetSha256HMACFactory() = Aws::MakeShared<DefaultSHA256HmacFactory>(s_allocationTag);
GetSha256HMACFactory()->InitStaticState();
}
if(GetAES_CBCFactory())
{
GetAES_CBCFactory()->InitStaticState();
}
else
{
GetAES_CBCFactory() = Aws::MakeShared<DefaultAES_CBCFactory>(s_allocationTag);
GetAES_CBCFactory()->InitStaticState();
}
if(GetAES_CTRFactory())
{
GetAES_CTRFactory()->InitStaticState();
}
else
{
GetAES_CTRFactory() = Aws::MakeShared<DefaultAES_CTRFactory>(s_allocationTag);
GetAES_CTRFactory()->InitStaticState();
}
if(GetAES_GCMFactory())
{
GetAES_GCMFactory()->InitStaticState();
}
else
{
GetAES_GCMFactory() = Aws::MakeShared<DefaultAES_GCMFactory>(s_allocationTag);
GetAES_GCMFactory()->InitStaticState();
}
if (!GetAES_KeyWrapFactory())
{
GetAES_KeyWrapFactory() = Aws::MakeShared<DefaultAES_KeyWrapFactory>(s_allocationTag);
}
GetAES_KeyWrapFactory()->InitStaticState();
if(GetSecureRandomFactory())
{
GetSecureRandomFactory()->InitStaticState();
}
else
{
GetSecureRandomFactory() = Aws::MakeShared<DefaultSecureRandFactory>(s_allocationTag);
GetSecureRandomFactory()->InitStaticState();
}
GetSecureRandom() = GetSecureRandomFactory()->CreateImplementation();
}