Resposta curta: A nova versão do CURL usa a API de transporte seguro da Apple agora em vez da API OpenSSL e você precisará usar o formato P12 para certificados.
Veja os comentários aqui: link
Desde que fiz o upgrade do Mavericks para o Yosemite, meus Certificados de cliente SSL pararam de funcionar em determinados locais. Eles ainda funcionam em navegadores da Web e em wget
, mas pararam de funcionar em curl
e na biblioteca requests
do Python.
Isso funciona:
$ wget https://localhost --certificate cert.pem --private-key private.pem
Isso não funciona:
$ curl https://localhost --cert cert.pem --key private.pem
curl: (58) SSL: Can't load the certificate "cert.pem" and its private key: OSStatus -25299
Mas se eu combinar as pems em um p12, ele funciona:
$ curl https://localhost --cert cert.p12:password
Mas o Python não suporta p12s e isso não funciona:
import requests
print requests.get("https://localhost", cert=("cert.pem","private.pem")).content
Ele não reclama, mas também não envia o certificado do cliente.
Resposta curta: A nova versão do CURL usa a API de transporte seguro da Apple agora em vez da API OpenSSL e você precisará usar o formato P12 para certificados.
Veja os comentários aqui: link