1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-24 07:42:22 +01:00
Files
archived-doc-ru/reference/openssl/configure.xml
2024-09-23 14:19:18 +03:00

139 lines
6.9 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: badd30777a8ce1e6ad58265e36dfa76452e90119 Maintainer: rjhdby Status: ready -->
<!-- Reviewed: no -->
<section xml:id="openssl.installation" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.install;
<para>
Для поддержки библиотеки OpenSSL в PHP необходимо скомпилировать библиотеку с опцией
<option role="configure">--with-openssl</option>.
</para>
<para>
Также библиотека OpenSSL устанавливает дополнительные требования для нормальной работы
во время исполнения. Самое главное, библиотеке OpenSSL требуется доступ к генераторам случайных и
псевдослучайных чисел; на большинстве систем Unix или Linux, это означает
доступ к устройствам <literal>/dev/urandom</literal> или <literal>/dev/random</literal>.
</para>
<para>
Опция конфигурации <option role="configure">--with-system-ciphers</option>
заставляет PHP использовать системный список шифров вместо жёстко заданного по умолчанию.
</para>
<note>
<title>Замечания для пользователей Win32</title>
<para>
&ext.windows.path.dll;
<filename>libeay32.dll</filename> или начиная
с OpenSSL 1.1 <filename>libcrypto-*.dll</filename>.
</para>
<para>
Дополнительно, если вы собираетесь использовать функции генерации
ключей и подписи сертификатов, вам придётся установить в системе корректный
файл <filename>openssl.cnf</filename>.
Мы включили демонстрационный конфигурационный файл в бинарную
поставку под win32. Он лежит в директории
<filename class="directory">extras/ssl</filename>.
</para>
<para>
PHP будет искать файл <filename>openssl.cnf</filename> по следующей логике:
<itemizedlist>
<listitem>
<simpara>Переменная окружения <literal>OPENSSL_CONF</literal>. Если установили, то
должна содержать путь (включая имя файла) до конфигурационного файла.
</simpara>
</listitem>
<listitem>
<simpara>переменная окружения <literal>SSLEAY_CONF</literal>. Если установлена, то
должна содержать путь (включая имя файла) до конфигурационного файла.
</simpara>
</listitem>
<listitem>
<simpara>
Поиск файла <filename>openssl.cnf</filename> будет выполняться по стандартному
пути для сертификатов, который задали при компиляции DLL-библиотеки. Обычно файл задают
как <filename>C:\Program Files\Common Files\SSL\openssl.cnf</filename> (x64)
или <filename>C:\Program Files (x86)\Common Files\SSL\openssl.cnf</filename> (x86),
или как <filename>C:\usr\local\ssl\openssl.cnf</filename> до PHP 7.4.0.
</simpara>
</listitem>
</itemizedlist>
</para>
<simpara>
При установке требуется определить, устанавливать ли файл по стандартному
пути или хранить файл в другом месте и задать путь к файлу через переменные окружения, что полезно
на виртуальных хостах. Обратите внимание, что путь по
умолчанию разрешается переопределить в скрипте через параметр
<parameter>options</parameter> функции, которой требуется этот файл.
</simpara>
<caution>
<simpara>
Убедитесь, что непривилегированным пользователям не разрешено изменять файл <filename>openssl.cnf</filename>.
</simpara>
</caution>
<simpara>
C OpenSSL 3.0.0, который с PHP 8.2.0 используется в Windows по умолчанию,
ряд алгоритмов устарел. Такие алгоритмы выходят из употребления,
криптографическое сообщество признаёт такие алгоритмы небезопасными.
Эти алгоритмы по-прежнему доступны через устаревшего поставщика —
файл <filename>extras/ssl/legacy.dll</filename>; работу с поставщиком
описывает раздел OpenSSL-руководства
<link xlink:href="&url.openssl.config;#Provider-Configuration">о конфигурации поставщика</link>.
</simpara>
</note>
<simplesect role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>7.4.0</entry>
<entry>
Опция конфигурации <option role="configure">--with-openssl[=DIR]</option> больше не принимает
аргумент каталога в пользу настройки переменной
<envar>PKG_CONFIG_PATH</envar> команды pkg-config в положение OpenSSL
или путём указания переменных <envar>OPENSSL_LIBS</envar>
и <envar>OPENSSL_CFLAGS</envar>.
</entry>
</row>
<row>
<entry>7.4.0</entry>
<entry>
Конфигурационный путь библиотеки OpenSSL по умолчанию изменили с <filename>C:\usr\local\ssl</filename>
на <filename>C:\Program Files\Common Files\SSL</filename> или
<filename>C:\Program Files (x86)\Common Files\SSL</filename>, соответственно.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</simplesect>
</section>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->