php – cURL无法在本地服务器中使用客户端证书
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – cURL无法在本地服务器中使用客户端证书,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1944字,纯文字阅读大概需要3分钟。
内容图文
我使用XAMPP设置了本地服务器.我有两个PHP脚本,一个发送者和一个接收者.我正在尝试使用HTTP over SSL(HTTPS)将XML文件从发件人发送到接收者.
我创建了一个自签名证书,配置了XAMPP,我在我的发件人上使用了这个代码:
<?php
/*
* XML Sender/Client.
*/
// Get our XML. You can declare it here or even load a file.
$xml = file_get_contents("data.xml");
// We send XML via CURL using POST with a http header of text/xml.
$ch = curl_init();
//curl_setopt($ch, CURLOPT_SSLVERSION,3);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_CAINFO, getcwd().'ipm.crt');
curl_setopt($ch, CURLOPT_SSLCERT, getcwd().'ipm.pem');
curl_setopt($ch, CURLOPT_SSLCERTPASSWD,'pass');
//i use this line only for debugging through fiddler. Must delete after done with debugging.
curl_setopt($ch, CURLOPT_PROXY, '127.0.0.1:8888');
// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, "https://ipv4.fiddler/iPM/receiver.php");
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/xml'));
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_REFERER, 'https://ipv4.fiddler/iPM/receiver.php');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$ch_result = curl_exec($ch);
echo "Result = ".$ch_result;
echo 'Curl error: ' . curl_error($ch);
curl_close($ch);
// Print CURL result.
?>
但是我总是得到这个错误:卷曲错误:无法使用客户端证书(找不到密钥或错误的密码?)
我有什么可能做错的?密码短语是单词pass.
我创建了我的.crt:
openssl req -config openssl.cnf -new -out ipm.csr -keyout ipm.pem
openssl rsa -in ipm.pem -out ipm.key
openssl x509 -in ipm.csr -out ipm.crt -req -signkey ipm.key -days 365
我不想将SSL_VERIFYPEER和SSL_VERIFYHOST设置为false.
解决方法:
尝试像这样交换文件:
curl_setopt($ch, CURLOPT_CAINFO, getcwd().'ipm.pem');
curl_setopt($ch, CURLOPT_SSLCERT, getcwd().'ipm.crt');
我怀疑你有错误的方式.
内容总结
以上是互联网集市为您收集整理的php – cURL无法在本地服务器中使用客户端证书全部内容,希望文章能够帮你解决php – cURL无法在本地服务器中使用客户端证书所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。