Mac OS X Yosemite- und Client-SSL-Zertifikate

3320
Nick Retallack

Seit ich ein Upgrade von Mavericks auf Yosemite durchgeführt habe, funktionieren meine SSL-Client-Zertifikate an bestimmten Stellen nicht mehr. Sie arbeiten immer noch in Webbrowsern und in wget, aber sie haben aufgehört, in curlund in der requestsBibliothek von Python zu arbeiten .

Das funktioniert:

$ wget https://localhost --certificate cert.pem --private-key private.pem 

Das funktioniert nicht:

$ 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 

Aber wenn ich die Pems zu einem P12 kombiniere, funktioniert es:

$ curl https://localhost --cert cert.p12:password 

Aber Python unterstützt keine p12s und das funktioniert nicht:

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

Es beschwert sich nicht, aber es sendet auch kein Client-Zertifikat.

2

1 Antwort auf die Frage

1
Simon

Kurze Antwort: Die neue Version von CURL verwendet jetzt die Secure Transport API von Apple anstelle der OpenSSL API, und Sie müssen das P12-Format für Zertifikate verwenden.

Hier finden Sie die Beschreibung: http://curl.haxx.se/mail/archive-2013-10/0036.html