"In legacy code, the interface may be the implementation, but that does not mean that one is necessarily white-box testing."
It is interesting that "white-box testing" suddenly showed up.
I think there is a mix up. The way you test something has absolutely nothing to do with how it is spec'd out, or how it is implemented. The tester has a choice.
As for white box and black box. Let's use maze as an example to explain this. If you draw your maze on a piece of paper, when I look at that piece of paper, I see a white box. If I am going through a real hay maze, I am seeing a black box.