- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/site_checker.php
- Класс: CSiteCheckerTest
- Вызов: CSiteCheckerTest::check_socket_ssl
function check_socket_ssl()
{
if (!file_exists($this->cafile) || filesize($this->cafile) == 0)
return $this->Result(null, GetMessage("MAIN_SC_TEST_SSL1"));
if (!$context = stream_context_create(
array(
'ssl' => array(
'verify_peer' => true,
'allow_self_signed' => false,
'cafile' => $this->cafile,
)
)
))
return false;
echo "Connection to ssl://{$this->host}:443 (certificate check enabled) ";
if ($res = stream_socket_client('ssl://'.$this->host.':443', $errno, $errstr, 10, STREAM_CLIENT_CONNECT, $context))
{
echo "Successn";
fclose($res);
return true;
}
echo "Failn";
if (!$context = stream_context_create(
array(
'ssl' => array(
'verify_peer' => false,
'allow_self_signed' => true,
'cafile' => $this->cafile,
)
)
))
return false;
echo "Connection to ssl://{$this->host}:443 ";
if ($res = stream_socket_client('ssl://'.$this->host.':443', $errno, $errstr, 10, STREAM_CLIENT_CONNECT, $context))
{
echo "Successn";
fclose($res);
return $this->Result(null, GetMessage("MAIN_SC_SSL_NOT_VALID"));
}
echo "Failn";
return $this->Result(null, GetMessage("MAIN_SC_NO_CONNECTTO", array('#HOST#' => 'https://'.$this->host)));
}