Please remember that your dog is only 9 months old. At some point, he will "grow a pair" and it might be more than just an act and he'll be likely to make a mistake. He's a juvenile and he knows it, at one point, he'll challenge that and might decide that at this point he might want to defend you from that male.
I agree that your dog needs training, but I also believe that a majority of public places is not where I would be doing this training. If you're at a park...away from people and they're randomly coming up to you that's one thing. But at a store...what if a male just rounds the corner around an aisle and start walking towards you and the dog decides to do something. I 100% agree that people shouldn't just be coming up to pet your dog...but in a small store aisle they might not have a choice but to walk by you very closely and sorry, I believe its not right to be telling someone they can't walk somewhere just because your dog is scared of them.
Check out this website that I easily found by googling "dog in training vest"... Service Dog Vest, Service Dog Vests, Service Dog Harnesses, Leather Dog Harness
Again...don't get one that says "SERVICE DOG IN TRAINING" but you can for sure get "THERAPY DOG IN TRAINING" as people don't really know the difference and a therapy dog is something that any dog can become.