in src/Internal/SetupDecryptionHandler.cs [379:395]
protected void DecryptObjectUsingInstructionFile(GetObjectResponse getObjectResponse, GetObjectResponse instructionFileResponse)
{
// Create an instruction object from the instruction file response
var instructions = EncryptionUtils.BuildInstructionsUsingInstructionFileV2(instructionFileResponse, EncryptionClient.EncryptionMaterials);
if (EncryptionUtils.XAmzAesGcmCekAlgValue.Equals(instructions.CekAlgorithm))
{
// Decrypt the object with V2 instructions
EncryptionUtils.DecryptObjectUsingInstructionsGcm(getObjectResponse, instructions);
}
else
{
ThrowIfLegacyReadIsDisabled();
// Decrypt the object with V1 instructions
EncryptionUtils.DecryptObjectUsingInstructions(getObjectResponse, instructions);
}
}