ssl certificado auto assinado em vez de válido

3

Eu comprei um certificado válido:

Por exemplo, este site valida: link

Mas quando eu testo com o openSSL, é assim:

openssl s_client -showcerts -connect https://www.example.com:443

Eu obtenho

Verify return code: 18 (self signed certificate)

    
por Aleksandar Pavić 02.10.2015 / 14:31

1 resposta

11

SNI-Hole

Você caiu em um furo SNI .

O SNI é indicação do nome do servidor . Isso permite que você tenha vários nomes de host diferentes que residem no mesmo IP compartilhado. E se você realmente não indicar um nome de servidor para um servidor habilitado para SNI, receberá o certificado padrão. (Esta é a parte do "buraco SNI").

E o OpenSSL não fornecerá um nome de servidor ao servidor TLS, a menos que você o informe. Use o parâmetro -servername 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, você obtém o certificado padrão para esse host. E aqui está um certificado autoassinado. (E eu não acho que deveria estar lá também. Não faz sentido entregar um certificado auto-assinado.)

 $ 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 se a instalação

Nota: peço-lhe para desativar o SSL3. (Relatório SSL Labs aqui .)

    
por 02.10.2015 / 16:16