verify error:num=19:self signed certificate in certificate chain
Indeed, the root certificate of this server is self signed, and not from a CA.
É uma CA, apenas não é confiável;)
Ao contrário dos navegadores (que confiam em quase tudo), o OpenSSL não confia em nada (você precisa dizer em que confiar).
Faça o download do certificado de CA do seu país (geralmente não é enviado na cadeia). Seu não é enviado na cadeia porque é um ponto de confiança; você já tem que ter e confiar nele.
Geralmente, você pode encontrar o certificado de CA on-line. Por exemplo, aqui é do DigiCert, aqui é Verisign, etc. Verifique o certificado que você baixou. A verificação é a parte complicada - os navegadores resolvem isso carregando seus próprios conjuntos de certifcados já verificados.
Coloque o certificado CA do seu país em seu próprio arquivo. Em seguida, use openssl s_client -connect hostname.example.com:20000 -CAfile my-country-ca.pem
. s_client
será concluído com Verify OK (0)
ou similar.