Para cada identidade que um dos seus servidores assumirá (ou seja, cada nome que um servidor se identificará como), você precisará ter um certificado que corresponda a essa identidade. Uma identidade não é necessariamente igual a uma entrada DNS, mas nos casos em que ocorre (como servidores da Web), não faz diferença se as entradas são registros CNAME ou A (ou até mesmo AAAA).
Para tornar as coisas um pouco mais complicadas de entender, você não precisa necessariamente de um certificado diferente para cada identidade. Um único certificado pode certificar muitas identidades (uma primária e outra alternativa), e há também os chamados certificados curinga que podem ser usados para qualquer subdomínio de um determinado domínio (por exemplo, se você tiver um certificado curinga para * .example.com , você pode usá-lo para www.example.com e anythingyouwant.example.com sem precisar ter nenhum desses dois nomes explicitamente listados no certificado). No entanto, os certificados curinga são mais caros que os normais. Embora os certificados regulares geralmente custem algumas dezenas de dólares, um certificado curinga normalmente é vendido por centenas. Observe que existem algumas autoridades de certificação que fornecem certificados regulares gratuitos com certas limitações (por exemplo, os certificados básicos da StartCom, StartSSL , são gratuitos, mas pode conter apenas dois nomes, um dos quais tem que ser o domínio raiz).
No seu exemplo, você tem 3 identidades (estas são www.foo.com, test.foo.com e dev.foo.com). Para você, por enquanto, recomendo ter três certificados gratuitos. Se você chegar ao ponto em que precisa de 20-30 certs diferentes, considere a compra de um certificado wildcard, já que os custos (das horas de trabalho) de ter que renovar 20-30 certs expirados manualmente a cada ano seriam mais altos do que isso. de um certificado curinga.