Este parece ser um problema SNI . Se você fornecer vários certificados SSL no mesmo IP, o cliente enviará o nome do host junto com a solicitação inicial, para que o servidor possa fornecer o certificado correto. Versões mais antigas do ssl-cert-check não fazem isso, o recurso foi introduzido com a versão 3.27.
Ambas as versões 14.04 e 16.04 do Ubuntu versão 3.27, mas parece que o recurso está com bug nesta versão. Existem basicamente duas linhas de código que são relevantes:
TLSSERVERNAME="FALSE"
e:
if [ "${TLSSERVERNAME}" = "TRUE" ]
then
TLSFLAG="${TLSFLAG} -servername $1"
fi
Como você pode ver, a variável está definida como FALSE e depois é verificada como TRUE, mas nunca é alterada.
A versão atual em GitHub (3.30) tem um bloco de código adicional:
if ${OPENSSL} s_client -h 2>&1 | grep '-servername' > /dev/null
then
TLSSERVERNAME="TRUE"
else
TLSSERVERNAME="FALSE"
fi
Isso verifica a versão openssl instalada para o suporte ao nome do servidor. Quando eu adiciono este bloco no script na minha instalação local do Ubuntu, o resultado é bom, sem o bloco eu recebo o certificado errado, assim como você.
Portanto, este é um bug, que foi corrigido pelo autor, mas ainda não encontrou o caminho para o repositório do Ubuntu. Você pode consertá-lo e esperar que, após a próxima atualização, o repositório contenha uma versão fixa ou use o script do github.