Comprei um certificado válido:
Por exemplo, este site o valida: https://sslanalyzer.comodoca.com/?url=www.example.com
Mas quando eu testo com openSSL, assim:
openssl s_client -showcerts -connect https://www.exemplo.com:443
eu recebo
Verifique o código de retorno: 18 (certificado autoassinado)
Responder1
Buraco SNI
Você caiu em umBuraco SNI.
SNI éindicação do nome do servidor. Isso permite que você tenha vários nomes de host diferentes no mesmo IP compartilhado. E se você realmente não indicar um nome de servidor para um servidor habilitado para SNI, você receberá de volta o certificado padrão. (Esta é a parte do "buraco SNI".)
E o OpenSSL não fornecerá um nome de servidor para o servidor TLS, a menos que você solicite. Use o -servername
parâmetro para isso.
$ echo '' | openssl s_client -showcerts -connect www.unival-logistics.com:443 -servername www.unival-logistics.com 2>/dev/null | grep -Ei 'subject|issuer|return'
subject=/C=US/OU=Domain Control Validated/CN=www.unival-logistics.com
issuer=/C=BE/O=GlobalSign nv-sa/CN=GlobalSign Domain Validation CA - SHA256 - G2
Verify return code: 20 (unable to get local issuer certificate)
Se você deixar isso de fora, obterá o certificado padrão para esse host. E aqui está um certificado autoassinado. (E também não acho que deveria estar lá. Não faz sentido entregar um certificado autoassinado.)
$ echo '' | openssl s_client -showcerts -connect www.unival-logistics.com:443 2>/dev/null | grep -Ei 'subject|issuer|return'
subject=/O=americanfuturegate.com/CN=*.americanfuturegate.com/[email protected]
issuer=/O=americanfuturegate.com/CN=*.americanfuturegate.com/[email protected]
Verify return code: 18 (self signed certificate)
Verifique essa instalação
Nota lateral: recomendo que você desative o SSL3. (Relatório do Laboratório SSLaqui.)