A side strain kept Steyn out of South Africa's opening two matches of the tournament, but he bowled at full intensity in the nets on Thursday, a statement from Cricket South Africa said.
The winner of Friday's match will join India in the semi-finals of the competition from the pool.
Steyn's return would boost a depleted South Africa bowling line-up already missing Morne Morkel, though just who would make way is unclear.
Captain AB de Villiers suggested the decision would be based around whether the team persevere with their two frontline spinners, Robin Peterson and Aaron Phangiso.
Chris Morris would be the likely casualty if South Africa decided to go that route, otherwise Phangiso would make way.
Photograph: Shaun Roy/Gallo Images/Getty Images
Champions Trophy: Can depleted Proteas beat Pakistan?
South Africa name Domingo as new coach
Schedule: ICC Champions Trophy
ICC Champions Trophy: Points table
Dhawan's maiden ODI ton hoists India