Aar*_*ron 12 php security ssl post ssl-certificate
我将使用PHP将一些数据从站点A发布到站点B. 站点A具有商业SSL证书.站点B将拥有自签名证书.这可行吗?如果没有,PHP(或Apache)中是否有任何配置选项可以设置为绕过限制?
Mar*_*c B 24
想必你会在服务器A上使用curl?curl中有几个选项可以禁用证书验证,这将允许通过自签名证书.该链接仍将被加密,但您将无法信任该服务器B确实是服务器B:
curlopt_ssl_verifypeer (checking the CA auth chain)
curlopt_ssl_verifyhost (hostname/certname match checks)
Run Code Online (Sandbox Code Playgroud)
PHP代码示例:
$ch = curl_init("https://example.com/example/path");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$response = curl_exec($ch);
Run Code Online (Sandbox Code Playgroud)
建议禁用的答案CURLOPT_SSL_VERIFYPEER
不应被接受。问题是“为什么它不能与 cURL 一起使用”,正如正确指出的那样,它是危险的。禁用证书检查为中间人攻击打开了大门,这接近于仅使用纯文本 http。
该错误可能是由于没有最新的 CA 根证书包引起的。这通常是一个带有一堆加密签名的文本文件,curl 使用这些签名来验证 host\xe2\x80\x99s SSL 证书。
\n\n您需要确保您安装的 PHP 具有这些文件之一,并且它\xe2\x80\x99s 是最新的(否则请在此处下载一个: http: //curl.haxx.se/docs/caextract.html) 。
\n\n然后在php.ini中设置:
\n\ncurl.cainfo = <absolute_path_to> cacert.pem\n
Run Code Online (Sandbox Code Playgroud)\n\n如果您在运行时设置它,请使用:
\n\ncurl_setopt ($ch, CURLOPT_CAINFO, dirname(__FILE__)."/cacert.pem");\n
Run Code Online (Sandbox Code Playgroud)\n\n出于安全原因,从/sf/answers/1650985031/复制了答案。
\n您可以通过将网站的证书添加到受信任的 CA 列表来发布到具有自签名证书的网站。我已经在 Debian 中测试过了,也许它也适用于 Ubuntu、CentOS 等。
首先获取自签名网站的证书(ssws=自签名网站):
openssl s_client -connect <ssws-hostname>:<ssws-port>
Run Code Online (Sandbox Code Playgroud)
按 Ctrl-C 退出 openssl 命令并检查输出。找到在这些标记之间编码的服务器的自签名证书:
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
Run Code Online (Sandbox Code Playgroud)
复制证书、标记等所有内容,并将其内容粘贴到新文件中,并为该文件指定“.crt”扩展名,例如“my-favorite-self-signed-website.crt”。然后...
sudo chmod 644 my-favorite-self-signed-website.crt
sudo chown root:root my-favorite-self-signed-website.crt
sudo mv my-favorite-self-signed-website.crt /usr/local/share/ca-certificates/.
sudo /usr/sbin/update-ca-certificates
Run Code Online (Sandbox Code Playgroud)
最后一个命令应指示“1 添加”,表明您的自签名网站现在是此计算机的真正可信实体。PHP 会自动从系统中获取此信息并排队。
除非您正在进行一些非常初步的开发/测试/集成,否则您不应该在 SSL/TLS 中禁用对等验证,正如其他答案中所提供的那样。如果没有对等验证,您还不如只使用纯 HTTP。
归档时间: |
|
查看次数: |
21958 次 |
最近记录: |