Hay un error conocido de OpenSSL donde s_client no comprueba el almacén de certificados predeterminado cuando no se pasa el argumento -CApath
o -CAfile
. OpenSSL en Ubuntu 14.04 sufre este error como lo demostraré:
Versión:
ubuntu@puppetmaster:/etc/ssl$ openssl version
OpenSSL 1.0.1f 6 Jan 2014
No puedo usar la tienda predeterminada cuando no paso el '-ca:
ubuntu@puppetmaster:/etc/ssl$ openssl s_client -quiet -connect gmail.com:443
depth=2 C = US, O = GeoTrust Inc., CN = GeoTrust Global CA
verify error:num=20:unable to get local issuer certificate
verify return:0
Ahora paso nulo como -CApath
y funciona:
ubuntu@puppetmaster:/etc/ssl$ openssl s_client -quiet -connect gmail.com:443 -CApath /dev/null
depth=3 C = US, O = Equifax, OU = Equifax Secure Certificate Authority
verify return:1
depth=2 C = US, O = GeoTrust Inc., CN = GeoTrust Global CA
verify return:1
depth=1 C = US, O = Google Inc, CN = Google Internet Authority G2
verify return:1
depth=0 C = US, ST = California, L = Mountain View, O = Google Inc, CN = mail.google.com
verify return:1
Lamentablemente, no creo que exista una lista de las versiones de OpenSSL afectadas. La única forma de saberlo es probarlo.