The Vikings announced the signing Thursday. The 29-year-old Charleston spent the past four seasons with the New Orleans Saints serving as a backup. He had one sack in 10 games, and has eight in his five-year career.
Charleston started his career in Indianapolis in 2007.
The Vikings released defensive tackle Terrell Resonno to make room for Charleston.