使用此PHP脚本
jmeter -Jsample_variables=request,response -n -t test.jmx -l result.jtl
我没有错误。这似乎没问题。
预期结果应显示一条错误消息,指出证书名称<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPGET, true);
curl_setopt($ch, CURLOPT_URL, 'https://sf.net/');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
if (!curl_exec($ch)) {
echo "Error #" . curl_errno($ch) . ": " . curl_error($ch);
}
?>
与预期sourceforge.net
不匹配。你觉得怎么样?
答案 0 :(得分:2)
如果您访问sf.net,您将获得sf.net的证书而不是sourceforge.net的证书。 sf.net的证书有CN *.sf.net
和SAN DNS:*.sf.net, DNS:sf.net
。这意味着证书与URL匹配。不要对以下重定向到sourceforge.net
感到困惑,因为在此重定向中,它将获得一个对新目标有效的新证书。
除此之外,通过将CURLOPT_SSL_VERIFYPEER
设置为false,您将接受任何证书,无论它是否由本地受信任的CA颁发。设置CURLOPT_SSL_VERIFYHOST
也无济于事,因为两个设置相结合后,您将接受名为sf.net
的自签名证书,这使得中间人攻击变得微不足道。