A white shirt is required when you are about to craft the chest piece of any of the Witcher 3 set armors. The white shirt can be a looted in the game or bought.
The merchant who sells them is an elven tailor outside Novigrad.
He sells shirts for 170 crowns.
On Skellige, the armorer on Kaer Trolde sells shirt also.