O respectivo bug do FreeBSD é aqui . A correção adiciona links simbólicos:
ln -sf /usr/local/etc/ssl/cert.pem /etc/ssl/cert.pem
ln -sf /usr/local/etc/ssl/cert.pem /usr/local/openssl/cert.pem
Eu tenho um sistema FreeBSD 10.0 e, alguns dias atrás, eu atualizei meu python27
port do Python 2.7.8 para o Python 2.7.9, que permitia a verificação SSL por padrão. Não é novidade que quebrou meus scripts Python existentes que se conectavam a servidores com certificados auto-assinados. Surpreendentemente, ele quebrou meus scripts que se conectavam a servidores com certificados SSL válidos.
Eu tenho /usr/local/etc/ssl/cert.pem
(que é um link simbólico para /usr/local/share/certs/ca-root-nss.crt
) mas não /etc/ssl/cert.pem
. Minha instalação do Python espera o último:
>>> ssl.get_default_verify_paths()
DefaultVerifyPaths(cafile=None,
capath=None,
openssl_cafile_env='SSL_CERT_FILE',
openssl_cafile='/etc/ssl/cert.pem',
openssl_capath_env='SSL_CERT_DIR',
openssl_capath='/etc/ssl/certs')
Eu trabalhei em torno disso criando um link simbólico apropriado, mas existe uma abordagem melhor? Se isso for necessário, ou isso é algo que deveria ter sido abordado pelo próprio porto?
(E eu poderia definir SSL_CERT_FILE
no meu ambiente também, mas prefiro não ter que fazer isso o tempo todo.)
O respectivo bug do FreeBSD é aqui . A correção adiciona links simbólicos:
ln -sf /usr/local/etc/ssl/cert.pem /etc/ssl/cert.pem
ln -sf /usr/local/etc/ssl/cert.pem /usr/local/openssl/cert.pem
Eu tinha ca_root_nss
, que fornece /usr/local/etc/ssl/cert.pem
, mas não /etc/ssl/cert.pem
, necessário para o python 2.7.9. Então acabei ligando o segundo ao primeiro.
Não encontrei nenhuma referência a esse bug no link .