Questão Certificados do Mac OS X Yosemite e SSL do cliente


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 eles pararam de trabalhar em curl e em Python requests biblioteca.

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 Python não suporta p12s, e isso não funciona:

import requests
print requests.get("https://localhost", cert=("cert.pem","private.pem")).content

Não reclama, mas também não envia o certificado do cliente.


2


origem




Respostas:


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 o write up aqui: http://curl.haxx.se/mail/archive-2013-10/0036.html


1