Od czasu aktualizacji z Mavericks do Yosemite moje certyfikaty klienta SSL przestały działać w niektórych miejscach. Nadal działają w przeglądarkach internetowych i innych wersjach wget
, ale przestały działać w bibliotece curl
Pythona requests
.
To działa:
$ wget https://localhost --certificate cert.pem --private-key private.pem
To nie działa:
$ 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
Ale jeśli połączę pemsy w p12, to zadziała:
$ curl https://localhost --cert cert.p12:password
Ale Python nie obsługuje p12, a to nie działa:
import requests
print requests.get("https://localhost", cert=("cert.pem","private.pem")).content
Nie narzeka, ale też nie wysyła certyfikatu klienta.
python
ssl
curl
osx-yosemite
client-certificate
Nick Retallack
źródło
źródło