2

С тех пор, как я обновил Mavericks до Yosemite, мои SSL-сертификаты клиентов перестали работать в определенных местах. Они по-прежнему работают в веб-браузерах и в wget , но перестали работать в curl и в библиотеке requests Python.

Это работает:

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

Это не работает:

$ 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

Но все же, если я объединю pems в p12, это работает:

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

Но Python не поддерживает p12s, и это не работает:

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

Не жалуется, но не отправляет сертификат клиента.

1 ответ1

1

Краткий ответ: новая версия CURL теперь использует API-интерфейс безопасного транспорта Apple вместо API OpenSSL, и вам потребуется использовать формат P12 для сертификатов.

Смотрите описание здесь: http://curl.haxx.se/mail/archive-2013-10/0036.html

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .