Cyber Coding Course

師其意,不泥其跡

修正CA設定問題

出現了以下錯誤,如何修正
GuzzleHttp \ Exception \ RequestException
cURL error 77: error setting certificate verify locations: CAfile: /usr/share/ca-certificates/mozilla/ComSign_CA.crt CApath: /etc/ssl/certs (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)

我們可以查看錯誤的路徑中是否有這個CA檔,沒有換一個就好了,例如下方我換成了TWCA_Global_Root_CA.crt
例如:可在php.ini中新增設定
[openssl]
openssl.cafile=/usr/share/ca-certificates/mozilla/TWCA_Global_Root_CA.crt
openssl.capath=/etc/ssl/certs
重啟後,可以用php指令在主機上檢測是否更正了。
php -r "print_r(openssl_get_cert_locations());"
結果:
Array
(
    [default_cert_file] => /usr/lib/ssl/cert.pem
    [default_cert_file_env] => SSL_CERT_FILE
    [default_cert_dir] => /usr/lib/ssl/certs
    [default_cert_dir_env] => SSL_CERT_DIR
    [default_private_dir] => /usr/lib/ssl/private
    [default_default_cert_area] => /usr/lib/ssl
    [ini_cafile] => /usr/share/ca-certificates/mozilla/TWCA_Global_Root_CA.crt
    [ini_capath] => /etc/ssl/certs
)




 

作者: Devin Yang