2017-01-23 1 views
3
OS: Ubuntu 16.01 
PHP: 7/0 

Basierend auf einigen googeln und Eingabe von Fragen auf Stackoverflow, ich folgende Curl-Optionen einstellen:Fehler Einstellung Zertifikat Stellen überprüft

CURLOPT_SSL_VERIFYPEER => true, 
CURLOPT_SSL_VERIFYHOST => 2, 
CURLOPT_CAINFO = '/etc/ssl/certs', 

ich festgestellt, dass/etc/ssl/certs Verzeichnis vorhanden ist, und dass es aktuell ist.

Ich veränderte auch die Datei /etc/php/7.0/cli/php/ini:

openssl.capath='/etc/ssl/certs' 

Wenn ich versuche, den Curl-Anruf zu machen, bekomme ich folgende Fehlermeldung:

[error] => error setting certificate verify locations: 
    CAfile: /etc/ssl/certs 
    CApath: /etc/ssl/certs 

ich bearbeitete die Berechtigungen in der Datei/etc/ssl/certs:

rwxr-xr-x 

Aber ich bin mit dem gleichen Fehler.

Irgendwelche Ideen?

Antwort

1

CURLOPT_CAINFO sollte nur gesetzt werden, wenn die zu verwendenden Zertifikate nur in einer Datei vorhanden sind. Wenn Sie ein ganzes Verzeichnis verwenden möchten (wie Sie es normalerweise unter Ubuntu tun möchten), setzen Sie nur den Wert CURLOPT_CAPATH.

Von the docs:

CURLOPT_CAINFO: The name of a file holding one or more certificates to verify the peer with.

CURLOPT_CAPATH: A directory that holds multiple CA certificates.

Verwandte Themen