Grundlegende Schritte:
# echo -n | openssl s_client -showcerts -connect example.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /tmp/example.cert
# curl -v --cacert /tmp/example.cert https://example.com/
* About to connect() to example.com port 443 (#0)
* Trying 123.45.67.89... connected
* Connected to example.com (123.45.67.89) port 443 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
* CAfile: example.cert
CApath: none
* NSS error -12188
* Closing connection #0
* SSL connect error
curl: (35) SSL connect error
Ich habe versucht, pem mit einer Zertifikatskette, und auch nur als einfaches Host-Zertifikat.
Manchmal bekomme ich auch den Fehler Problem with the SSL CA cert (path? access rights?)
.
auch versucht (als vorübergehende Abhilfe):
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
# echo 'insecure' > $CURL_HOME/.curlrc
trotzdem werde ich mit enden SSL connect error
.
--cacert
dann jaAntworten:
Verwenden Sie keine Locke.
stream_context_create
funktioniert genauso gut.quelle