Wearing body armor in public is legal as long as you're not a felon or have been convicted of a felony.
Anyone who is not a felon can legally purchase body armor either online or in stores and you can legally wear that body armor in public for your protection.
Only felons cannot wear or purchase body armor because it protects them in the event they decide to try a shooting or robbery then the police won't be able to shoot and injure or kill that person to stop them from committing a crime.
I have a bullet proof vest that I wear when I go to concerts or events now because of all the shootings that are happening.
However most if not all schools do not allow people to wear bullet proof vests or any body armor for some reason.