Por que o openSSL não pode verificar o certificado do google?

3

Quando eu executo o comando openssl -connect www.google.com:443 de uma máquina virtual Debian, recebo o seguinte na saída:

Verify return code: 20 (unable to get local issuer certificate)

O que está acontecendo aqui? Eu nunca tive um problema de certificação com o Google, então tem que ser algo com o Debian ou com a biblioteca openSSL. A depuração de outros sistemas SSL é mais difícil quando ferramentas como essa não validam sistemas que eu conheço trabalho!

    
por jldugger 28.11.2011 / 22:43

1 resposta

10

Em outra distribuição do Linux que eu uso, o verbo -connect nua não importa realmente os pacotes de CA raiz instalados no sistema. Para obter isso, você precisa adicionar -CApath /etc/ssl/wherever/ , em que o caminho é o local dos bundles de certificado de CA raiz.

sem CAPath:

CONNECTED(00000003)
depth=1 C = ZA, O = Thawte Consulting (Pty) Ltd., CN = Thawte SGC CA
verify error:num=20:unable to get local issuer certificate
verify return:0
---
Certificate chain
 0 s:/C=US/ST=California/L=Mountain View/O=Google Inc/CN=mail.google.com
   i:/C=ZA/O=Thawte Consulting (Pty) Ltd./CN=Thawte SGC CA
 1 s:/C=ZA/O=Thawte Consulting (Pty) Ltd./CN=Thawte SGC CA
   i:/C=US/O=VeriSign, Inc./OU=Class 3 Public Primary Certification Authority
 ---

com o CAPath:

CONNECTED(00000003)
depth=2 C = US, O = "VeriSign, Inc.", OU = Class 3 Public Primary Certification     Authority
verify return:1
depth=1 C = ZA, O = Thawte Consulting (Pty) Ltd., CN = Thawte SGC CA
verify return:1
depth=0 C = US, ST = California, L = Mountain View, O = Google Inc, CN = mail.google.com
verify return:1
---
Certificate chain
 0 s:/C=US/ST=California/L=Mountain View/O=Google Inc/CN=mail.google.com
   i:/C=ZA/O=Thawte Consulting (Pty) Ltd./CN=Thawte SGC CA
 1 s:/C=ZA/O=Thawte Consulting (Pty) Ltd./CN=Thawte SGC CA
   i:/C=US/O=VeriSign, Inc./OU=Class 3 Public Primary Certification Authority
---
    
por 28.11.2011 / 23:20