What you have done is not impossible - but it is the only possible option and most folks find it unacceptable. You have use the same certificate for all hosts and so all but one of them will pop up the name mis-match warning message. In a number of situations, that is unacceptable. For example, would you give your credit card # to a site that did not have its own SSL certificate? Quoting Alec Mitchell <apm13@columbia.edu>:
Strange, I've certainly set up multiple perfectly working NameVirtualHosts over SSL on apache 1.3. Of course they all use the same SSL certificate, but that is only a minor annoyance for the hosts which are not on the cert. The config entries follow:
...
I'm surprised to find that I have unwittingly done the impossible. I think it's more likely that the SSL incompatability with NameVirtualHost is new in 2.0, but who knows?
-- Cynthia Kiser