How to run multiple ingress gateway with different class names


I have multiple public and private applications running in my kubernetes cluster. I want to separate out traffic for each type by running multiple istio-gateway deployments. Is there any straight methods to implement it with istio.

For both type of application I am using custom CA and importing certificates as secret manually. Do I need to anything cert manager part to achieve my use case