The San Francisco 49ers have signed cornerback Darcel McBath to a one-year contract.