Como muito da sua pergunta é provavelmente um crossdupe de link e link .
Eu não confirmei a fonte do Ubuntu, mas o Ubuntu 14.04 usa nominalmente o OpenSSL 1.0.1f que upstream tem um bug que faz com que s_client
(e alguns outros) não usem o truststore padrão quando você não especifica -CA{path,file}
options, e 16.04 usa 1.0.2g que tem este fixo. (Aparentemente, o mesmo aconteceu com 16.10, mas isso não era LTS e não é mais suportado.)
O arquivo de configuração é irrelevante; s_client
não usa nenhuma configuração de arquivo de configuração diferente de 'biblioteca global' para ENGINE's e addedOIDs, nenhuma das quais é relevante para este problema.
Mas observe que www.tcell.io
(onde o wget
foi redirecionado) e api.tcell.io
(onde você informou o openssl s_client
para se conectar) são máquinas diferentes. De acordo com www.ssllabs.com/ssltest:
-
api.tcell.io
52.8.231.1 atende corretamente um certificado GoDaddy-SecureG2 (serial 00c8c641d43c76286c) com os certificados de cadeia necessários (para ser exato # 2 e # 3 são necessários; # 4 é a raiz e não é necessário, mas é aceitável) -
www.tcell.io
13.57.73.170 serve para o mesmo certificado, mas NÃO para os certificados de cadeia, violando as RFCs (o que reduziria seu grau, exceto que TAMBÉM usa DH-1024, que já o limitava em B). Sem os certificados de cadeiawget
não pôde verificar o certificado. Se o 'bundle' que você instalou tiver adicionado os certificados de cadeia ao seu truststore, que não é a forma como o web-PKI deve operar, entãowget
usando OpenSSL é capaz de construir a cadeia e verificá-la .