doumeng3080
doumeng3080
2016-11-30 23:22

如何在php.ini中向curl.cainfo添加多个ssl证书?

已采纳

I'm running Apache locally for developing multiple sites and would like to run them simultaneously. The sites talk to each other over ssl, and since it is a local setup, I'm using self-signed certificates.

To get php(5.5.26) to accept these certificates, I added them to the curl.cainfo property in php.ini. I got it to work with one certificate, but when I try adding multiple (3), it doesn't work (I don't get anything back when making a request from one site to the other in php). I tried the following formats:

Separate Lines:

curl.cainfo=/path/to/certificate.crt
curl.cainfo=/path/to/another/certificate.crt
curl.cainfo=/path/to/last/certificate.crt

Same line, comma separated curl.cainfo=/path/to/certificate.crt,/path/to/another/certificate.crt,/path/to/last/certificate.crt

Same line, colon separated curl.cainfo=/path/to/certificate.crt:/path/to/another/certificate.crt:/path/to/last/certificate.crt

Any other ideas?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • douliaopan1419 douliaopan1419 5年前

    The underlying CURLOPT_CAINFO option in libcurl only supports a single file name, and PHP/CURL merely passes on that string to libcurl. So no, you cannot pass more than one file name. You can however concatenate all those files into a single one, and point to that.

    点赞 评论 复制链接分享