Signs that ham has expired or gone bad include a sour smell, dull and slimy appearance, and a change from its normal pink color to a gray color. Checking the use-by date can be a helpful indicator when determining whether ham has gone bad.
Ham should be used by the use by date shown on the package. Once ham has been cooked, it will last between 7 to 10 days if properly stored in a refrigerator. If frozen in the freezer, it can last between 6 to 8 months. To be safe, look for the signs that ham has gone bad before eating.