我必须从PHP向具有自签名证书的安全https服务器发出请求。我在cURL中有一个工作命令行,但在将其转换为正确且可用的PHP选项时遇到了很多问题。
工作cURL命令是这样的:
curl --cacert cert.pem
--key cert.key
--cert cert.crt
--header 'content-type: text/xml'
-X POST
--data @ftit-request.xml https://serverip/dip/DipWebservice > outputfile
有人可以给我一些关于如何在PHP中使用这种方法的提示吗?
答案 0 :(得分:1)
http://php.net/manual/en/book.curl.php
curl_setopt($ch, CURLOPT_VERBOSE, '1');
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, '1');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, '1');
curl_setopt($ch, CURLOPT_CAINFO, getcwd().'/cert/ca.crt');
curl_setopt($ch, CURLOPT_SSLCERT, getcwd().'/cert/mycert.pem');
curl_setopt($ch, CURLOPT_SSLCERTPASSWD, 'password');