Verifique a validade da cadeia de certificados SSL de um servidor

Mesmo que você possa se conectar a um servidor web por https e obter um pequeno ícone de cadeado verde, isso não significa que os certificados do servidor são válidos para todos os clientes.

Na verdade, se o servidor não tiver sido configurado para fornecer toda a cadeia de certificados da Autoridade de Certificação, a conexão resultante será considerada insegura por alguns clientes, como programas Ruby.

Felizmente, podemos usar opensslo s_clientcomando de para verificar rapidamente o certificado de um servidor:

openssl s_client -connect your.secure.server.com:443

Observe as primeiras linhas da saída e você verá se o certificado tem uma cadeia válida, conforme abaixo:

Certificate chain
0 s:/OU=Domain Control Validated/CN=*.server.com
i
:/C=US/ST=Arizona/L=Scottsdale/O=GoDaddy.com, Inc./OU=http://certs.godaddy.com/repository//CN=Go Daddy Secure Certificate Authority - G2
1 s:/C=US/ST=Arizona/L=Scottsdale/O=GoDaddy.com, Inc./OU=http://certs.godaddy.com/repository//CN=Go Daddy Secure Certificate Authority - G2
i
:/C=US/ST=Arizona/L=Scottsdale/O=GoDaddy.com, Inc./CN=Go Daddy Root Certificate Authority - G2
2 s:/C=US/ST=Arizona/L=Scottsdale/O=GoDaddy.com, Inc./CN=Go Daddy Root Certificate Authority - G2
i
:/C=US/O=The Go Daddy Group, Inc./OU=Go Daddy Class 2 Certification Authority
3 s:/C=US/O=The Go Daddy Group, Inc./OU=Go Daddy Class 2 Certification Authority
i
:/C=US/O=The Go Daddy Group, Inc./OU=Go Daddy Class 2 Certification Authority