Код работает на Ubuntu vagrant box, но на локальных MacO он не загружает сертификаты, говорящие
cURL error 58: SSL: Can't load the certificate "..." and its private key: OSStatus -25299
Я исследовал, что у Mac есть точка поддержки родного API OS X вместо OpenSSL.
И мне нужно конвертировать pem + cert в PKCS12 как это.
openssl pkcs12 -export -in ./client.crt -inkey ./client.pem -out client.p12
Но это не работает для меня, потому что мой сервер PHP находится на Ubuntu, и я не хочу ломать то, что работает. Моя задача — заставить его работать на Mac.
Я бы предпочел установить curl с поддержкой openssl. Я попробовал это:
$ brew uninstall curl
$ brew install curl --with-openssl
$ brew link curl --force
$ curl --version
Но это не решило проблему.
Пожалуйста, скажите мне, что я сделал не так.
Спасибо.
установка curl с помощью brew и с поддержкой openssl, как указано в вопросе, является правильным подходом. однако вам нужно явно вызвать его из директории установки /usr/local/opt/curl/bin/curl -v -k --key..
как brew не связывает его с / usr / local, как указано при установке
This formula is keg-only, which means it was not symlinked into /usr/local,
because macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.
If you need to have this software first in your PATH run:
echo 'export PATH="/usr/local/opt/curl/bin:$PATH"' >> ~/.zshrc
For compilers to find this software you may need to set:
LDFLAGS: -L/usr/local/opt/curl/lib
CPPFLAGS: -I/usr/local/opt/curl/include
For pkg-config to find this software you may need to set:
PKG_CONFIG_PATH: /usr/local/opt/curl/lib/pkgconfig
Других решений пока нет …